[Piglit] New piglit/waffle with older X server

Chad Versace chad.versace at linux.intel.com
Wed Feb 20 13:18:55 PST 2013

On 02/20/2013 12:26 PM, Carl Worth wrote:
> I recently ran into a bunch of piglit tests not getting run, (returning
> "skip"), when they used to work fine. The tests say things like:
> 	piglit: info: Failed to create GL 2.0 compatibility context
> 	piglit: info: Failed to create any GL context
> I tracked the failure down via gdb to the following line of code in
> waffle (glx_config.c):
>             if (attrs->context_full_version != 10 && !dpy->ARB_create_context) {
>                 wcore_errorf(WAFFLE_ERROR_UNSUPPORTED_ON_PLATFORM,
>                              "GLX_ARB_create_context is required in order to "
>                              "request a GL version not equal to the default "
>                              "value 1.0");
>                 return false;
>             }
> In my case, attrs->context_full_version is 20.
> When I asked about this in IRC, Eric helped me out a bit:
> 	<anholt> cworth: your x server is old, and piglit/waffle don't
> 	fall back to just making an old context and seeing if it's good
> 	enough.
> I'll go ahead and upgrade my X server so I can get things running again,
> but I'm left with the following questions:
>   1. I'm curious what's the new thing required in the X server here?
>      I'm obviously running tests that worked previously, so I'm not
>      really needing any new behavior. So this looks like a regression in
>      piglit/waffle.

This is definitely a piglit, not waffle regression. I suspect commit 3a92ffa0e.

>   2. Assuming this is a bug, should the missing fallback code be added
>      to piglit or to waffle?

Paul suggested a reasonable fallback path. The fallback requires calling
glXMakeCurrent and glGetString, which shouldn't be done by waffle.

>   3. If waffle, Chad do you have a bug tracker set up for waffle? If
>      not, shall we add a component to bugs.freedesktop.org?

There's no bugtracker, but I wish there was.

>   4. If we don't add automatic fallback code, is there some logical
>      place that we could put a better error message in place? It was not
>      at all obvious to me from "failed to create context" that my X
>      server had suddenly gotten too old, (when it worked previously).

Waffle reports good error messages, but Piglit doesn't. I'll look into updating
Piglit to report Waffle error messages in full.

More information about the Piglit mailing list