Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com> On Fri, Feb 6, 2015 at 9:42 AM, Francisco Jerez <curroje...@riseup.net> wrote:
> Fixes metadata guess when instructions in the program specify a > destination register with non-zero reg_offset and when the payload of > a LOAD_PAYLOAD spans several registers. > --- > src/mesa/drivers/dri/i965/brw_fs.cpp | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp > b/src/mesa/drivers/dri/i965/brw_fs.cpp > index eccae06..163aa41 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp > @@ -3070,7 +3070,7 @@ fs_visitor::lower_load_payload() > > foreach_block_and_inst_safe (block, fs_inst, inst, cfg) { > if (inst->dst.file == GRF) { > - const int dst_reg = vgrf_to_reg[inst->dst.reg]; > + const int dst_reg = vgrf_to_reg[inst->dst.reg] + > inst->dst.reg_offset; > bool force_sechalf = inst->force_sechalf && > !inst->force_writemask_all; > bool toggle_sechalf = inst->dst.width == 16 && > @@ -3119,7 +3119,7 @@ fs_visitor::lower_load_payload() > } > > if (dst.file == GRF) { > - const int dst_reg = vgrf_to_reg[dst.reg]; > + const int dst_reg = vgrf_to_reg[dst.reg] + > dst.reg_offset; > const bool force_writemask = mov->force_writemask_all; > metadata[dst_reg].force_writemask_all = force_writemask; > metadata[dst_reg].force_sechalf = mov->force_sechalf; > -- > 2.1.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