Module: Mesa Branch: master Commit: 315c4c315e311674c840069174244eef97c92705 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=315c4c315e311674c840069174244eef97c92705
Author: Tapani Pälli <[email protected]> Date: Thu Nov 19 13:12:13 2015 +0200 glsl: handle case where index is array deref in optimize_split_arrays Previously pass did not traverse to those array dereferences which were used as indices to arrays. This fixes Synmark2 Gl42CSCloth application issues. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Juha-Pekka Heikkila <[email protected]> --- src/glsl/opt_array_splitting.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/glsl/opt_array_splitting.cpp b/src/glsl/opt_array_splitting.cpp index 9e73f3c..89ce76b 100644 --- a/src/glsl/opt_array_splitting.cpp +++ b/src/glsl/opt_array_splitting.cpp @@ -188,6 +188,10 @@ ir_array_reference_visitor::visit_enter(ir_dereference_array *ir) if (entry && !ir->array_index->as_constant()) entry->split = false; + /* If the index is also array dereference, visit index. */ + if (ir->array_index->as_dereference_array()) + visit_enter(ir->array_index->as_dereference_array()); + return visit_continue_with_parent; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
