Use safe glFramebufferTexture* function
authorjames.glanville <james.glanville@imgtec.com>
Wed, 16 Aug 2017 10:50:19 +0000 (11:50 +0100)
committerMika Isojärvi <misojarvi@google.com>
Sat, 2 Sep 2017 22:08:15 +0000 (15:08 -0700)
glFramebufferTexture() is only supported when GL_EXT_geometry_shader is
present. Use glFramebufferTextureLayer() instead so that testing is
possible on unextended ES3.1 contexts.

Components: AOSP
Bug: 65317295
Test: Ran tests on couple of Google devices
Affects:
dEQP-GLES31.functional.shaders.framebuffer_fetch.basic.framebuffer_texture_level

Change-Id: Iaf75d17e5d1077c1a6f591c3ebfca62c465d4378

modules/gles31/functional/es31fShaderFramebufferFetchTests.cpp

index 1bd8ce2..c9b0c69 100644 (file)
@@ -1225,7 +1225,7 @@ TextureLevelTestCase::IterateResult TextureLevelTestCase::iterate (void)
                tcu::TextureLevel                       result                  (getReadPixelFormat(m_texFmt), VIEWPORT_WIDTH >> level, VIEWPORT_HEIGHT >> level);
                tcu::TextureLevel                       reference               = genReferenceTexture(level, levelColors, uniformColor);
 
-               m_gl.framebufferTexture(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, m_texColorBuffer, level);
+               m_gl.framebufferTextureLayer(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, m_texColorBuffer, level, 0);
 
                genUniformColor(uniformColor);
                render();