mesa/src/compiler
Kenneth Graunke 5509d43a11 glsl: Lower variable indexing of system value arrays unconditionally.
lower_variable_index_to_cond_assign() did not handle system values.
gl_SampleMaskIn[] is a system value, and also an array.  Accessing it
with a variable index would trigger an unreachable() assert.

Rather than adding a new EmitNoIndirectSystemValues flag, we simply
lower unconditionally.  There is exactly one case where this occurs,
and for all current drivers, lowering produces optimal code.  Even
for future drivers with 32x MSAA, it produces reasonable code.

Fixes Piglit's new samplemaskin-indirect test.  Also fixes many ES31-CTS
tests when OES_sample_variables is enabled.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2016-04-04 14:29:21 -07:00
..
glsl glsl: Lower variable indexing of system value arrays unconditionally. 2016-04-04 14:29:21 -07:00
nir nir/search: Don't match inexact expressions with exact subexpressions 2016-04-04 13:48:10 -07:00
.gitignore compiler: fix .gitignore for glsl_compiler 2016-02-03 13:32:46 -05:00
Android.gen.mk Android: fix build break from nir/glsl move to compiler/ 2016-02-29 10:51:44 +00:00
Android.mk nir: move to compiler/ 2016-01-26 16:08:30 +00:00
builtin_type_macros.h glsl/types: Add a bare "sampler" type 2016-02-13 17:22:36 -08:00
glsl_types.cpp glsl: add helper for counting varyings 2016-03-31 12:51:06 +11:00
glsl_types.h glsl: add helper for counting varyings 2016-03-31 12:51:06 +11:00
Makefile.am glsl: Ensure glsl/ exists before making the lexer/parser. 2016-02-04 09:31:17 -08:00
Makefile.sources nir/Makefile: Fix alphabetization 2016-03-28 18:32:48 -07:00
nir_types.cpp nir/types: Add more type constructor functions 2016-02-13 17:22:36 -08:00
nir_types.h nir/types: add a function to get the bitsize of a base type 2016-03-17 11:16:33 +01:00
SConscript glsl: move to compiler/ 2016-01-26 16:08:33 +00:00
shader_enums.c nir: move shader_enums.[ch] to compiler 2016-01-26 16:08:20 +00:00
shader_enums.h compiler: random comment fixup 2016-04-01 12:34:40 -04:00