[Mesa-dev] [Bug 106915] [GLSL] Unused arrays declared without a size should be handled like arrays of size 1.
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Jun 14 10:42:20 UTC 2018
https://bugs.freedesktop.org/show_bug.cgi?id=106915
Bug ID: 106915
Summary: [GLSL] Unused arrays declared without a size should be
handled like arrays of size 1.
Product: Mesa
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Mesa core
Assignee: mesa-dev at lists.freedesktop.org
Reporter: estea at igalia.com
QA Contact: mesa-dev at lists.freedesktop.org
>From GLSLang Spec 4.60 Section 4.2 Scoping:
"An array implicitly sized in one shader can be explicitly sized by another
shader in the same stage. If no shader in a stage has an explicit size for the
array, the largest implicit size (one more than the largest index used) in that
stage is used. There is no cross-stage array sizing. If there is no static
access to an implicitly sized array within the stage declaring it, then the
array is given a size of 1, which is relevant when the array is declared within
an interface block that is shared with other stages or the application (other
unused arrays might be eliminated by the optimizer)."
According to the paragraph above, the following piglit test should not generate
any errors as s[] would be treated as an array of size 1:
[vertex shader]
#version 150
#extension GL_ARB_shader_storage_buffer_object: require
buffer a {
vec4 s[];
vec4 a[];
} b;
in vec4 piglit_vertex;
out vec4 c;
void main(void) {
c = b.a[0];
gl_Position = piglit_vertex;
}
[test]
link error
Test:
spec/arb_shader_storage_buffer_object/linker/unsized_array_member.shader_test
but it does.
If we convert the GLSL code to SPIR-V there are no linker errors anymore since
s[] seems to have type: OpTypeArray with size 1 and the linker accepts it.
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180614/4a2d938f/attachment.html>
More information about the mesa-dev
mailing list