[Mesa-dev] [PATCH 6/9] glx: Implement ARB_context_flush_control in drisw too
Adam Jackson
ajax at redhat.com
Tue May 12 08:54:47 PDT 2015
Signed-off-by: Adam Jackson <ajax at 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
More information about the mesa-dev
mailing list