[Piglit] [PATCH v2 0/2] check different binding points with UBOs, SSBOs and Opaque-Uniforms
Andres Gomez
agomez at igalia.com
Thu Feb 23 08:55:25 UTC 2017
>From page 93 (page 110 of the PDF) of the GL 4.2 (Core Profile) spec:
" 2.11.7 Uniform Variables
...
Uniform Blocks
...
When a named uniform block is declared by multiple shaders in a
program, it must be declared identically in each shader. The
uniforms within the block must be declared with the same names and
types, and in the same order. If a program contains multiple
shaders with different declarations for the same named uniform
block differs between shader, the program will fail to link."
>From page 129 (page 150 of the PDF) of the GL 4.3 (Core Profile) spec:
" 7.8 Shader Buffer Variables and Shader Storage Blocks
...
When a named shader storage block is declared by multiple shaders
in a program, it must be declared identically in each shader. The
buffer variables within the block must be declared with the same
names, types, qualification, and declaration order. If a program
contains multiple shaders with different declarations for the same
named shader storage block, the program will fail to link."
>From page 60 (page 66 of the PDF) of the GLSL 4.20 spec, v11:
" A link error will result if two compilation units in a program
specify different integer-constant bindings for the same
opaque-uniform name. However, it is not an error to specify a
binding on some but not all declarations for the same name, as
shown in the examples below."
This patch series adds tests to check that a link error is expected
when specifying different binding points for matching Uniform Blocks,
Shader Storage Blocks or Opaque-Uniforms across multiple compilation
units.
Andres Gomez (2):
arb_shading_language_420pack: check different binding points
arb_shader_atomic_counters: check different binding points
.../different-bindings-atomic-counter.shader_test | 51 ++++++++++++++++
.../linker/different-bindings-image2D.shader_test | 57 ++++++++++++++++++
.../different-bindings-sampler2D.shader_test | 53 +++++++++++++++++
...ngs-shader-storage-blocks-instanced.shader_test | 66 +++++++++++++++++++++
...rent-bindings-shader-storage-blocks.shader_test | 66 +++++++++++++++++++++
...t-bindings-uniform-blocks-instanced.shader_test | 69 ++++++++++++++++++++++
.../different-bindings-uniform-blocks.shader_test | 69 ++++++++++++++++++++++
7 files changed, 431 insertions(+)
create mode 100644 tests/spec/arb_shader_atomic_counters/linker/different-bindings-atomic-counter.shader_test
create mode 100644 tests/spec/arb_shading_language_420pack/linker/different-bindings-image2D.shader_test
create mode 100644 tests/spec/arb_shading_language_420pack/linker/different-bindings-sampler2D.shader_test
create mode 100644 tests/spec/arb_shading_language_420pack/linker/different-bindings-shader-storage-blocks-instanced.shader_test
create mode 100644 tests/spec/arb_shading_language_420pack/linker/different-bindings-shader-storage-blocks.shader_test
create mode 100644 tests/spec/arb_shading_language_420pack/linker/different-bindings-uniform-blocks-instanced.shader_test
create mode 100644 tests/spec/arb_shading_language_420pack/linker/different-bindings-uniform-blocks.shader_test
--
2.11.0
More information about the Piglit
mailing list