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;