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

andrey simiklit asimiklit.work at gmail.com
Mon Jul 9 09:26:39 UTC 2018


Hello,

Thanks for review)

Regards,
Andrii.

On Wed, Jun 27, 2018 at 6:18 AM, Timothy Arceri <tarceri at itsqueeze.com>
wrote:

> On 22/06/18 18:36, andrii.simiklit wrote:
>
>> Hello,
>>
>> It would be great If somebody could take a look this test)
>> This test against following bug:
>> https://bugs.freedesktop.org/show_bug.cgi?id=96354
>>
>
> I've clean up the description, removed some trailing spaces and pushed
> this test.
>
> Thanks!
>
>
>> Regards,
>> Andrii.
>>
>> On 05.06.18 16:33, Andrii Simiklit wrote:
>>
>>     All of our other tests for instanced geometry shaders don't actually
>>>     transfer the vertices to the geometry shader
>>>     from the vertex shader using gl_Position.
>>>     This used to be broken with the i965 driver's in Mesa 12.1.0
>>>     on revision d10ae20b9678f1a5b8a81716c68e612662665277.
>>>     This test should give us ability to detect
>>>     such kind of bugs like 96354 bug in future.
>>>
>>> Signed-off-by: Andrii Simiklit <andrii.simiklit at globallogic.com>
>>> ---
>>>   .../instanced-inputs-built-in-variable.shader_test | 68
>>> ++++++++++++++++++++++
>>>   1 file changed, 68 insertions(+)
>>>   create mode 100644 tests/spec/arb_gpu_shader5/exe
>>> cution/instanced-inputs-built-in-variable.shader_test
>>>
>>> diff --git a/tests/spec/arb_gpu_shader5/execution/instanced-inputs-built-in-variable.shader_test
>>> b/tests/spec/arb_gpu_shader5/execution/instanced-inputs-built-in-variable.shader_test
>>>
>>> new file mode 100644
>>> index 0000000..86b2bbd
>>> --- /dev/null
>>> +++ b/tests/spec/arb_gpu_shader5/execution/instanced-inputs-built-in-variable.shader_test
>>>
>>> @@ -0,0 +1,68 @@
>>> +#It seems as duplicate of the "instanced-inputs.shader_test" test but
>>> it could not detect the bug 96354.
>>> +#It could detect the 96354 bug if and only if vertices are transferred
>>> +#from vertex shader into geometry shader through built-in variable
>>> gl_Position.
>>> +#
>>> +#Specification permits us to do it "11.3.4.4 Geometry Shader Inputs:
>>> +#    Structure member gl_Position holds the per-vertex position, as
>>> written
>>> +#    by the vertex shader to its built-in output variable gl_Position.
>>> +#    Note that writing to gl_Position from either the vertex or
>>> geometry shader is
>>> +#    optional (also see section 7.1(“Built-In Variables”) of the OpenGL
>>> Shading Language Specification)"
>>> +
>>> +[require]
>>> +GL >= 2.0
>>> +GLSL >= 1.50
>>> +GL_ARB_gpu_shader5
>>> +
>>> +[vertex shader]
>>> +in vec4 vertex;
>>> +
>>> +void main()
>>> +{
>>> +   gl_Position = vertex;
>>> +}
>>> +
>>> +[geometry shader]
>>> +#extension GL_ARB_gpu_shader5 : require
>>> +layout(triangles) in;
>>> +layout(triangle_strip, max_vertices = 3) out;
>>> +layout(invocations = 4) in;
>>> +
>>> +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 = gl_in[i].gl_Position;
>>> +       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
>>> \ No newline at end of file
>>>
>>
>> _______________________________________________
>> Piglit mailing list
>> Piglit at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/piglit
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20180709/51fa81d8/attachment.html>


More information about the Piglit mailing list