diff options
author | Neil Roberts <neil@linux.intel.com> | 2017-11-02 15:01:48 -0400 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2017-11-02 15:09:17 -0700 |
commit | 86e77d20ae6be18ba2bd6f900a6ceacdf2d20d0d (patch) | |
tree | bc68063c1f93c5cd3fb8b984feb57e4efca44f52 | |
parent | 7ca75fbafd4d0b926b2c8db41650e44912309bcb (diff) |
i965: Enable flush controlpatches-for-ajax
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Neil Roberts <neil@linux.intel.com>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 20 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.c | 2 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 60584e2744..8181cc376d 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -850,7 +850,9 @@ brwCreateContext(gl_api api, return false; } - if (ctx_config->attribute_mask & ~__DRIVER_CONTEXT_ATTRIB_RESET_STRATEGY) { + if (ctx_config->attribute_mask & + ~(__DRIVER_CONTEXT_ATTRIB_RESET_STRATEGY | + __DRIVER_CONTEXT_ATTRIB_RELEASE_BEHAVIOR)) { *dri_ctx_error = __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE; return false; } @@ -859,6 +861,20 @@ brwCreateContext(gl_api api, ((ctx_config->attribute_mask & __DRIVER_CONTEXT_ATTRIB_RESET_STRATEGY) && ctx_config->reset_strategy != __DRI_CTX_RESET_NO_NOTIFICATION); + GLenum release_behavior = GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH; + if (ctx_config->attribute_mask & __DRIVER_CONTEXT_ATTRIB_RELEASE_BEHAVIOR) { + switch (ctx_config->release_behavior) { + case __DRI_CTX_RELEASE_BEHAVIOR_NONE: + release_behavior = GL_NONE; + break; + case __DRI_CTX_RELEASE_BEHAVIOR_FLUSH: + break; + default: + *dri_ctx_error = __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE; + return false; + } + } + struct brw_context *brw = rzalloc(NULL, struct brw_context); if (!brw) { fprintf(stderr, "%s: failed to alloc context\n", __func__); @@ -1030,6 +1046,8 @@ brwCreateContext(gl_api api, ctx->Const.RobustAccess = GL_TRUE; } + ctx->Const.ContextReleaseBehavior = release_behavior; + if (INTEL_DEBUG & DEBUG_SHADER_TIME) brw_init_shader_time(brw); diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 10064c3236..f628effc5b 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -1431,6 +1431,7 @@ static const __DRIextension *screenExtensions[] = { &intelRendererQueryExtension.base, &dri2ConfigQueryExtension.base, &dri2NoErrorExtension.base, + &dri2FlushControlExtension.base, NULL }; @@ -1441,6 +1442,7 @@ static const __DRIextension *intelRobustScreenExtensions[] = { &intelImageExtension.base, &intelRendererQueryExtension.base, &dri2ConfigQueryExtension.base, + &dri2FlushControlExtension.base, &dri2Robustness.base, &dri2NoErrorExtension.base, NULL |