glx: Prepare the DRI backends for GLX_EXT_no_config_context

This should be safe as these backends already support the EGL version of
this extension. DRI1 is not affected because it does not support
GLX_ARB_create_context anyway. DRI-Windows is not prepared to implement
this as there's no equivalent WGL extension, and wglCreateContextAttribs
seems to really want the HDC's pixel format to be set.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Adam Jackson 2017-11-07 11:36:52 -05:00
parent 74b701d84c
commit 3f66d54a2a
3 changed files with 7 additions and 6 deletions

View file

@ -278,7 +278,7 @@ dri2_create_context_attribs(struct glx_screen *base,
goto error_exit;
}
if (!glx_context_init(&pcp->base, &psc->base, &config->base))
if (!glx_context_init(&pcp->base, &psc->base, config_base))
goto error_exit;
ctx_attribs[num_ctx_attribs++] = __DRI_CTX_ATTRIB_MAJOR_VERSION;
@ -317,7 +317,7 @@ dri2_create_context_attribs(struct glx_screen *base,
pcp->driContext =
(*psc->dri2->createContextAttribs) (psc->driScreen,
api,
config->driConfig,
config ? config->driConfig : NULL,
shared,
num_ctx_attribs / 2,
ctx_attribs,

View file

@ -263,7 +263,7 @@ dri3_create_context_attribs(struct glx_screen *base,
goto error_exit;
}
if (!glx_context_init(&pcp->base, &psc->base, &config->base))
if (!glx_context_init(&pcp->base, &psc->base, config_base))
goto error_exit;
ctx_attribs[num_ctx_attribs++] = __DRI_CTX_ATTRIB_MAJOR_VERSION;
@ -297,7 +297,8 @@ dri3_create_context_attribs(struct glx_screen *base,
pcp->driContext =
(*psc->image_driver->createContextAttribs) (psc->driScreen,
api,
config->driConfig,
config ? config->driConfig
: NULL,
shared,
num_ctx_attribs / 2,
ctx_attribs,

View file

@ -455,7 +455,7 @@ drisw_create_context_attribs(struct glx_screen *base,
if (pcp == NULL)
return NULL;
if (!glx_context_init(&pcp->base, &psc->base, &config->base)) {
if (!glx_context_init(&pcp->base, &psc->base, config_base)) {
free(pcp);
return NULL;
}
@ -483,7 +483,7 @@ drisw_create_context_attribs(struct glx_screen *base,
pcp->driContext =
(*psc->swrast->createContextAttribs) (psc->driScreen,
api,
config->driConfig,
config ? config->driConfig : 0,
shared,
num_ctx_attribs / 2,
ctx_attribs,