There was a pre-existing test using "component = 0" with dvec3 which was not failing as it should. This was because the other tests checking for the usage of the component keyword with dvec3 and dvec4 were failing due to a different restriction: the component sequence was overflowing 3 and/or a double based type was using component 1 o 3.
Now we fix them by using "component = 0" when need to fail and removing the keyword when need to succeed. From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.50 spec: " It is a compile-time error if this sequence of components gets larger than 3. A scalar double will consume two of these components, and a dvec2 will consume all four components available within a location. A dvec3 or dvec4 can only be declared without specifying a component." ... " It is a compile-time error to use component 1 or 3 as the beginning of a double or dvec2." Cc: Timothy Arceri <tarc...@itsqueeze.com> Cc: Kenneth Graunke <kenn...@whitecape.org> Signed-off-by: Andres Gomez <ago...@igalia.com> --- .../arb_enhanced_layouts/compiler/component-layout/dvec3.vert | 2 +- .../arb_enhanced_layouts/compiler/component-layout/dvec4.vert | 2 +- .../execution/component-layout/vs-fs-array-dvec3.shader_test | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec3.vert b/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec3.vert index 84eaf3ef7..fcb2a5284 100644 --- a/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec3.vert +++ b/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec3.vert @@ -13,7 +13,7 @@ #extension GL_ARB_gpu_shader_fp64: require #extension GL_ARB_separate_shader_objects: require -layout(location = 0, component = 1) out dvec3 b; +layout(location = 0, component = 0) out dvec3 b; void main() { diff --git a/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec4.vert b/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec4.vert index 3c6216310..78696f18d 100644 --- a/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec4.vert +++ b/tests/spec/arb_enhanced_layouts/compiler/component-layout/dvec4.vert @@ -13,7 +13,7 @@ #extension GL_ARB_gpu_shader_fp64: require #extension GL_ARB_separate_shader_objects: require -layout(location = 0, component = 1) out dvec4 b; +layout(location = 0, component = 0) out dvec4 b; void main() { diff --git a/tests/spec/arb_enhanced_layouts/execution/component-layout/vs-fs-array-dvec3.shader_test b/tests/spec/arb_enhanced_layouts/execution/component-layout/vs-fs-array-dvec3.shader_test index de348cbb3..ebd18ad5d 100644 --- a/tests/spec/arb_enhanced_layouts/execution/component-layout/vs-fs-array-dvec3.shader_test +++ b/tests/spec/arb_enhanced_layouts/execution/component-layout/vs-fs-array-dvec3.shader_test @@ -13,7 +13,7 @@ GL_ARB_gpu_shader_fp64 #extension GL_ARB_gpu_shader_fp64: require // XYZW components of 0 & 2, XY components of 1 & 3 -layout(location = 0, component = 0) flat out dvec3 a[2]; +layout(location = 0) flat out dvec3 a[2]; // ZW component of 1 layout(location = 1, component = 2) flat out double b; @@ -38,7 +38,7 @@ void main() out vec4 color; // XYZW components of 0 & 2, XY components of 1 & 3 -layout(location = 0, component = 0) flat in dvec3 a[2]; +layout(location = 0) flat in dvec3 a[2]; // ZW component of 1 layout(location = 1, component = 2) flat in double b; -- 2.20.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit