From: Nanley Chery <nanley.g.ch...@intel.com> Enable Jenkins to report the result of each individual subtest for the array and miptree ASTC tests. Modify the miptree test to only run one subset of ASTC formats at a time.
v2. Modify miptree test to only check the given subtest. Use the -subtest option to run a specific subtest. v3. Indent function arguments and misc cleanups (Ilia). Initialize texture objects to 0 (Ilia). Signed-off-by: Nanley Chery <nanley.g.ch...@intel.com> --- tests/all.py | 12 ++-- .../khr_compressed_astc-miptree.c | 84 +++++++++------------- 2 files changed, 42 insertions(+), 54 deletions(-) diff --git a/tests/all.py b/tests/all.py index cfafa71..29ee6a9 100644 --- a/tests/all.py +++ b/tests/all.py @@ -4223,12 +4223,16 @@ with profile.group_manager( PiglitGLTest, grouptools.join('spec', 'khr_texture_compression_astc')) as g: g(['arb_texture_compression-invalid-formats', 'astc'], 'invalid formats') - g(['khr_compressed_astc-array_gl'], 'array-gl') - g(['khr_compressed_astc-array_gles3'], 'array-gles') g(['khr_compressed_astc-basic_gl'], 'basic-gl') g(['khr_compressed_astc-basic_gles2'], 'basic-gles') - g(['khr_compressed_astc-miptree_gl'], 'miptree-gl') - g(['khr_compressed_astc-miptree_gles2'], 'miptree-gles') + + for subtest in ('odd', 'even'): + g(['khr_compressed_astc-array_gl', '-subtest', subtest]) + g(['khr_compressed_astc-array_gles3', '-subtest', subtest]) + + for subtest in ('ldr', 'srgb', 'hdr'): + g(['khr_compressed_astc-miptree_gl', '-subtest', subtest]) + g(['khr_compressed_astc-miptree_gles2', '-subtest', subtest]) with profile.group_manager( PiglitGLTest, diff --git a/tests/spec/khr_texture_compression_astc/khr_compressed_astc-miptree.c b/tests/spec/khr_texture_compression_astc/khr_compressed_astc-miptree.c index 20f2415..6429c2e 100644 --- a/tests/spec/khr_texture_compression_astc/khr_compressed_astc-miptree.c +++ b/tests/spec/khr_texture_compression_astc/khr_compressed_astc-miptree.c @@ -222,10 +222,9 @@ bool draw_compare_levels(bool check_error, bool check_srgb, enum piglit_result test_miptrees(void* input_type) { - int subtest = 0; - enum test_type * type = (enum test_type*) input_type; - bool is_srgb_test = *type == TEST_TYPE_SRGB; - bool is_hdr_test = *type == TEST_TYPE_HDR; + const enum test_type subtest = *(enum test_type*) input_type; + const bool is_srgb_test = subtest == TEST_TYPE_SRGB; + const bool is_hdr_test = subtest == TEST_TYPE_HDR; static const char * tests[3] = {"hdr", "ldrl", "ldrs"}; static const char * block_dim_str[14] = { @@ -245,62 +244,47 @@ test_miptrees(void* input_type) "12x12" }; - bool has_hdr = piglit_is_extension_supported( - "GL_KHR_texture_compression_astc_hdr"); - - /* If testing sRGB mode, fast-forward to the srgb test. */ - if (is_srgb_test) { - subtest = TEST_TYPE_SRGB; - } else { - /* Skip if on an HDR system not running the HDR test - * or if on an LDR system running the HDR test. - */ - if (has_hdr != is_hdr_test) - return PIGLIT_SKIP; + if (!is_srgb_test) piglit_require_extension("GL_EXT_texture_sRGB_decode"); - } - GLint pixel_offset_loc = glGetUniformLocation(prog, "pixel_offset"); GLint level_pixel_size_loc = glGetUniformLocation(prog, "level_pixel_size"); - /* Test each submode */ - for (; subtest < ARRAY_SIZE(tests); ++subtest) { - - /* Check for error color if an LDR-only sys reading an HDR - * texture. No need to draw a reference mipmap in this case. - */ - int check_error = !has_hdr && subtest == TEST_TYPE_HDR; - int block_dims = 0; - for (; block_dims < ARRAY_SIZE(block_dim_str); ++block_dims) { - - /* Texture objects. */ - GLuint tex_compressed; - GLuint tex_decompressed; - - /* Load texture for current submode and block size */ - load_texture("compressed", tests[subtest], + /* Check for error color if an LDR-only sys reading an HDR + * texture. No need to draw a reference mipmap in this case. + */ + const bool has_hdr = piglit_is_extension_supported( + "GL_KHR_texture_compression_astc_hdr"); + const bool check_error = is_hdr_test && !has_hdr; + int block_dims; + for (block_dims = 0; block_dims < ARRAY_SIZE(block_dim_str); ++block_dims) { + + /* Texture objects. */ + GLuint tex_compressed = 0; + GLuint tex_decompressed = 0; + + /* Load texture for current submode and block size */ + load_texture("compressed", tests[subtest], + block_dim_str[block_dims], + &tex_compressed); + if (!check_error) { + load_texture("decompressed", tests[subtest], block_dim_str[block_dims], - &tex_compressed); - if (!check_error) { - load_texture("decompressed", tests[subtest], - block_dim_str[block_dims], - &tex_decompressed); - } + &tex_decompressed); + } - /* Draw and compare each level of the two textures */ - glClear(GL_COLOR_BUFFER_BIT); - if (!draw_compare_levels(check_error, is_srgb_test, - level_pixel_size_loc, - pixel_offset_loc, - tex_compressed, - tex_decompressed)) { - piglit_loge("Mode %s Block %s.", + /* Draw and compare each level of the two textures */ + glClear(GL_COLOR_BUFFER_BIT); + if (!draw_compare_levels(check_error, is_srgb_test, + level_pixel_size_loc, + pixel_offset_loc, + tex_compressed, + tex_decompressed)) { + piglit_loge("Mode %s Block %s.", tests[subtest], block_dim_str[block_dims]); - return PIGLIT_FAIL; - } + return PIGLIT_FAIL; } } return PIGLIT_PASS; -- 2.6.2 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit