Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-pra...@amd.com>

On 07/08/2019 04:42, Ilia Mirkin wrote:
> The shader has size1x32, but the images are 4-component. In such a case,
> the results are undefined. Make it a single component.
> 
> Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
> ---
>  .../image_functions.c                            | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/spec/ext_shader_image_load_store/image_functions.c 
> b/tests/spec/ext_shader_image_load_store/image_functions.c
> index 22a3dfc72..baa2c24f8 100644
> --- a/tests/spec/ext_shader_image_load_store/image_functions.c
> +++ b/tests/spec/ext_shader_image_load_store/image_functions.c
> @@ -64,7 +64,7 @@ static const char* vs =
>  static GLuint
>  create_texture()
>  {
> -     static int data[4 * TEX_WIDTH];
> +     static int data[TEX_WIDTH];
>       GLuint texture;
>       glGenTextures(1, &texture);
>       glBindTexture(GL_TEXTURE_1D, texture);
> @@ -75,7 +75,7 @@ create_texture()
>       glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_REPEAT);
>  
>       memset(data, 0, sizeof(data));
> -     glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA32I, TEX_WIDTH, 0, 
> GL_RGBA_INTEGER, GL_INT, data);
> +     glTexImage1D(GL_TEXTURE_1D, 0, GL_R32I, TEX_WIDTH, 0, GL_RED_INTEGER, 
> GL_INT, data);
>  
>       return texture;
>  }
> @@ -84,7 +84,7 @@ static void
>  read_texture(void* data, size_t s)
>  {
>       glGetTexImage(GL_TEXTURE_1D, 0,
> -                   GL_RGBA_INTEGER,
> +                   GL_RED_INTEGER,
>                     GL_INT,
>                     data);
>  }
> @@ -92,7 +92,7 @@ read_texture(void* data, size_t s)
>  static GLuint
>  create_buffer_texture()
>  {
> -     static int data[4 * TEX_WIDTH];
> +     static int data[TEX_WIDTH];
>       GLuint texture, buffer;
>       glGenTextures(1, &texture);
>       glBindTexture(GL_TEXTURE_BUFFER, texture);
> @@ -103,7 +103,7 @@ create_buffer_texture()
>       glBindBuffer(GL_ARRAY_BUFFER, buffer);
>       glBufferStorage(GL_ARRAY_BUFFER, sizeof(data), data, GL_MAP_READ_BIT);
>  
> -     glTexBuffer(GL_TEXTURE_BUFFER, GL_RGBA32I, buffer);
> +     glTexBuffer(GL_TEXTURE_BUFFER, GL_R32I, buffer);
>  
>       return texture;
>  }
> @@ -139,9 +139,9 @@ run_test(void * _data)
>       GLint image_location = glGetUniformLocation(program, "image");
>       GLint wrap_location = glGetUniformLocation(program, "wrap_value");
>       GLuint texture = test->create_texture();
> -     GLint read_back[4 * TEX_WIDTH];
> +     GLint read_back[TEX_WIDTH];
>  
> -     glBindImageTextureEXT(0, texture, 0, GL_FALSE, 0, GL_READ_WRITE, 
> GL_RGBA32I);
> +     glBindImageTextureEXT(0, texture, 0, GL_FALSE, 0, GL_READ_WRITE, 
> GL_R32I);
>  
>       glUseProgram(program);
>       glUniform1i(image_location, 0);
> @@ -159,7 +159,7 @@ run_test(void * _data)
>       /* The first component of the first pixel has been written to by all 
> invocations */
>       pass = pass && read_back[0] == test->expected_value;
>       /* All other pixels/components should be untouched */
> -     for (int i = 1; i < 4 * TEX_WIDTH; i++) {
> +     for (int i = 1; i < TEX_WIDTH; i++) {
>               pass = pass && read_back[i] == 0;
>       }
>  
> 
_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to