[Piglit] [PATCH] primitive-restart-draw-mode: fix failures caused by precision issues
Brian Paul
brianp at vmware.com
Mon Mar 24 07:45:59 PDT 2014
Reviewed-by: Brian Paul <brianp at vmware.com>
On 03/22/2014 12:20 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Instead of offsetting the vertex position for the second half of the screen,
> setup both halves as separate viewports.
> ---
> tests/general/primitive-restart-draw-mode.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/tests/general/primitive-restart-draw-mode.c b/tests/general/primitive-restart-draw-mode.c
> index 9bf47b4..722a440 100644
> --- a/tests/general/primitive-restart-draw-mode.c
> +++ b/tests/general/primitive-restart-draw-mode.c
> @@ -249,20 +249,26 @@ piglit_display(void)
>
> glClear(GL_COLOR_BUFFER_BIT);
> glUseProgram(prog);
> - glUniform2f(window_size_loc, piglit_width, piglit_height);
> + glUniform2f(window_size_loc, piglit_width/2, piglit_height);
> glVertexAttribPointer(vertex_attr, 2, GL_FLOAT, GL_FALSE,
> sizeof(vertex_patterns[test->pattern][0]),
> vertex_patterns[test->pattern]);
> glEnableVertexAttribArray(vertex_attr);
>
> for (col = 0; col < NUM_COLS; col++) {
> + if (col == 0)
> + glViewport(0, 0, piglit_width/2, piglit_height);
> + else
> + glViewport(piglit_width/2, 0, piglit_width/2, piglit_height);
> +
> for (row = 0; row < NUM_ROWS; row++) {
> - glUniform2f(offset_loc, col * PATTERN_SIZE,
> + glUniform2f(offset_loc, 0,
> (NUM_ROWS - 1 - row) * PATTERN_SIZE);
> draw_pattern(row + 1, col == 0);
> }
> }
>
> + glViewport(0, 0, piglit_width, piglit_height);
> pass = piglit_probe_rect_halves_equal_rgba(0, 0, piglit_width,
> piglit_height) && pass;
> pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
>
More information about the Piglit
mailing list