[Piglit] [PATCH] arb_internalformat_query2: don't test TEXTURE_BUFFER against GetTexParameter
Alejandro PiƱeiro
apinheiro at igalia.com
Tue Oct 24 09:25:35 UTC 2017
---
Alternative fix to "arb_internalformat_query2: fix TBO testing
(v3)". As mentioned on a different email, testing with target
TEXTURE_BUFFER is correct, and we need to get the unsupported answer.
This patch prevents to do the sanity check against GetTexParameteriv,
because as Marek and Ilia pointed, it is not a valid enum for that
one.
.../image-format-compatibility-type.c | 29 +++++++++++++++++++---
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c b/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
index 28bf2926a..081fb78d5 100644
--- a/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
+++ b/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
@@ -38,6 +38,24 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
PIGLIT_GL_TEST_CONFIG_END
+/*
+ * On this test we use GetTexParameteriv to check the correct
+ * value. We can't use texture_targets because TEXTURE_BUFFER is not a
+ * valid enum for GetTexParameteriv
+ */
+static const GLenum get_tex_parameter_targets[] = {
+ GL_TEXTURE_1D,
+ GL_TEXTURE_1D_ARRAY,
+ GL_TEXTURE_2D,
+ GL_TEXTURE_2D_ARRAY,
+ GL_TEXTURE_3D,
+ GL_TEXTURE_CUBE_MAP,
+ GL_TEXTURE_CUBE_MAP_ARRAY,
+ GL_TEXTURE_RECTANGLE,
+ GL_TEXTURE_2D_MULTISAMPLE,
+ GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+};
+
enum piglit_result
piglit_display(void)
{
@@ -98,7 +116,7 @@ try_local(const GLenum *targets, unsigned num_targets,
bool error_test;
bool value_test;
bool supported;
- bool is_texture;
+ bool is_valid_target;
supported = check_query2_dependencies(pname, targets[i])
&& test_data_check_supported(data, targets[i],
@@ -109,16 +127,19 @@ try_local(const GLenum *targets, unsigned num_targets,
error_test =
piglit_check_gl_error(GL_NO_ERROR);
- is_texture = value_on_set((const GLint*)texture_targets, ARRAY_SIZE(texture_targets),
- (GLint) targets[i]);
+ is_valid_target = value_on_set((const GLint*)get_tex_parameter_targets,
+ ARRAY_SIZE(get_tex_parameter_targets),
+ (GLint) targets[i]);
- if (is_texture && supported) {
+ if (is_valid_target && supported) {
param = get_tex_parameter_value(targets[i], internalformats[j]);
error_test = error_test &&
piglit_check_gl_error(GL_NO_ERROR);
value_test = test_data_value_at_index(data, 0) == param;
} else {
+ if (targets[i] == GL_TEXTURE_BUFFER)
+ fprintf(stderr, "setting unsupported\n");
value_test = test_data_is_unsupported_response(data, pname);
}
--
2.11.0
More information about the Piglit
mailing list