We're soon going to be calling brw_alloc_reg_set() from outside of the visitor, where we don't have the precomputed "max_grf" variable handy.
Signed-off-by: Kenneth Graunke <[email protected]> Cc: Paul Berry <[email protected]> --- src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp index 61515db..b86b006 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp @@ -96,8 +96,10 @@ vec4_visitor::reg_allocate_trivial() } static void -brw_alloc_reg_set(struct brw_context *brw, int base_reg_count) +brw_alloc_reg_set(struct brw_context *brw) { + int base_reg_count = brw->gen >= 7 ? GEN7_MRF_HACK_START : BRW_MAX_GRF; + /* After running split_virtual_grfs(), almost all VGRFs will be of size 1. * SEND-from-GRF sources cannot be split, so we also need classes for each * potential message length. @@ -176,7 +178,6 @@ vec4_visitor::reg_allocate() { unsigned int hw_reg_mapping[virtual_grf_count]; int payload_reg_count = this->first_non_payload_grf; - int base_reg_count = max_grf; /* Using the trivial allocator can be useful in debugging undefined * register access as a result of broken optimization passes. @@ -186,7 +187,7 @@ vec4_visitor::reg_allocate() calculate_live_intervals(); - brw_alloc_reg_set(brw, base_reg_count); + brw_alloc_reg_set(brw); int node_count = virtual_grf_count; int first_payload_node = node_count; -- 1.8.3.4 _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
