[Piglit] [PATCH v2] ext_texture_norm16-render: support EXT_render_snorm interactions
Tapani Pälli
tapani.palli at intel.com
Thu Jun 7 06:08:48 UTC 2018
v2: EXT_render_snorm does not add new formats for glTexBuffer,
add separate flag to indicate glTexBuffer support (separate
from req_render that matched before)
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
---
tests/spec/ext_texture_norm16/render.c | 39 ++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/tests/spec/ext_texture_norm16/render.c b/tests/spec/ext_texture_norm16/render.c
index 32f601ad0..a6011e3f7 100644
--- a/tests/spec/ext_texture_norm16/render.c
+++ b/tests/spec/ext_texture_norm16/render.c
@@ -91,22 +91,23 @@ static const GLfloat vertex_data[] = {
1.0f, 0.0f
};
-static const struct fmt_test {
+static struct fmt_test {
GLenum iformat;
GLenum base_format;
unsigned bpp;
GLenum type;
bool req_render;
bool can_read;
+ bool can_texbuf;
} tests[] = {
- { GL_R16_EXT, GL_RED, 2, GL_UNSIGNED_SHORT, true, true, },
- { GL_RG16_EXT, GL_RG, 4, GL_UNSIGNED_SHORT, true, true, },
- { GL_RGB16_EXT, GL_RGB, 6, GL_UNSIGNED_SHORT, false, true, },
- { GL_RGBA16_EXT, GL_RGBA, 8, GL_UNSIGNED_SHORT, true, true, },
- { GL_R16_SNORM_EXT, GL_RED, 2, GL_SHORT, false, false, },
- { GL_RG16_SNORM_EXT, GL_RG, 4, GL_SHORT, false, false, },
- { GL_RGB16_SNORM_EXT, GL_RGB, 6, GL_SHORT, false, false, },
- { GL_RGBA16_SNORM_EXT, GL_RGBA, 8, GL_SHORT, false, false, },
+ { GL_R16_EXT, GL_RED, 2, GL_UNSIGNED_SHORT, true, true, true },
+ { GL_RG16_EXT, GL_RG, 4, GL_UNSIGNED_SHORT, true, true, true },
+ { GL_RGB16_EXT, GL_RGB, 6, GL_UNSIGNED_SHORT, false, true, false },
+ { GL_RGBA16_EXT, GL_RGBA, 8, GL_UNSIGNED_SHORT, true, true, true },
+ { GL_R16_SNORM_EXT, GL_RED, 2, GL_SHORT, false, false, false },
+ { GL_RG16_SNORM_EXT, GL_RG, 4, GL_SHORT, false, false, false },
+ { GL_RGB16_SNORM_EXT, GL_RGB, 6, GL_SHORT, false, false, false },
+ { GL_RGBA16_SNORM_EXT, GL_RGBA, 8, GL_SHORT, false, false, false },
};
static GLuint prog;
@@ -330,11 +331,8 @@ test_format(const struct fmt_test *test)
{
bool pass = true;
- /* The req_render formats match with formats that are
- * supported by texture buffer objects.
- */
if (piglit_is_extension_supported("GL_OES_texture_buffer") &&
- test->req_render) {
+ test->can_texbuf) {
bool buf_test = buffer_test(test);
piglit_report_subtest_result(PIGLIT_RESULT(buf_test),
"format 0x%x TBO test",
@@ -422,8 +420,21 @@ piglit_display(void)
bool pass = true;
+ struct fmt_test *test = tests;
+ /* Toggle 'req_rend' for EXT_render_snorm compatible formats. */
+ if (piglit_is_extension_supported("GL_EXT_render_snorm")) {
+ for (unsigned i = 0; i < ARRAY_SIZE(tests); i++, test++) {
+ switch (test->iformat) {
+ case GL_R16_SNORM_EXT:
+ case GL_RG16_SNORM_EXT:
+ case GL_RGBA16_SNORM_EXT:
+ test->req_render = true;
+ }
+ }
+ }
+
/* Loop over each format. */
- const struct fmt_test *test = tests;
+ test = tests;
for (unsigned i = 0; i < ARRAY_SIZE(tests); i++, test++) {
bool fmt_pass = test_format(test);
piglit_report_subtest_result(PIGLIT_RESULT(fmt_pass),
--
2.14.4
More information about the Piglit
mailing list