Filter out invalid formats for sparse buffer texture queries
These formats are valid for textures, but not texture buffers
according to ARB_texture_buffer_object.
Affects:
KHR-GL46.sparse_texture2_tests.StandardPageSizesTestCase
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I0063ab333176958f5362b18b3e8363f033375efc
diff --git a/external/openglcts/modules/gl/gl4cSparseTexture2Tests.cpp b/external/openglcts/modules/gl/gl4cSparseTexture2Tests.cpp
index b5f1508..5fcde06 100644
--- a/external/openglcts/modules/gl/gl4cSparseTexture2Tests.cpp
+++ b/external/openglcts/modules/gl/gl4cSparseTexture2Tests.cpp
@@ -415,6 +415,26 @@
const PageSizePair& format = *formIter;
const PageSizeStruct& page = format.second;
+ if (target == GL_TEXTURE_BUFFER) {
+ /* filter out invalid texture buffer formats according to ARB_texture_buffer_object */
+ switch (format.first) {
+ case GL_RGB10_A2:
+ case GL_RGB10_A2UI:
+ case GL_R11F_G11F_B10F:
+ case GL_RGB9_E5:
+ case GL_RGB565:
+ case GL_R8_SNORM:
+ case GL_RG8_SNORM:
+ case GL_RGBA8_SNORM:
+ case GL_R16_SNORM:
+ case GL_RG16_SNORM:
+ case GL_RGBA16_SNORM:
+ continue;
+ default:
+ break;
+ }
+ }
+
GLint pageSizeX;
GLint pageSizeY;
GLint pageSizeZ;