Check for EGL_KHR_gl_colorspace before using it
authorCourtney Goeltzenleuchter <courtneygo@google.com>
Tue, 5 Sep 2017 23:48:27 +0000 (17:48 -0600)
committerCourtney Goeltzenleuchter <courtneygo@google.com>
Wed, 6 Sep 2017 00:18:43 +0000 (18:18 -0600)
Bug: 65376495
Test: adb -d shell am start \
        -n com.drawelements.deqp/android.app.NativeActivity \
        -e cmdLine '"deqp --deqp-case=dEQP-EGL.functional.wide_color.* \
        --deqp-log-filename=/sdcard/dEQP-Log.qpa"'

Change-Id: Ief654c998e93d72899225120b0ca1ab2fa3ca624

modules/egl/teglWideColorTests.cpp

index 4508433..e8147ff 100644 (file)
@@ -100,6 +100,7 @@ public:
        void                            init                                            (void);
        void                            deinit                                          (void);
        void                            checkPixelFloatSupport          (void);
+       void                            checkColorSpaceSupport          (void);
        void                            checkDisplayP3Support           (void);
        void                            checkDisplayP3LinearSupport (void);
        void                            check1010102Support                     (void);
@@ -291,6 +292,14 @@ void WideColorTest::checkPixelFloatSupport (void)
                TCU_THROW(NotSupportedError, "EGL_EXT_pixel_format_float is not supported");
 }
 
+void WideColorTest::checkColorSpaceSupport (void)
+{
+       const Library&  egl     = m_eglTestCtx.getLibrary();
+
+       if (!eglu::hasExtension(egl, m_eglDisplay, "EGL_KHR_gl_colorspace"))
+               TCU_THROW(NotSupportedError, "EGL_KHR_gl_colorspace is not supported");
+}
+
 void WideColorTest::checkDisplayP3Support (void)
 {
        const Library&  egl     = m_eglTestCtx.getLibrary();
@@ -609,6 +618,9 @@ void WideColorSurfaceTest::init (void)
                TCU_THROW(NotSupportedError, "EGL_KHR_gl_colorspace is not supported");
 
        switch (m_colorSpace) {
+               case EGL_GL_COLORSPACE_SRGB_KHR:
+                       checkColorSpaceSupport();
+                       break;
                case EGL_GL_COLORSPACE_DISPLAY_P3_EXT:
                        checkDisplayP3Support();
                        break;