mesa/src/compiler
Jason Ekstrand bf1a1eed88 spirv: Propagate layout decorations to created glsl_types
Instead of just storing the decorations in the vtn_type, propagate them
all the way through to the glsl_type.  For array strides, this means we
need to handle them earlier so we break array stride handling into it's
own function and explicitly call it for both pointer and array types.

Due to type deduplication in the SPIR-V, we may have explicit layout
decorations on all sorts of types that don't actually want them.  In
order to prevent these leaking into unfortunate places in NIR, we
explicitly strip them off before creating NIR variables and when casting
pointers to non-external memory.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
2019-01-08 00:38:30 +00:00
..
glsl glsl_type: Add support for explicitly laid out matrices and arrays 2019-01-08 00:38:29 +00:00
nir glsl_type: Add support for explicitly laid out matrices and arrays 2019-01-08 00:38:29 +00:00
spirv spirv: Propagate layout decorations to created glsl_types 2019-01-08 00:38:30 +00:00
.gitignore nir/spirv: Remove a duplicate spirv2nir from .gitignore 2016-10-04 07:43:15 -07:00
Android.glsl.gen.mk Android: clean-up trailing '\' in make variables 2017-03-22 17:52:06 +00:00
Android.glsl.mk android: glsl: build shader cache sources 2017-02-20 16:30:37 +00:00
Android.mk Android: glsl: add rules to generate ir_expression*.h header files 2016-09-06 15:58:55 +01:00
Android.nir.gen.mk Android: fix a missing nir_intrinsics.h error 2018-07-21 08:50:23 +02:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
blob.c compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
blob.h compiler/blob: Add blob_skip_bytes 2018-07-09 23:02:33 -07:00
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp glsl_type: Add support for explicitly laid out matrices and arrays 2019-01-08 00:38:29 +00:00
glsl_types.h glsl_type: Add support for explicitly laid out matrices and arrays 2019-01-08 00:38:29 +00:00
Makefile.am configure: allow building with python3 2018-10-31 19:15:50 +00:00
Makefile.glsl.am configure: allow building with python3 2018-10-31 19:15:50 +00:00
Makefile.nir.am nir/algebraic: Add unit tests for bitsize validation 2018-12-05 17:57:40 +01:00
Makefile.sources nir: Add a bool to int32 lowering pass 2018-12-16 21:03:02 +00:00
Makefile.spirv.am spirv: autotools: add vtn_gather_types_c.py in distribution tarball 2018-04-10 10:37:46 +02:00
meson.build meson: Build with Python 3 2018-08-10 15:15:09 -07:00
nir_types.cpp glsl_type: Add support for explicitly laid out matrices and arrays 2019-01-08 00:38:29 +00:00
nir_types.h glsl_type: Add support for explicitly laid out matrices and arrays 2019-01-08 00:38:29 +00:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl mesa: Remove prog_hash_table.c 2016-09-12 10:48:35 +10:00
SConscript.nir nir: mako all the intrinsics 2018-03-27 08:36:37 -04:00
SConscript.spirv spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
shader_enums.c compiler: add SYSTEM_VALUE_VARYING_COORD 2018-08-14 17:59:02 -04:00
shader_enums.h nir: Use a bitfield for image access qualifiers 2018-08-29 14:04:02 -05:00
shader_info.h spirv: add support for SpvCapabilityStorageImageMultisample 2018-12-20 18:01:09 +01:00