From: Francisco Jerez Date: Thu, 3 Sep 2015 14:08:16 +0000 (+0300) Subject: i965: Keep track of whether LRI is allowed in the context struct. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4841cab01a2a6d308c00b4039f1fb1a29e44ed74;p=mesa.git i965: Keep track of whether LRI is allowed in the context struct. This stores the result of can_do_pipelined_register_writes() in the context struct so we can find out later whether LRI can be used to program the L3 configuration. v2: * Split change of gen check in can_do_pipelined_register_writes (jljusten) Reviewed-by: Jordan Justen Reviewed-by: Kristian Høgsberg --- diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index abc6d564cf8..2fee6a7797f 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -865,6 +865,11 @@ struct brw_context bool use_rep_send; bool use_resource_streamer; + /** + * Whether LRI can be used to write register values from the batch buffer. + */ + bool can_do_pipelined_register_writes; + /** * Some versions of Gen hardware don't do centroid interpolation correctly * on unlit pixels, causing incorrect values for derivatives near triangle diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index 8a1ec324e2c..2fde0740b47 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -320,6 +320,8 @@ intelInitExtensions(struct gl_context *ctx) } brw->predicate.supported = false; + brw->can_do_pipelined_register_writes = + can_do_pipelined_register_writes(brw); if (brw->gen >= 7) { ctx->Extensions.ARB_conservative_depth = true; @@ -336,7 +338,7 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.ARB_shader_storage_buffer_object = true; ctx->Extensions.EXT_shader_samples_identical = true; - if (can_do_pipelined_register_writes(brw)) { + if (brw->can_do_pipelined_register_writes) { ctx->Extensions.ARB_draw_indirect = true; ctx->Extensions.ARB_transform_feedback2 = true; ctx->Extensions.ARB_transform_feedback3 = true;