[Piglit] [PATCH] Add a test for instanced GS inputs.

Ilia Mirkin imirkin at alum.mit.edu
Sun May 8 14:55:11 UTC 2016


On Sun, May 8, 2016 at 8:33 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> All of our other tests for instanced geometry shaders don't actually
> read input variables.  This is currently broken with the i965 driver's
> INTEL_SCALAR_GS=1 backend; I have patches to fix it.
> ---
>  .../execution/instanced-inputs.shader_test         | 60 ++++++++++++++++++++++
>  1 file changed, 60 insertions(+)
>  create mode 100644 tests/spec/arb_gpu_shader5/execution/instanced-inputs.shader_test
>
> diff --git a/tests/spec/arb_gpu_shader5/execution/instanced-inputs.shader_test b/tests/spec/arb_gpu_shader5/execution/instanced-inputs.shader_test
> new file mode 100644
> index 0000000..eceb6c3
> --- /dev/null
> +++ b/tests/spec/arb_gpu_shader5/execution/instanced-inputs.shader_test
> @@ -0,0 +1,60 @@
> +[require]
> +GL >= 2.0
> +GLSL >= 1.50

Should probably list the GL_ARB_gpu_shader5 require in here, no?
Otherwise this will fail on GPUs that don't support gs5.

> +
> +[vertex shader]
> +in vec4 vertex;
> +out vec4 vertex_to_gs;
> +
> +void main()
> +{
> +    vertex_to_gs = vertex;
> +}
> +
> +[geometry shader]
> +#extension GL_ARB_gpu_shader5 : require
> +layout(triangles) in;
> +layout(triangle_strip, max_vertices = 3) out;
> +layout(invocations = 4) in;
> +
> +in vec4 vertex_to_gs[3];
> +
> +void main()
> +{
> +    vec2 offset;
> +    if (gl_InvocationID == 0)
> +        offset.xy = vec2(-0.5, -0.5);
> +    else if (gl_InvocationID == 1)
> +        offset.xy = vec2( 0.5, -0.5);
> +    else if (gl_InvocationID == 2)
> +        offset.xy = vec2(-0.5,  0.5);
> +    else if (gl_InvocationID == 3)
> +        offset.xy = vec2( 0.5,  0.5);
> +
> +    for (int i = 0; i < 3; i++) {
> +        gl_Position = vertex_to_gs[i];
> +        gl_Position.xy += offset;
> +        EmitVertex();
> +    }
> +}
> +
> +[fragment shader]
> +void main()
> +{
> +    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
> +}
> +
> +[vertex data]
> +vertex/float/2
> +-0.5 -0.5
> + 0.5 -0.5
> +-0.5  0.0
> + 0.5  0.0
> +-0.5  0.5
> + 0.5  0.5
> +
> +[test]
> +clear color 0.0 0.0 0.0 0.0
> +clear
> +draw arrays GL_TRIANGLE_STRIP 0 6
> +probe all rgba 0.0 1.0 0.0 1.0
> --
> 2.8.2
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list