Fixed ES2 fbo completeness tests
authorPiotr Byszewski <piotr.byszewski@mobica.com>
Wed, 17 Jan 2018 14:45:28 +0000 (15:45 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 1 Feb 2018 12:02:16 +0000 (07:02 -0500)
Twelve ES2 fbo completeness tests failed when they
were executed on hardware that also supports ES3.
This was fixed by detecting this case and verifying
tests results using ES3 rules.

Components: OpenGL

VK-GL-CTS issue: 288

Affects:
dEQP-GLES2.functional.fbo.completeness.renderable.*

Change-Id: I0377021a5a83cfb08c5222895e357182c2cafe67

modules/gles2/functional/es2fFboCompletenessTests.cpp

index a89967c..0db220a 100644 (file)
@@ -119,6 +119,12 @@ static const FormatKey s_es3NoExtTextureColorRenderableFormats[] =
 {
        GL_R8,
        GL_RG8,
+       GL_RGB8,
+       GL_RGBA4,
+       GL_RGB5_A1,
+       GL_RGBA8,
+       GL_RGB10_A2,
+       GL_RGB565,
 };
 
 // with ES3 core and GL_EXT_color_buffer_float
@@ -134,6 +140,19 @@ static const FormatKey s_es3NoExtOesTextureStencil8Formats[] =
        GL_STENCIL_INDEX8,
 };
 
+// DEQP_gles3_core_changed_features
+static const FormatKey s_es3NoExtDepthRenderable[] =
+{
+       GL_DEPTH_COMPONENT16,
+       GL_DEPTH_COMPONENT24,
+       GL_DEPTH24_STENCIL8,
+};
+
+static const FormatKey s_es3NoExtStencilRenderable[] =
+{
+       GL_DEPTH24_STENCIL8,
+};
+
 static const FormatExtEntry s_es2ExtFormats[] =
 {
        // The extension does not specify these to be color-renderable.
@@ -189,6 +208,21 @@ static const FormatExtEntry s_es2ExtFormats[] =
                (deUint32)(REQUIRED_RENDERABLE | STENCIL_RENDERABLE | TEXTURE_VALID),
                GLS_ARRAY_RANGE(s_es3NoExtOesTextureStencil8Formats)
        },
+       {
+               "DEQP_gles3_core_compatible GL_OES_texture_half_float GL_EXT_color_buffer_half_float",
+               (deUint32)(REQUIRED_RENDERABLE | COLOR_RENDERABLE),
+               GLS_ARRAY_RANGE(s_oesTextureHalfFloatFormats)
+       },
+       {
+               "DEQP_gles3_core_compatible",
+               (deUint32)(REQUIRED_RENDERABLE | DEPTH_RENDERABLE | RENDERBUFFER_VALID | TEXTURE_VALID),
+               GLS_ARRAY_RANGE(s_es3NoExtDepthRenderable)
+       },
+       {
+               "DEQP_gles3_core_compatible",
+               (deUint32)(REQUIRED_RENDERABLE | STENCIL_RENDERABLE | RENDERBUFFER_VALID | TEXTURE_VALID),
+               GLS_ARRAY_RANGE(s_es3NoExtStencilRenderable)
+       },
 };
 
 class ES2Checker : public Checker