[Piglit] [PATCH 5/7] khr_texture_compression_astc: Add sRGB skip decode test

Nanley Chery nanleychery at gmail.com
Tue Jul 26 18:28:22 UTC 2016


On Fri, Jul 22, 2016 at 02:01:35PM -0700, Anuj Phogat wrote:
> This adds the testing of EXT_texture_sRGB_decode with ASTC
> compressed textures.
> 
> Cc: Nanley Chery <nanley.g.chery at intel.com>
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>

Patches 4 and 5 are,
Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>

> ---
>  tests/all.py                                       |  2 +-
>  .../khr_compressed_astc-miptree.c                  | 26 +++++++++++++++++++---
>  2 files changed, 24 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/all.py b/tests/all.py
> index 6db24ad..e2998d0 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -4355,7 +4355,7 @@ with profile.group_manager(
>      g(['khr_compressed_astc-basic_gl'], 'basic-gl')
>      g(['khr_compressed_astc-basic_gles2'], 'basic-gles')
>  
> -    for subtest in ('hdr', 'ldr', 'srgb', "srgb-fp"):
> +    for subtest in ('hdr', 'ldr', 'srgb', "srgb-fp", "srgb-sd"):
>          g(['khr_compressed_astc-miptree_gl', '-subtest', subtest],
>             'miptree-gl {}'.format(subtest))
>          g(['khr_compressed_astc-miptree_gles2', '-subtest', subtest],
> 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 61edc5f..da43cb8 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
> @@ -60,6 +60,7 @@ enum test_type
>  	TEST_TYPE_LDR,
>  	TEST_TYPE_SRGB,
>  	TEST_TYPE_SRGB_FP,
> +	TEST_TYPE_SRGB_SD,
>  };
>  
>  enum piglit_result
> @@ -69,6 +70,7 @@ static enum test_type ldr_test  = TEST_TYPE_LDR;
>  static enum test_type hdr_test  = TEST_TYPE_HDR;
>  static enum test_type srgb_test = TEST_TYPE_SRGB;
>  static enum test_type srgb_fp_test = TEST_TYPE_SRGB_FP;
> +static enum test_type srgb_skip_test = TEST_TYPE_SRGB_SD;
>  static const struct piglit_subtest subtests[] = {
>  	{
>  		"LDR Profile",
> @@ -94,6 +96,12 @@ static const struct piglit_subtest subtests[] = {
>  		test_miptrees,
>  		&srgb_fp_test,
>  	},
> +	{
> +		"sRGB skip decode",
> +		"srgb-sd",
> +		test_miptrees,
> +		&srgb_skip_test,
> +	},
>  	{NULL},
>  };
>  
> @@ -159,7 +167,7 @@ load_texture(const char *dir1, const char *dir2,
>  }
>  
>  /** Compares the compressed texture against the decompressed texture */
> -bool draw_compare_levels(bool check_error,
> +bool draw_compare_levels(bool check_error, bool srgb_skip_decode,
>  			GLint level_pixel_size_loc, GLint pixel_offset_loc,
>  			GLuint compressed_tex, GLuint decompressed_tex)
>  {
> @@ -179,12 +187,20 @@ bool draw_compare_levels(bool check_error,
>  
>  		/* Draw miplevel of compressed texture. */
>  		glBindTexture(GL_TEXTURE_2D, compressed_tex);
> +		if (srgb_skip_decode)
> +			glTexParameteri(GL_TEXTURE_2D,
> +					GL_TEXTURE_SRGB_DECODE_EXT,
> +					GL_SKIP_DECODE_EXT);
>  		glUniform2f(pixel_offset_loc, x, y);
>  		glDrawArrays(GL_TRIANGLE_FAN, 0, NUM_VERTICES);
>  
>  		/* Draw miplevel of decompressed texture. */
>  		if (!check_error) {
>  			glBindTexture(GL_TEXTURE_2D, decompressed_tex);
> +			if (srgb_skip_decode)
> +				glTexParameteri(GL_TEXTURE_2D,
> +						GL_TEXTURE_SRGB_DECODE_EXT,
> +						GL_SKIP_DECODE_EXT);
>  			glUniform2f(pixel_offset_loc, LEVEL0_WIDTH + x, y);
>  			glDrawArrays(GL_TRIANGLE_FAN, 0, NUM_VERTICES);
>  		}
> @@ -224,9 +240,10 @@ test_miptrees(void* input_type)
>  {
>  	const enum test_type subtest = *(enum test_type*) input_type;
>  	const bool is_srgb_test = subtest == TEST_TYPE_SRGB;
> +	const bool is_srgb_skip_decode_test = subtest == TEST_TYPE_SRGB_SD;
>  	const bool is_hdr_test  = subtest == TEST_TYPE_HDR;
>  
> -	static const char * tests[4] = {"hdr", "ldrl", "ldrs", "ldrs"};
> +	static const char * tests[5] = {"hdr", "ldrl", "ldrs", "ldrs", "ldrs"};
>  	static const char * block_dim_str[14] = {
>  		"4x4",
>  		"5x4",
> @@ -248,6 +265,9 @@ test_miptrees(void* input_type)
>  	GLint level_pixel_size_loc = glGetUniformLocation(prog,
>  							"level_pixel_size");
>  
> +	if (is_srgb_skip_decode_test)
> +		piglit_require_extension("GL_EXT_texture_sRGB_decode");
> +
>  	/*  Check for error color if an LDR-only sys reading an HDR
>  	 *  texture. No need to draw a reference mipmap in this case.
>  	 */
> @@ -283,7 +303,7 @@ test_miptrees(void* input_type)
>  
>  		/* Draw and compare each level of the two textures */
>  		glClear(GL_COLOR_BUFFER_BIT);
> -		if (!draw_compare_levels(check_error,
> +		if (!draw_compare_levels(check_error, is_srgb_skip_decode_test,
>  					level_pixel_size_loc,
>  					pixel_offset_loc,
>  					tex_compressed,
> -- 
> 2.5.5
> 
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list