Hello, Thanks for review)
Regards, Andrii. On Wed, Jun 27, 2018 at 6:18 AM, Timothy Arceri <tarc...@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.simik...@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@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/piglit >> >
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit