[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