[Mesa-dev] [PATCH 2/2] i965/gen8: Handle the MUL dest hazard exception

Ben Widawsky ben at bwidawsk.net
Fri Nov 21 11:19:07 PST 2014


On Fri, Nov 21, 2014 at 11:09:44AM -0800, Matt Turner wrote:
> On Fri, Nov 21, 2014 at 10:50 AM, Ben Widawsky
> <benjamin.widawsky at intel.com> wrote:
> > Fix one of the few cases where we can't reliable touch the destination hazard
> > bits. I am explicitly doing this patch individually so it is easy to backport. I
> > was tempted to do this patch before the previous patch which reorganized the
> > code, but I believe even doing that first, this is still easy to backport.
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86268
> > Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> > ---
> >  src/mesa/drivers/dri/i965/brw_vec4.cpp | 20 ++++++++++++++++++--
> >  src/mesa/drivers/dri/i965/brw_vec4.h   |  1 +
> >  2 files changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > index 0c2bbe9..d583f27 100644
> > --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > @@ -841,9 +841,25 @@ vec4_visitor::move_push_constants_to_pull_constants()
> >  }
> >
> >  /* Conditions for which we want to avoid setting the dependency control bits */
> > -static bool
> > -is_dep_ctrl_safe(vec4_instruction *inst)
> > +bool
> > +vec4_visitor::is_dep_ctrl_safe(vec4_instruction *inst)
> >  {
> > +#define IS_DWORD(reg) \
> > +   (reg.type == BRW_REGISTER_TYPE_UD || \
> > +    reg.type == BRW_REGISTER_TYPE_D)
> 
> I don't really love the macro, but meh.
> 
> With the comments about #1 addressed, these two are
> 
> Reviewed-by: Matt Turner <mattst88 at gmail.com>
> 
> Did they fix anything that you can tell?

Yes. It does fix the hang (and make the ES3 test pass). I've asked QA to
confirm. They confirmed a more rudimentary form yesterday.

-- 
Ben Widawsky, Intel Open Source Technology Center


More information about the mesa-dev mailing list