[Piglit] [PATCH 1/3] glsl-kwin-blur: fix regressions after default window size change
Marek Olšák
maraeo at gmail.com
Sun Nov 11 08:28:34 PST 2012
For the series:
Reviewed-by: Marek Olšák <maraeo at gmail.com>
Tested-by: Marek Olšák <maraeo at gmail.com>
Marek
On Sun, Nov 11, 2012 at 3:48 PM, Brian Paul <brianp at vmware.com> wrote:
> These tests probe specific pixel locations so the 100x100 size can't
> be changed. Let the window be larger, but just draw to a 100x100 region.
> ---
> tests/shaders/glsl-kwin-blur-1.c | 29 +++++++++++++++++++----------
> tests/shaders/glsl-kwin-blur-2.c | 29 +++++++++++++++++++----------
> 2 files changed, 38 insertions(+), 20 deletions(-)
>
> diff --git a/tests/shaders/glsl-kwin-blur-1.c b/tests/shaders/glsl-kwin-blur-1.c
> index c3dff09..afd0982 100644
> --- a/tests/shaders/glsl-kwin-blur-1.c
> +++ b/tests/shaders/glsl-kwin-blur-1.c
> @@ -40,6 +40,14 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
>
> PIGLIT_GL_TEST_CONFIG_END
>
> +
> +/* Size of viewport and test region. Note that there are pixel probes at
> + * specific locations.
> + */
> +#define WIDTH 100
> +#define HEIGHT 100
> +
> +
> /*
> Note: In KWin, the code for these shaders is generated at runtime,
> based on the blur radius. This is what the code looks like
> @@ -140,8 +148,8 @@ static GLboolean test()
> int i;
>
> /* Pixel sizes in texture coordinates for the horizontal and vertical passes */
> - const float horizontal[2] = { 1.0 / piglit_width, 0 };
> - const float vertical[2] = { 0, 1.0 / piglit_height };
> + const float horizontal[2] = { 1.0 / WIDTH, 0 };
> + const float vertical[2] = { 0, 1.0 / HEIGHT };
>
> /* Texture and vertex coordinates */
> const float tc[] = { 0,1, 1,1, 0,0, 0,0, 1,1, 1,0 };
> @@ -157,7 +165,7 @@ static GLboolean test()
> glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
> - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, piglit_width, piglit_height, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0);
> + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, WIDTH, HEIGHT, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0);
>
> glUseProgram(prog);
> glUniform1i(uTexUnit, 0);
> @@ -169,12 +177,12 @@ static GLboolean test()
> glVertexPointer(2, GL_FLOAT, 0, vc);
>
> /* Horizontal pass */
> - glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, piglit_width, piglit_height);
> + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
> glUniform2fv(uPixelSize, 1, horizontal);
> glDrawArrays(GL_TRIANGLES, 0, 6);
>
> /* Vertical pass */
> - glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, piglit_width, piglit_height);
> + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
> glUniform2fv(uPixelSize, 1, vertical);
> glDrawArrays(GL_TRIANGLES, 0, 6);
>
> @@ -196,9 +204,9 @@ static GLboolean test()
> color[1] = color[0];
> color[2] = color[0];
> pass = piglit_probe_pixel_rgb(50, 18 + i, color) && pass;
> - pass = piglit_probe_pixel_rgb(50, piglit_height - 19 - i, color) && pass;
> + pass = piglit_probe_pixel_rgb(50, HEIGHT - 19 - i, color) && pass;
> pass = piglit_probe_pixel_rgb(18 + i, 50, color) && pass;
> - pass = piglit_probe_pixel_rgb(piglit_width - 19 - i, 50, color) && pass;
> + pass = piglit_probe_pixel_rgb(WIDTH - 19 - i, 50, color) && pass;
> }
>
> /* Test the corners */
> @@ -208,9 +216,9 @@ static GLboolean test()
> color[1] = color[0];
> color[2] = color[0];
> pass = piglit_probe_pixel_rgb(20 + i, 20 + i, color) && pass;
> - pass = piglit_probe_pixel_rgb(20 + i, piglit_height - 21 - i, color) && pass;
> - pass = piglit_probe_pixel_rgb(piglit_width - 21 - i, 20 + i, color) && pass;
> - pass = piglit_probe_pixel_rgb(piglit_width - 21 - i, piglit_height - 21 - i, color) && pass;
> + pass = piglit_probe_pixel_rgb(20 + i, HEIGHT - 21 - i, color) && pass;
> + pass = piglit_probe_pixel_rgb(WIDTH - 21 - i, 20 + i, color) && pass;
> + pass = piglit_probe_pixel_rgb(WIDTH - 21 - i, HEIGHT - 21 - i, color) && pass;
> }
>
> return pass;
> @@ -220,6 +228,7 @@ enum piglit_result piglit_display(void)
> {
> GLboolean pass;
>
> + glViewport(0, 0, WIDTH, HEIGHT);
> glClearColor(0.0, 0.0, 0.0, 0.0);
> glClear(GL_COLOR_BUFFER_BIT);
>
> diff --git a/tests/shaders/glsl-kwin-blur-2.c b/tests/shaders/glsl-kwin-blur-2.c
> index c58bb82..f692ebd 100644
> --- a/tests/shaders/glsl-kwin-blur-2.c
> +++ b/tests/shaders/glsl-kwin-blur-2.c
> @@ -40,6 +40,14 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
>
> PIGLIT_GL_TEST_CONFIG_END
>
> +
> +/* Size of viewport and test region. Note that there are pixel probes at
> + * specific locations.
> + */
> +#define WIDTH 100
> +#define HEIGHT 100
> +
> +
> /*
> Note: In KWin, the code for these shaders is generated at runtime,
> based on the blur radius. This is what the code looks like
> @@ -169,8 +177,8 @@ static GLboolean test()
> int i;
>
> /* Pixel sizes in texture coordinates for the horizontal and vertical passes */
> - const float horizontal[2] = { 1.0 / piglit_width, 0 };
> - const float vertical[2] = { 0, 1.0 / piglit_height };
> + const float horizontal[2] = { 1.0 / WIDTH, 0 };
> + const float vertical[2] = { 0, 1.0 / HEIGHT };
>
> /* Texture and vertex coordinates */
> const float tc[] = { 0,1, 1,1, 0,0, 0,0, 1,1, 1,0 };
> @@ -186,7 +194,7 @@ static GLboolean test()
> glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
> - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, piglit_width, piglit_height, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0);
> + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, WIDTH, HEIGHT, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0);
>
> glUseProgram(prog);
> glUniform1i(uTexUnit, 0);
> @@ -198,12 +206,12 @@ static GLboolean test()
> glVertexPointer(2, GL_FLOAT, 0, vc);
>
> /* Horizontal pass */
> - glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, piglit_width, piglit_height);
> + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
> glUniform2fv(uPixelSize, 1, horizontal);
> glDrawArrays(GL_TRIANGLES, 0, 6);
>
> /* Vertical pass */
> - glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, piglit_width, piglit_height);
> + glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
> glUniform2fv(uPixelSize, 1, vertical);
> glDrawArrays(GL_TRIANGLES, 0, 6);
>
> @@ -225,9 +233,9 @@ static GLboolean test()
> color[1] = color[0];
> color[2] = color[0];
> pass = piglit_probe_pixel_rgb(50, 12 + i, color) && pass;
> - pass = piglit_probe_pixel_rgb(50, piglit_height - 13 - i, color) && pass;
> + pass = piglit_probe_pixel_rgb(50, HEIGHT - 13 - i, color) && pass;
> pass = piglit_probe_pixel_rgb(12 + i, 50, color) && pass;
> - pass = piglit_probe_pixel_rgb(piglit_width - 13 - i, 50, color) && pass;
> + pass = piglit_probe_pixel_rgb(WIDTH - 13 - i, 50, color) && pass;
> }
>
> /* Test the corners */
> @@ -237,9 +245,9 @@ static GLboolean test()
> color[1] = color[0];
> color[2] = color[0];
> pass = piglit_probe_pixel_rgb(16 + i, 16 + i, color) && pass;
> - pass = piglit_probe_pixel_rgb(16 + i, piglit_height - 17 - i, color) && pass;
> - pass = piglit_probe_pixel_rgb(piglit_width - 17 - i, 16 + i, color) && pass;
> - pass = piglit_probe_pixel_rgb(piglit_width - 17 - i, piglit_height - 17 - i, color) && pass;
> + pass = piglit_probe_pixel_rgb(16 + i, HEIGHT - 17 - i, color) && pass;
> + pass = piglit_probe_pixel_rgb(WIDTH - 17 - i, 16 + i, color) && pass;
> + pass = piglit_probe_pixel_rgb(WIDTH - 17 - i, HEIGHT - 17 - i, color) && pass;
> }
>
> return pass;
> @@ -249,6 +257,7 @@ enum piglit_result piglit_display(void)
> {
> GLboolean pass;
>
> + glViewport(0, 0, WIDTH, HEIGHT);
> glClearColor(0.0, 0.0, 0.0, 0.0);
> glClear(GL_COLOR_BUFFER_BIT);
>
> --
> 1.7.3.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
More information about the Piglit
mailing list