From: Dave Airlie Date: Tue, 17 May 2016 03:47:59 +0000 (+1000) Subject: glsl/ast: for geom shaders allow stream flags in input flags. X-Git-Tag: android-x86-6.0-r1~787 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3b8b6be7bb35291827b758038e4c99b25aced30c;p=android-x86%2Fexternal-mesa.git glsl/ast: for geom shaders allow stream flags in input flags. This fixes: GL45-CTS.shader_subroutine.subroutines_with_separate_shader_objects Since we set the stream flags earlier on all geom shaders, we shouldn't fall over later if we find one. Reviewed-by: Chris Forbes Signed-off-by: Dave Airlie --- diff --git a/src/compiler/glsl/ast_type.cpp b/src/compiler/glsl/ast_type.cpp index 4fb4ac0df61..c44dcc605ae 100644 --- a/src/compiler/glsl/ast_type.cpp +++ b/src/compiler/glsl/ast_type.cpp @@ -175,9 +175,12 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc, /* Geometry shaders can have several layout qualifiers * assigning different stream values. */ - if (state->stage == MESA_SHADER_GEOMETRY) + if (state->stage == MESA_SHADER_GEOMETRY) { allowed_duplicates_mask.flags.i |= stream_layout_mask.flags.i; + input_layout_mask.flags.i |= + stream_layout_mask.flags.i; + } if (is_single_layout_merge && !state->has_enhanced_layouts() && (this->flags.i & q.flags.i & ~allowed_duplicates_mask.flags.i) != 0) {