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 <jordan.l.justen@intel.com>
Reviewed-by: Kristian Høgsberg  <krh@bitplanet.net>
This commit is contained in:
Francisco Jerez 2015-09-03 17:08:16 +03:00
parent 50c2713726
commit 4841cab01a
2 changed files with 8 additions and 1 deletions

View file

@ -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

View file

@ -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;