[Piglit] [PATCH] util: Fix visual selection when using waffle

Marek Olšák maraeo at gmail.com
Mon Nov 5 15:57:24 PST 2012


Why hasn't this patch been pushed yet?

I guess we could later drop the ALPHA flag and have just RGB and RGBA.

Marek

On Mon, Oct 15, 2012 at 8:41 PM, Chad Versace
<chad.versace at linux.intel.com> wrote:
> Only request a visual with alpha if the test requests
> PIGLIT_GL_VISUAL_ALPHA.
>
> When I wrote the waffle backend, I misunderstood the meaning of GLUT_RGBA.
> I interpreted GLUT_RGBA to indicate a request for a visual with all of
> RGBA channels present. Actually, it just indicates a request for a visual
> with RGBA color model, as opposed to GLUT_LUMINANCE and GLUT_INDEX.
>
> Fixes regression in fs-texelFetchOffest-2D.
>
> Reported-by: Marek Olšák <maraeo at gmail.com>
> Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
> ---
>  tests/util/piglit-framework-gl.h                         |  8 ++++++++
>  tests/util/piglit-framework-gl/piglit_winsys_framework.c | 11 +++++------
>  2 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/tests/util/piglit-framework-gl.h b/tests/util/piglit-framework-gl.h
> index 3ac0849..326bdbf 100644
> --- a/tests/util/piglit-framework-gl.h
> +++ b/tests/util/piglit-framework-gl.h
> @@ -34,6 +34,14 @@
>   * Each enum has the same value of its corresponding GLUT enum. That is, for
>   * each X, `PIGLIT_GL_VISUAL_X == GLUT_X`.
>   *
> + * Note that PIGLIT_GL_VISUAL_RGBA is an alias for PIGLIT_GL_VISUAL_RGB and is
> + * always selected.  From the documentation of glutInitDisplayMode in
> + * Kilgard's GLUT:
> + *
> + *     Note that GLUT_RGBA selects the RGBA color model, but it does not
> + *     request any bits of alpha (sometimes called an alpha buffer or
> + *     destination alpha) be allocated. To request alpha, specify GLUT_ALPHA.
> + *
>   * \see piglit_gl_test_config::window_visual
>   */
>  enum piglit_gl_visual {
> diff --git a/tests/util/piglit-framework-gl/piglit_winsys_framework.c b/tests/util/piglit-framework-gl/piglit_winsys_framework.c
> index fc08bbc..020321b 100644
> --- a/tests/util/piglit-framework-gl/piglit_winsys_framework.c
> +++ b/tests/util/piglit-framework-gl/piglit_winsys_framework.c
> @@ -82,18 +82,17 @@ choose_config_attribs(const struct piglit_gl_test_config *test_config)
>         static int32_t attrib_list[64];
>         int i = 0;
>
> -       /* It is impossible to not request RGBA because PIGLIT_GL_VISUAL_RGB and
> -        * PIGLIT_GL_VISUAL_RGBA are both 0. That is, (display_mode & (PIGLIT_GL_VISUAL_RGB
> -        * | PIGLIT_GL_VISUAL_RGBA)) is unconditonally true.
> -        */
>         attrib_list[i++] = WAFFLE_RED_SIZE;
>         attrib_list[i++] = 1;
>         attrib_list[i++] = WAFFLE_GREEN_SIZE;
>         attrib_list[i++] = 1;
>         attrib_list[i++] = WAFFLE_BLUE_SIZE;
>         attrib_list[i++] = 1;
> -       attrib_list[i++] = WAFFLE_ALPHA_SIZE;
> -       attrib_list[i++] = 1;
> +
> +       if (test_config->window_visual & PIGLIT_GL_VISUAL_ALPHA) {
> +               attrib_list[i++] = WAFFLE_ALPHA_SIZE;
> +               attrib_list[i++] = 1;
> +       }
>
>         if (test_config->window_visual & PIGLIT_GL_VISUAL_DEPTH) {
>                 attrib_list[i++] = WAFFLE_DEPTH_SIZE;
> --
> 1.7.11.7
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list