[waffle] [PATCH] glx: Query proper extension string for ARB_create_context etc.

Jordan Justen jljusten at gmail.com
Wed Jun 5 23:56:47 PDT 2013


This commit causes piglit to not be able to create a context in most
cases on Ubuntu 12.04, which has xserver 1.11.4.

Here is some debug info Chad requested:
$ PIGLIT_DEBUG=1 bin/1-1-linear-texture
piglit: debug: waffle_context_create failed due to
WAFFLE_ERROR_UNKNOWN: glXCreateContextAttribsARB failed
piglit: info: Failed to create GL 1.0 compatibility context
piglit: info: Failed to create any GL context
PIGLIT: {'result': 'skip' }

On Mon, Jun 3, 2013 at 10:55 AM, Paul Berry <stereotype441 at gmail.com> wrote:
> Previously we were using glXQueryExtensionsString() to see whether the
> implementation supported ARB_create_context,
> ARB_create_context_profile, and EXT_create_context_es_profile.  This
> is the wrong query--those extensions show up in the *client* extension
> string, so we need to use glXGetClientString().
>
> This allows us to create core contexts using GLX.
> ---
>  src/waffle/glx/glx_display.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/src/waffle/glx/glx_display.c b/src/waffle/glx/glx_display.c
> index a29fb3c..15c52ae 100644
> --- a/src/waffle/glx/glx_display.c
> +++ b/src/waffle/glx/glx_display.c
> @@ -51,8 +51,7 @@ static bool
>  glx_display_set_extensions(struct glx_display *self)
>  {
>
> -    const char *s = glXQueryExtensionsString(self->x11.xlib,
> -                                             self->x11.screen);
> +    const char *s = glXGetClientString(self->x11.xlib, GLX_EXTENSIONS);
>      if (!s) {
>          wcore_errorf(WAFFLE_ERROR_UNKNOWN,
>                       "glXQueryExtensionsString failed");
> --
> 1.8.3
>
> _______________________________________________
> waffle mailing list
> waffle at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/waffle


More information about the waffle mailing list