On Fri, Sep 19, 2014 at 5:34 PM, Matt Turner <matts...@gmail.com> wrote:
> On Fri, Sep 19, 2014 at 1:10 PM, Jason Ekstrand <ja...@jlekstrand.net> > wrote: > > We have this wonderful offset() function for advancing registers, but > we're > > not using it. Using offset() allows us to do some sanity checking and > > avoid manually touching fs_reg::reg_offset. In a few commits, we will > make > > offset do even more nifty things for us. > > > > Signed-off-by: Jason Ekstrand <jason.ekstr...@intel.com> > > --- > > src/mesa/drivers/dri/i965/brw_fs.cpp | 18 +-- > > src/mesa/drivers/dri/i965/brw_fs_cse.cpp | 12 +- > > src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 4 +- > > src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 137 > ++++++++++------------ > > 4 files changed, 78 insertions(+), 93 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp > b/src/mesa/drivers/dri/i965/brw_fs.cpp > > index af8c087..ea91705 100644 > > --- a/src/mesa/drivers/dri/i965/brw_fs.cpp > > +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp > > @@ -310,8 +310,8 @@ fs_visitor::VARYING_PULL_CONSTANT_LOAD(const fs_reg > &dst, > > inst->mlen = 1 + dispatch_width / 8; > > } > > > > - vec4_result.reg_offset += (const_offset & 3) * scale; > > - instructions.push_tail(MOV(dst, vec4_result)); > > + fs_reg result = offset(vec4_result, (const_offset & 3) * scale); > > + instructions.push_tail(MOV(dst, result)); > > Isn't this going to cause us to copy an fs_reg twice, rather than just > setting .reg_offset? > > I'd like to check the generated code. > What's your concern there? Just that we're useing more CPU? --Jason
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev