Don't delare arrays as static
m_texture_1D and friends may have different values on each invocation of
gl4cts::GetTextureSubImage::Errors::testTwoDimmensionalTextureErrors()
on a full CTS run. However, the rules for 'static const' initializers
may prevent the values from being updated after the first run.
I discovered this while trying to track down failures in
KHR-GL46.get_texture_sub_image.errors_test that only started occuring
with the 3rd visual tested in a full CTS run. Running the test by
itself or testing that visual by itself via glcts would not reproduce
the error. I added some extra debug logging to the driver, and I found
that testOneDimmensionalTextureErrors() and
testTwoDimmensionalTextureErrors() were using different names for the
GL_TEXTURE_1D texture. I then discovered that the targets of the
textures used from testTwoDimmensionalTextureErrors() were {
GL_TEXTURE_2D, GL_TEXTURE_RECTANGE, GL_TEXTURE_2D } instead of {
GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D }
See also https://bugs.freedesktop.org/show_bug.cgi?id=104154
Components: OpenGL
VK-GL-CTS issue: 912
Affects:
KHR-GL46.get_texture_sub_image.errors_test
Change-Id: I3ce061d9de75df46ff69a7eea4b88f6d17164f30
diff --git a/external/openglcts/modules/gl/gl4cGetTextureSubImageTests.cpp b/external/openglcts/modules/gl/gl4cGetTextureSubImageTests.cpp
index 57c3487..9b2ef0c 100644
--- a/external/openglcts/modules/gl/gl4cGetTextureSubImageTests.cpp
+++ b/external/openglcts/modules/gl/gl4cGetTextureSubImageTests.cpp
@@ -505,7 +505,7 @@
const glw::Functions& gl = m_context.getRenderContext().getFunctions();
/* Test. */
- static const struct
+ const struct
{
glw::GLuint id;
const glw::GLchar* target_name;
@@ -542,7 +542,7 @@
}
/* Test (compressed textures). */
- static const struct
+ const struct
{
glw::GLuint id;
const glw::GLchar* target_name;