Makes sense, Reviewed-by: Iago Toral Quiroga <[email protected]>
On Mon, 2016-01-11 at 16:15 -0800, Kenneth Graunke wrote: > .length() on an unsized SSBO variable doesn't actually read any data > from the SSBO, and is allowed on variables marked 'writeonly'. > > Fixes compute shader compilation in Shadow of Mordor. > > Signed-off-by: Kenneth Graunke <[email protected]> > --- > src/glsl/ast_to_hir.cpp | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp > index f3966d7..13696a3 100644 > --- a/src/glsl/ast_to_hir.cpp > +++ b/src/glsl/ast_to_hir.cpp > @@ -106,6 +106,15 @@ public: > return found; > } > > + virtual ir_visitor_status visit_enter(ir_expression *ir) > + { > + /* .length() doesn't actually read anything */ > + if (ir->operation == ir_unop_ssbo_unsized_array_length) > + return visit_continue_with_parent; > + > + return visit_continue; > + } > + > private: > ir_variable *found; > }; _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
