Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Fri, Jun 22, 2018 at 5:50 AM, Timothy Arceri <tarc...@itsqueeze.com> wrote: > --- > .../tes-clamp-vertex-color.shader_test | 76 +++++++++++++++++++ > .../gs-clamp-vertex-color.shader_test | 47 ++++++++++++ > 2 files changed, 123 insertions(+) > create mode 100644 > tests/spec/arb_tessellation_shader/execution/compatibility/tes-clamp-vertex-color.shader_test > create mode 100644 > tests/spec/glsl-1.50/execution/compatibility/gs-clamp-vertex-color.shader_test > > diff --git > a/tests/spec/arb_tessellation_shader/execution/compatibility/tes-clamp-vertex-color.shader_test > > b/tests/spec/arb_tessellation_shader/execution/compatibility/tes-clamp-vertex-color.shader_test > new file mode 100644 > index 000000000..9050bb1de > --- /dev/null > +++ > b/tests/spec/arb_tessellation_shader/execution/compatibility/tes-clamp-vertex-color.shader_test > @@ -0,0 +1,76 @@ > +# GL_ARB_color_buffer_float provides a way to disable vertex color clamping, > +# but without it, the vertex colors must be clamped. > +# > +[require] > +GL COMPAT >= 3.2 > +GLSL >= 1.50 > +GL_ARB_tessellation_shader > + > +[vertex shader] > +#version 150 compatibility > + > +in vec4 piglit_vertex; > + > +void main() > +{ > + gl_Position = piglit_vertex; > +} > + > +[tessellation control shader] > +#version 150 compatibility > +#extension GL_ARB_tessellation_shader: require > + > +layout(vertices = 3) out; > + > +out vec4 color[]; > + > +void main() { > + gl_out[gl_InvocationID].gl_Position = > gl_in[gl_InvocationID].gl_Position; > + gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 0.0); > + gl_TessLevelInner = float[2](0.0, 0.0); > + color[gl_InvocationID] = vec4(0, 1, 0, 1); > +} > + > +[tessellation evaluation shader] > +#version 150 compatibility > +#extension GL_ARB_tessellation_shader: require > + > +layout(triangles) in; > + > +in vec4 color[]; > + > +void main() { > + gl_Position = gl_in[0].gl_Position * gl_TessCoord[0] > + + gl_in[1].gl_Position * gl_TessCoord[1] > + + gl_in[2].gl_Position * gl_TessCoord[2]; > + > + gl_FrontColor = vec4(-2, -1, 0.5, 3); /* (0, 0, 0.5, 1) > */ > + gl_FrontSecondaryColor = vec4(2, 0.5, 1.5, -0.5); /* (1, 0.5, 1, 0) > */ > +} > + > +[vertex data] > +piglit_vertex/float/2 > +-1.0 -1.0 > + 1.0 -1.0 > +-1.0 1.0 > +-1.0 1.0 > + 1.0 -1.0 > + 1.0 1.0 > + > +[fragment shader] > +#version 150 compatibility > + > +uniform vec4 arg0; > +void main() > +{ > + gl_FragColor = (gl_Color + gl_SecondaryColor) * 0.5; > +} > + > +[test] > +clear color 0.1 0.1 0.1 0.1 > +clear > +patch parameter vertices 3 > +draw arrays GL_PATCHES 0 6 > +#probe all rgba 0.0 1.0 0.0 1.0 > +#draw rect -1 -1 2 2 > +probe rgba 1 1 0.5 0.25 0.75 0.5 > diff --git > a/tests/spec/glsl-1.50/execution/compatibility/gs-clamp-vertex-color.shader_test > > b/tests/spec/glsl-1.50/execution/compatibility/gs-clamp-vertex-color.shader_test > new file mode 100644 > index 000000000..e7ba1d893 > --- /dev/null > +++ > b/tests/spec/glsl-1.50/execution/compatibility/gs-clamp-vertex-color.shader_test > @@ -0,0 +1,47 @@ > +# GL_ARB_color_buffer_float provides a way to disable vertex color clamping, > +# but without it, the vertex colors must be clamped. > +# > +[require] > +GL COMPAT >= 3.2 > +GLSL >= 1.50 > + > +[vertex shader] > +#version 150 compatibility > + > +void main() > +{ > + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; > +} > + > +[geometry shader] > +#version 150 compatibility > + > +layout(triangles) in; > +layout(triangle_strip, max_vertices = 3) out; > + > +varying float v; > + > +void main() > +{ > + for (int i = 0; i < 3; i++) { > + gl_Position = gl_in[i].gl_Position; > + > + gl_FrontColor = vec4(-2, -1, 0.5, 3); /* (0, 0, > 0.5, 1) */ > + gl_FrontSecondaryColor = vec4(2, 0.5, 1.5, -0.5); /* (1, 0.5, > 1, 0) */ > + > + EmitVertex(); > + } > +} > + > +[fragment shader] > +#version 150 compatibility > + > +uniform vec4 arg0; > +void main() > +{ > + gl_FragColor = (gl_Color + gl_SecondaryColor) * 0.5; > +} > + > +[test] > +draw rect -1 -1 2 2 > +probe rgba 1 1 0.5 0.25 0.75 0.5 > -- > 2.17.1 > > _______________________________________________ > 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