Signed-off-by: Adam Jackson <a...@redhat.com> --- src/glx/drisw_glx.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index a07feb9..c2f8c4b 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -410,7 +410,7 @@ drisw_create_context_attribs(struct glx_screen *base, unsigned api; int reset; int release; - uint32_t ctx_attribs[2 * 4]; + uint32_t ctx_attribs[2 * 5]; unsigned num_ctx_attribs = 0; if (!psc->base.driScreen) @@ -434,7 +434,8 @@ drisw_create_context_attribs(struct glx_screen *base, if (reset != __DRI_CTX_RESET_NO_NOTIFICATION) return NULL; - if (release != __DRI_CTX_RELEASE_BEHAVIOR_FLUSH) + if (release != __DRI_CTX_RELEASE_BEHAVIOR_FLUSH && + release != __DRI_CTX_RELEASE_BEHAVIOR_NONE) return NULL; if (shareList) { @@ -455,6 +456,10 @@ drisw_create_context_attribs(struct glx_screen *base, ctx_attribs[num_ctx_attribs++] = major_ver; ctx_attribs[num_ctx_attribs++] = __DRI_CTX_ATTRIB_MINOR_VERSION; ctx_attribs[num_ctx_attribs++] = minor_ver; + if (release != __DRI_CTX_RELEASE_BEHAVIOR_FLUSH) { + ctx_attribs[num_ctx_attribs++] = __DRI_CTX_ATTRIB_RELEASE_BEHAVIOR; + ctx_attribs[num_ctx_attribs++] = release; + } if (flags != 0) { ctx_attribs[num_ctx_attribs++] = __DRI_CTX_ATTRIB_FLAGS; @@ -641,6 +646,10 @@ driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions) psc->rendererQuery = (__DRI2rendererQueryExtension *) extensions[i]; __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer"); } + if (strcmp(extensions[i]->name, __DRI2_FLUSH_CONTROL) == 0) { + __glXEnableDirectExtension(&psc->base, + "GLX_ARB_context_flush_control"); + } } } -- 2.4.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev