Commit cec2b7f8 by Geoff Lang Committed by Commit Bot

Allow the null backend to be used by dEQP.

BUG=angleproject:1468 Change-Id: Ife6f0001b9a6ae06c98385df47fc3887036f3a36 Reviewed-on: https://chromium-review.googlesource.com/412863 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
parent 44f26482
...@@ -52,6 +52,7 @@ const APIInfo g_eglDisplayAPIs[] = { ...@@ -52,6 +52,7 @@ const APIInfo g_eglDisplayAPIs[] = {
{"angle-d3d11", gpu::GPUTestConfig::kAPID3D11}, {"angle-d3d11", gpu::GPUTestConfig::kAPID3D11},
{"angle-gl", gpu::GPUTestConfig::kAPIGLDesktop}, {"angle-gl", gpu::GPUTestConfig::kAPIGLDesktop},
{"angle-gles", gpu::GPUTestConfig::kAPIGLES}, {"angle-gles", gpu::GPUTestConfig::kAPIGLES},
{"angle-null", gpu::GPUTestConfig::kAPIUnknown },
}; };
const APIInfo *g_initAPI = nullptr; const APIInfo *g_initAPI = nullptr;
......
...@@ -36,6 +36,7 @@ ANGLEPlatform::ANGLEPlatform() ...@@ -36,6 +36,7 @@ ANGLEPlatform::ANGLEPlatform()
angle::SetLowPriorityProcess(); angle::SetLowPriorityProcess();
#if (DE_OS == DE_OS_WIN32) #if (DE_OS == DE_OS_WIN32)
{
std::vector<eglw::EGLAttrib> d3d11Attribs; std::vector<eglw::EGLAttrib> d3d11Attribs;
d3d11Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE); d3d11Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
d3d11Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE); d3d11Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE);
...@@ -46,7 +47,9 @@ ANGLEPlatform::ANGLEPlatform() ...@@ -46,7 +47,9 @@ ANGLEPlatform::ANGLEPlatform()
auto *d3d11Factory = new ANGLENativeDisplayFactory( auto *d3d11Factory = new ANGLENativeDisplayFactory(
"angle-d3d11", "ANGLE D3D11 Display", d3d11Attribs, &mEvents); "angle-d3d11", "ANGLE D3D11 Display", d3d11Attribs, &mEvents);
m_nativeDisplayFactoryRegistry.registerFactory(d3d11Factory); m_nativeDisplayFactoryRegistry.registerFactory(d3d11Factory);
}
{
std::vector<eglw::EGLAttrib> d3d9Attribs; std::vector<eglw::EGLAttrib> d3d9Attribs;
d3d9Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE); d3d9Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
d3d9Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE); d3d9Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE);
...@@ -57,7 +60,9 @@ ANGLEPlatform::ANGLEPlatform() ...@@ -57,7 +60,9 @@ ANGLEPlatform::ANGLEPlatform()
auto *d3d9Factory = new ANGLENativeDisplayFactory( auto *d3d9Factory = new ANGLENativeDisplayFactory(
"angle-d3d9", "ANGLE D3D9 Display", d3d9Attribs, &mEvents); "angle-d3d9", "ANGLE D3D9 Display", d3d9Attribs, &mEvents);
m_nativeDisplayFactoryRegistry.registerFactory(d3d9Factory); m_nativeDisplayFactoryRegistry.registerFactory(d3d9Factory);
}
{
std::vector<eglw::EGLAttrib> d3d1193Attribs; std::vector<eglw::EGLAttrib> d3d1193Attribs;
d3d1193Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE); d3d1193Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
d3d1193Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE); d3d1193Attribs.push_back(EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE);
...@@ -72,9 +77,11 @@ ANGLEPlatform::ANGLEPlatform() ...@@ -72,9 +77,11 @@ ANGLEPlatform::ANGLEPlatform()
auto *d3d1193Factory = new ANGLENativeDisplayFactory( auto *d3d1193Factory = new ANGLENativeDisplayFactory(
"angle-d3d11-fl93", "ANGLE D3D11 FL9_3 Display", d3d1193Attribs, &mEvents); "angle-d3d11-fl93", "ANGLE D3D11 FL9_3 Display", d3d1193Attribs, &mEvents);
m_nativeDisplayFactoryRegistry.registerFactory(d3d1193Factory); m_nativeDisplayFactoryRegistry.registerFactory(d3d1193Factory);
}
#endif // (DE_OS == DE_OS_WIN32) #endif // (DE_OS == DE_OS_WIN32)
#if defined(ANGLE_USE_OZONE) || (DE_OS == DE_OS_ANDROID) #if defined(ANGLE_USE_OZONE) || (DE_OS == DE_OS_ANDROID)
{
std::vector<eglw::EGLAttrib> glesAttribs; std::vector<eglw::EGLAttrib> glesAttribs;
glesAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE); glesAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
glesAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE); glesAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE);
...@@ -83,8 +90,10 @@ ANGLEPlatform::ANGLEPlatform() ...@@ -83,8 +90,10 @@ ANGLEPlatform::ANGLEPlatform()
auto *glesFactory = new ANGLENativeDisplayFactory( auto *glesFactory = new ANGLENativeDisplayFactory(
"angle-gles", "ANGLE OpenGL ES Display", glesAttribs, &mEvents); "angle-gles", "ANGLE OpenGL ES Display", glesAttribs, &mEvents);
m_nativeDisplayFactoryRegistry.registerFactory(glesFactory); m_nativeDisplayFactoryRegistry.registerFactory(glesFactory);
}
#endif #endif
{
std::vector<eglw::EGLAttrib> glAttribs; std::vector<eglw::EGLAttrib> glAttribs;
glAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE); glAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
glAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE); glAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE);
...@@ -93,6 +102,18 @@ ANGLEPlatform::ANGLEPlatform() ...@@ -93,6 +102,18 @@ ANGLEPlatform::ANGLEPlatform()
auto *glFactory = new ANGLENativeDisplayFactory( auto *glFactory = new ANGLENativeDisplayFactory(
"angle-gl", "ANGLE OpenGL Display", glAttribs, &mEvents); "angle-gl", "ANGLE OpenGL Display", glAttribs, &mEvents);
m_nativeDisplayFactoryRegistry.registerFactory(glFactory); m_nativeDisplayFactoryRegistry.registerFactory(glFactory);
}
{
std::vector<eglw::EGLAttrib> nullAttribs;
nullAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
nullAttribs.push_back(EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE);
nullAttribs.push_back(EGL_NONE);
auto *nullFactory = new ANGLENativeDisplayFactory(
"angle-null", "ANGLE NULL Display", nullAttribs, &mEvents);
m_nativeDisplayFactoryRegistry.registerFactory(nullFactory);
}
m_contextFactoryRegistry.registerFactory(new eglu::GLContextFactory(m_nativeDisplayFactoryRegistry)); m_contextFactoryRegistry.registerFactory(new eglu::GLContextFactory(m_nativeDisplayFactoryRegistry));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment