[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