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

Timothy Arceri timothy.arceri at collabora.com
Wed Mar 2 22:38:40 UTC 2016


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?


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



More information about the mesa-dev mailing list