On Sun, Nov 10, 2013 at 1:09 AM, Chris Forbes <[email protected]> wrote: > > --- > .../fs-interpolateAtCentroid-array.frag | 25 ++++++++++++++++++ > .../fs-interpolateAtCentroid-bad-swizzle.frag | 27 +++++++++++++++++++ > .../fs-interpolateAtCentroid-centroid.frag | 30 > ++++++++++++++++++++++ > .../fs-interpolateAtCentroid-flat.frag | 30 > ++++++++++++++++++++++ > .../fs-interpolateAtCentroid-no-output.frag | 21 +++++++++++++++ > .../fs-interpolateAtCentroid-no-temp.frag | 22 ++++++++++++++++ > .../fs-interpolateAtCentroid-no-uniform.frag | 20 +++++++++++++++ > .../fs-interpolateAtCentroid-noperspective.frag | 30 > ++++++++++++++++++++++ > .../interpolation/fs-interpolateAtCentroid.frag | 25 ++++++++++++++++++ > .../fs-interpolateAtOffset-nonconst.frag | 27 +++++++++++++++++++ > .../interpolation/fs-interpolateAtOffset.frag | 28 ++++++++++++++++++++ > .../interpolation/fs-interpolateAtSample.frag | 25 ++++++++++++++++++ > 12 files changed, 310 insertions(+) > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-array.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-bad-swizzle.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-centroid.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-flat.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-output.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-temp.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-uniform.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-noperspective.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset-nonconst.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset.frag > create mode 100644 > tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtSample.frag > > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-array.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-array.frag > new file mode 100644 > index 0000000..274db83 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-array.frag > @@ -0,0 +1,25 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in float v1[2]; > +in vec2 v2[2]; > +in vec3 v3[2]; > +in vec4 v4[2]; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtCentroid(v1[1]), 1, 1, 1); > + res += vec4(interpolateAtCentroid(v2[1]), 1, 1); > + res += vec4(interpolateAtCentroid(v3[1]), 1); > + res += interpolateAtCentroid(v4[1]); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-bad-swizzle.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-bad-swizzle.frag > new file mode 100644 > index 0000000..b815f13 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-bad-swizzle.frag > @@ -0,0 +1,27 @@ > +// [config] > +// expect_result: fail > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +// The ARB_gpu_shader5 spec says: > +// "Component selection operators (e.g., ".xy") may not be used when > +// specifying <interpolant>." > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in vec2 v2; > +in vec3 v3; > +in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtCentroid(v2.xy), 1, 1); > + res += vec4(interpolateAtCentroid(v3.xyz), 1); > + res += interpolateAtCentroid(v4.xyzw); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-centroid.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-centroid.frag > new file mode 100644 > index 0000000..738c566 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-centroid.frag > @@ -0,0 +1,30 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +// From the ARB_gpu_shader5 spec: > +// "If <interpolant> is declared with a "flat" or > +// "centroid" qualifier, the qualifier will have no effect on the > +// interpolated value." > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +centroid in float v1; > +centroid in vec2 v2; > +centroid in vec3 v3; > +centroid in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtCentroid(v1), 1, 1, 1); > + res += vec4(interpolateAtCentroid(v2), 1, 1); > + res += vec4(interpolateAtCentroid(v3), 1); > + res += interpolateAtCentroid(v4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-flat.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-flat.frag > new file mode 100644 > index 0000000..8bce2d6 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-flat.frag > @@ -0,0 +1,30 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +// From the ARB_gpu_shader5 spec: > +// "If <interpolant> is declared with a "flat" or > +// "centroid" qualifier, the qualifier will have no effect on the > +// interpolated value." > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +flat in float v1; > +flat in vec2 v2; > +flat in vec3 v3; > +flat in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtCentroid(v1), 1, 1, 1); > + res += vec4(interpolateAtCentroid(v2), 1, 1); > + res += vec4(interpolateAtCentroid(v3), 1); > + res += interpolateAtCentroid(v4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-output.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-output.frag > new file mode 100644 > index 0000000..3f9b60e > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-output.frag > @@ -0,0 +1,21 @@ > +// [config] > +// expect_result: fail > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +out vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + // <interpolant> must be a shader input. > + > + res += interpolateAtCentroid(v4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-temp.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-temp.frag > new file mode 100644 > index 0000000..ef82be2 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-temp.frag > @@ -0,0 +1,22 @@ > +// [config] > +// expect_result: fail > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + // <interpolant> must be a shader input. > + vec4 t4 = v4; > + > + res += interpolateAtCentroid(t4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-uniform.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-uniform.frag > new file mode 100644 > index 0000000..1d49dc3 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-no-uniform.frag > @@ -0,0 +1,20 @@ > +// [config] > +// expect_result: fail > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + // <interpolant> must be a shader input. > + res += interpolateAtCentroid(v4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-noperspective.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-noperspective.frag > new file mode 100644 > index 0000000..40a9111 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid-noperspective.frag > @@ -0,0 +1,30 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +// From the ARB_gpu_shader5 spec: > +// If <interpolant> is declared with the "noperspective" > +// qualifier, the interpolated value will be computed without perspective > +// correction. > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +noperspective in float v1; > +noperspective in vec2 v2; > +noperspective in vec3 v3; > +noperspective in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtCentroid(v1), 1, 1, 1); > + res += vec4(interpolateAtCentroid(v2), 1, 1); > + res += vec4(interpolateAtCentroid(v3), 1); > + res += interpolateAtCentroid(v4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid.frag > new file mode 100644 > index 0000000..5c67246 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtCentroid.frag > @@ -0,0 +1,25 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in float v1; > +in vec2 v2; > +in vec3 v3; > +in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtCentroid(v1), 1, 1, 1); > + res += vec4(interpolateAtCentroid(v2), 1, 1); > + res += vec4(interpolateAtCentroid(v3), 1); > + res += interpolateAtCentroid(v4); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset-nonconst.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset-nonconst.frag > new file mode 100644 > index 0000000..3b7ba9d > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset-nonconst.frag > @@ -0,0 +1,27 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in float v1; > +in vec2 v2; > +in vec3 v3; > +in vec4 v4; > + > +in vec2 offset; // ARB_gpu_shader5 spec says nothing about > the offset having to be constant. > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtOffset(v1, offset), 1, 1, 1); > + res += vec4(interpolateAtOffset(v2, offset), 1, 1); > + res += vec4(interpolateAtOffset(v3, offset), 1); > + res += interpolateAtOffset(v4, offset); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset.frag > new file mode 100644 > index 0000000..99ab8d9 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtOffset.frag > @@ -0,0 +1,28 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in float v1; > +in vec2 v2; > +in vec3 v3; > +in vec4 v4; > + > +// ARB_gpu_shader5 requires at least -0.5 .. 0.5 to be supported. > +const vec2 offset = vec2(-0.5, 0.5); > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtOffset(v1, offset), 1, 1, 1); > + res += vec4(interpolateAtOffset(v2, offset), 1, 1); > + res += vec4(interpolateAtOffset(v3, offset), 1); > + res += interpolateAtOffset(v4, offset); > + > + gl_FragColor = res; > +} > diff --git > a/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtSample.frag > > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtSample.frag > new file mode 100644 > index 0000000..825b961 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/compiler/interpolation/fs-interpolateAtSample.frag > @@ -0,0 +1,25 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// require_extensions: GL_ARB_gpu_shader5 > +// [end config] > + > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in float v1; > +in vec2 v2; > +in vec3 v3; > +in vec4 v4; > + > +void main() > +{ > + vec4 res = vec4(0); > + > + res += vec4(interpolateAtSample(v1, 0), 1, 1, 1); > + res += vec4(interpolateAtSample(v2, 1), 1, 1); > + res += vec4(interpolateAtSample(v3, 2), 1); > + res += interpolateAtSample(v4, 3); > + > + gl_FragColor = res; > +} > -- > 1.8.4.2 > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit
Reviewed-by: Anuj Phogat <[email protected]> _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
