On Wed, Mar 25, 2015 at 7:18 PM, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > Don't propoate ARRAY > > This should fix: > https://bugs.freedesktop.org/show_bug.cgi?id=89759 > > Signed-off-by: Dave Airlie <airl...@redhat.com> > Cc: mesa-sta...@lists.freedesktop.org
Note that this disables propagating IN[] reads as well, which was apparently the point of this pass (based on the comments on the top). And while IN[] can never be modified, TEMP[] certainly can -- why have we never seen this issue with temps? Is that what the ACP tracking is for? (What does ACP stand for? A** Copy Propagation?) Perhaps you should do inst->src[0].file != PROGRAM_ARRAY ? > --- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > index db69a08..829644f 100644 > --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > @@ -3938,6 +3938,7 @@ glsl_to_tgsi_visitor::copy_propagate(void) > inst->dst[0].index == inst->src[0].index) && > !inst->dst[0].reladdr && > !inst->saturate && > + inst->src[0].file == PROGRAM_TEMPORARY && > !inst->src[0].reladdr && > !inst->src[0].reladdr2 && > !inst->src[0].negate) { > -- > 2.1.0 > > _______________________________________________ > 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