[Mesa-dev] [PATCH 1/2] glsl/opt_array_splitting: Fix crash when doing array indexing into other arrays

Iago Toral itoral at igalia.com
Thu Mar 3 07:22:28 UTC 2016


On Thu, 2016-03-03 at 09:38 +1100, Timothy Arceri wrote:
> On Mon, 2015-09-14 at 13:49 +0200, Iago Toral Quiroga wrote:
> > When we find indirect indexing into an array, the current
> > implementation
> > of the array spliiting optimization pass does not look further into
> > the
> > expression tree. However, if the variable expression involves
> > variable
> > indexing into other arrays, we can miss that these other arrays also
> > have
> > variable indexing. If that happens, the pass will crash later on
> > after
> > hitting an assertion put there to ensure that split arrays are in
> > fact
> > always indexed via constants:
> > 
> > shader_runner: opt_array_splitting.cpp:296:
> > void ir_array_splitting_visitor::split_deref(ir_dereference**):
> > Assertion `constant' failed.
> > 
> > This patch fixes the problem by letting the pass step into the
> > variable
> > index expression to identify these cases properly.
> 
> Makes sense to me. Both patches are:
> 
> Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
> 
> Will you be pushing the piglit test in the bug report when pushing this
> also?

Sure, thanks for the review!

Iago

> 
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89607
> > ---
> 
> 




More information about the mesa-dev mailing list