mesa/src/compiler
Juan A. Suarez Romero 9b894c88a6 glsl/linker: link-error using the same name in unnamed block and outside
According with OpenGL GLSL 4.20 spec, section 4.3.9, page 57:

   "It is a link-time error if any particular shader interface
    contains:
      - two different blocks, each having no instance name, and each
        having a member of the same name, or
      - a variable outside a block, and a block with no instance name,
        where the variable has the same name as a member in the block."

This means that it is a link error if for example we have a vertex
shader with the following definition.

  "layout(location=0) uniform Data { float a; float b; };"

and a fragment shader with:

  "uniform float a;"

As in both cases we refer to both uniforms as "a", and thus using
glGetUniformLocation() wouldn't know which one we mean.

This fixes KHR-GL*.shaders.uniform_block.common.name_matching.

v2: add fixed tests (Tapani)

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2018-01-16 19:42:35 +01:00
..
glsl glsl/linker: link-error using the same name in unnamed block and outside 2018-01-16 19:42:35 +01:00
nir nir: add a 'const' qualifier to nir_ssa_def_components_read() 2018-01-12 12:25:17 +01:00
spirv .gitignore: Ignore new generated files 2018-01-08 21:11:11 -08: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 missing generation of vtn_gather_types.c 2017-12-13 16:20:15 -06:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
blob.c blob: Don't set overrun if reading 0 bytes at end of data 2017-10-31 23:36:54 -07:00
blob.h blob: Use intptr_t instead of ssize_t 2017-10-13 15:02:34 -07:00
builtin_type_macros.h glsl: Add 16-bit types 2017-12-06 08:57:18 +01:00
glsl_types.cpp glsl: Add 16-bit types 2017-12-06 08:57:18 +01:00
glsl_types.h glsl: Add 16-bit types 2017-12-06 08:57:18 +01:00
Makefile.am compiler: Add $(WNO_OVERRIDE_INIT) to AM_CFLAGS 2017-08-29 15:20:57 -07:00
Makefile.glsl.am glsl: automake: export abs_builddir for the tests 2017-03-28 15:31:22 +01:00
Makefile.nir.am spirv: Makefile.nir.am: include vtn_gather_types_c.py script in tarball dist 2017-12-20 17:44:35 +01:00
Makefile.sources spirv: Add a prepass to set types on vtn_values 2017-12-11 22:28:34 -08:00
meson.build meson: Use dependencies for nir 2018-01-11 15:40:02 -08:00
nir_types.cpp nir: Add a helper to get the uvec4 type. 2018-01-03 14:25:23 -08:00
nir_types.h nir: Add a helper to get the uvec4 type. 2018-01-03 14:25:23 -08:00
SConscript glsl: Generate ir_expression_operation.h from Python 2016-08-30 16:28:00 -07:00
SConscript.glsl mesa: Remove prog_hash_table.c 2016-09-12 10:48:35 +10:00
SConscript.nir glsl: Generate ir_expression_operation.h from Python 2016-08-30 16:28:00 -07:00
shader_enums.c mesa: remove unused vertex attrib WEIGHT 2017-11-25 17:17:52 +01:00
shader_enums.h mesa: shrink VERT_ATTRIB bitfields to 32 bits 2017-11-25 17:18:22 +01:00
shader_info.h glsl: Split out shader program serialization 2017-12-08 16:44:35 +11:00