diff options
author | Jose Maria Casanova Crespo <[email protected]> | 2017-02-10 14:25:27 +0100 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-02-10 23:14:12 -0800 |
commit | 5bc222ebafddd14f2329f5096287b51d798a6431 (patch) | |
tree | d77d5a91a24ce86cc6be8d7600c804e6e5e09ff1 /src/gallium/drivers/etnaviv/etnaviv_internal.h | |
parent | 0514b0bdc91e34509f09c27cecc3c3d323967f13 (diff) |
glsl: non-last member unsized array on SSBO must fail compilation on GLSL ES 3.1
From GLSL ES 3.10 spec, section 4.1.9 "Arrays":
"If an array is declared as the last member of a shader storage block
and the size is not specified at compile-time, it is sized at run-time.
In all other cases, arrays are sized only at compile-time."
In desktop GLSL it is allowed to have unsized-arrays that are
not last, as long as we can determine that they are implicitly
sized, which is detected at link-time.
With this patch Mesa reports a compilation error as glslang does with
the following shader:
buffer SSBO { vec4 data[]; vec4 moreData;};
void main (void)
{
}
Fixes:
dEQP-GLES31.functional.debug.negative_coverage.log.shader.compile_compute_shader
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader.compile_compute_shader
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader.compile_compute_shader
Cc: "17.0" <[email protected]>
Signed-off-by: Jose Maria Casanova Crespo <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_internal.h')
0 files changed, 0 insertions, 0 deletions