glsl: compute lvalues of [in]out parameters before inlined function body
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 19 Oct 2016 17:43:39 +0000 (19:43 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 2 Nov 2016 11:32:47 +0000 (12:32 +0100)
commit1ef505bb02b00a577c33e1af27d983abd14465e7
tree19af565b8ff128906fa369f664d99d6c90815d66
parent5aef14932ac047dc5f1af311a26b7f41b140d79f
glsl: compute lvalues of [in]out parameters before inlined function body

This is required when an out argument involves an array index that is either
a global variable modified by the function or another out argument in the
same function call.

Fixes the shaders/out-parameter-indexing/vs-inout-index-inout-* tests.

v2:
- modify the ir_dereference_array nodes in place
- use ir_hierarchical_visitor
v3: use base_ir (Ian Romanick)

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/compiler/glsl/opt_function_inlining.cpp