diff options
author | marha <marha@users.sourceforge.net> | 2014-07-04 19:50:15 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-07-04 19:50:15 +0200 |
commit | fe03d6aef6338e43593f164b09ae993bcd0ecbdd (patch) | |
tree | 0fdb7e12fc82894e07b8b8141f2dbb00a93c60ad /mesalib/src/glsl/ast_type.cpp | |
parent | cfc5bafcb2db8c6e05d7be6bb7315960be08c0d8 (diff) | |
download | vcxsrv-fe03d6aef6338e43593f164b09ae993bcd0ecbdd.tar.gz vcxsrv-fe03d6aef6338e43593f164b09ae993bcd0ecbdd.tar.bz2 vcxsrv-fe03d6aef6338e43593f164b09ae993bcd0ecbdd.zip |
fontconfig mesa pixman xserver git update 4 July 2014
xserver commit a61ca6f006d70343c88fe45206fae0669d1e8971
pixman commit 6d2cf40166d81bfc63108504c8022dc4fec37ff5
fontconfig commit 5b22776999b6052afe0e829b1a0c0935bbe1e9f7
mesa commit 9a37eb8adb6558a4abf47774b583cb582a0ae116
Diffstat (limited to 'mesalib/src/glsl/ast_type.cpp')
-rw-r--r-- | mesalib/src/glsl/ast_type.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/mesalib/src/glsl/ast_type.cpp b/mesalib/src/glsl/ast_type.cpp index 017f23d0e..de4c1a410 100644 --- a/mesalib/src/glsl/ast_type.cpp +++ b/mesalib/src/glsl/ast_type.cpp @@ -122,18 +122,28 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc, ubo_binding_mask.flags.q.explicit_binding = 1; ubo_binding_mask.flags.q.explicit_offset = 1; + ast_type_qualifier stream_layout_mask; + stream_layout_mask.flags.i = 0; + stream_layout_mask.flags.q.stream = 1; + /* Uniform block layout qualifiers get to overwrite each * other (rightmost having priority), while all other * qualifiers currently don't allow duplicates. - * - * Geometry shaders can have several layout qualifiers + */ + ast_type_qualifier allowed_duplicates_mask; + allowed_duplicates_mask.flags.i = + ubo_mat_mask.flags.i | + ubo_layout_mask.flags.i | + ubo_binding_mask.flags.i; + + /* Geometry shaders can have several layout qualifiers * assigning different stream values. */ + if (state->stage == MESA_SHADER_GEOMETRY) + allowed_duplicates_mask.flags.i |= + stream_layout_mask.flags.i; - if ((state->stage != MESA_SHADER_GEOMETRY) && - (this->flags.i & q.flags.i & ~(ubo_mat_mask.flags.i | - ubo_layout_mask.flags.i | - ubo_binding_mask.flags.i)) != 0) { + if ((this->flags.i & q.flags.i & ~allowed_duplicates_mask.flags.i) != 0) { _mesa_glsl_error(loc, state, "duplicate layout qualifiers used"); return false; |