[Mesa-dev] [PATCH] i965: Avoid dependency hints on math opcodes

Mike Stroyan mike at lunarg.com
Thu Feb 20 16:55:52 PST 2014


Ian,

  Here is a shader_test version.  It lacks the sparkling uncertainty of the
pixel values in the previous animated example program.
It just gets all vertices uniformly wrong when I run it.


On Thu, Feb 20, 2014 at 4:31 PM, Ian Romanick <idr at freedesktop.org> wrote:

> On 02/12/2014 04:24 PM, mike at lunarg.com wrote:
> > From: Mike Stroyan <mike at LunarG.com>
> >
> >   Putting NoDDClr and NoDDChk dependency control on instruction
> > sequences that include math opcodes can cause corruption of channels.
> > Treat math opcodes like send opcodes and suppress dependency hinting.
>
> Since you've analyised the failure in the real application, can you
> produce a minimal shader_runner test case that exhibits the same
> problem?  Eric mentioned to me that he'd like to play with it to better
> understand what's going on...
>
> > Signed-off-by: Mike Stroyan <mike at LunarG.com>
> > Tested-by: Tony Bertapelli <anthony.p.bertapelli at intel.com>
> > ---
> >  src/mesa/drivers/dri/i965/brw_vec4.cpp | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp
> b/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > index dd23ed4..1c42ca8 100644
> > --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
> > @@ -717,6 +717,14 @@ vec4_visitor::opt_set_dependency_control()
> >              continue;
> >           }
> >
> > +         /* Dependency control does not work well over math
> instructions.
> > +          */
> > +         if (inst->is_math()) {
> > +            memset(last_grf_write, 0, sizeof(last_grf_write));
> > +            memset(last_mrf_write, 0, sizeof(last_mrf_write));
> > +            continue;
> > +         }
> > +
> >           /* Now, see if we can do dependency control for this
> instruction
> >            * against a previous one writing to its destination.
> >            */
> >
>
>


-- 

 Mike Stroyan - Software Architect
 LunarG, Inc.  - The Graphics Experts
 Cell:  (970) 219-7905
 Email: Mike at LunarG.com
 Website: http://www.lunarg.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140220/3cfdc846/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glsl-vs-math-dependency.shader_test
Type: application/octet-stream
Size: 2009 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140220/3cfdc846/attachment-0001.obj>


More information about the mesa-dev mailing list