Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
On 2015-07-01 11:51:39, Connor Abbott wrote: > From: Connor Abbott <cwabbo...@gmail.com> > > Before, we were setting payload_last_use_ip for unused payload > registers to 0, which made them interfere with whatever the first > instruction wrote to due to the workaround for SIMD16 uniform arguments. > Just use -1 to mean "unused" instead, and then skip setting any > interferences for unused payload registers. > > instructions in affected programs: 0 -> 0 > helped: 0 > HURT: 0 > GAINED: 1 > LOST: 0 > > Signed-off-by: Connor Abbott <connor.w.abb...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > index 1ee19e4..f25f2ec 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > @@ -341,7 +341,9 @@ fs_visitor::setup_payload_interference(struct ra_graph *g, > int loop_end_ip = 0; > > int payload_last_use_ip[payload_node_count]; > - memset(payload_last_use_ip, 0, sizeof(payload_last_use_ip)); > + for (int i = 0; i < payload_node_count; i++) > + payload_last_use_ip[i] = -1; > + > int ip = 0; > foreach_block_and_inst(block, fs_inst, inst, cfg) { > switch (inst->opcode) { > @@ -411,6 +413,9 @@ fs_visitor::setup_payload_interference(struct ra_graph *g, > } > > for (int i = 0; i < payload_node_count; i++) { > + if (payload_last_use_ip[i] == -1) > + continue; > + > /* Mark the payload node as interfering with any virtual grf that is > * live between the start of the program and our last use of the > payload > * node. > -- > 2.4.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev