summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2015-12-30 10:02:38 -0800
committerJason Ekstrand <jason.ekstrand@intel.com>2015-12-30 10:02:40 -0800
commit3e911f69b190f2a0c7c32ee1537e223644c6f278 (patch)
treed183ddcd9fbf65e7328b04ec32f99bb90122499b /src
parentbf85eefd9e2af5b435d5d98c9d69eca83435d4e3 (diff)
stencil-triangles: Use switch statements again
Now that spirv_to_nir can handle them, we should start using them again. They make the shader code nicer and test switch statements.
Diffstat (limited to 'src')
-rw-r--r--src/tests/func/depthstencil/stencil_triangles.c32
1 files changed, 8 insertions, 24 deletions
diff --git a/src/tests/func/depthstencil/stencil_triangles.c b/src/tests/func/depthstencil/stencil_triangles.c
index 3463d63..449cc6f 100644
--- a/src/tests/func/depthstencil/stencil_triangles.c
+++ b/src/tests/func/depthstencil/stencil_triangles.c
@@ -84,37 +84,21 @@ draw_triangle(void)
// Draw 3 overlapping triangles.
void main()
{
- if (gl_VertexID == 0) {
- gl_Position = vec4(-0.6, -0.6, 0, 1);
- } else if (gl_VertexID == 1) {
- gl_Position = vec4(+0.6, -0.6, 0, 1);
- } else if (gl_VertexID == 2) {
- gl_Position = vec4( 0.0, +0.6, 0, 1);
+ switch (gl_VertexID) {
+ case 0: gl_Position = vec4(-0.6, -0.6, 0, 1); break;
+ case 1: gl_Position = vec4(+0.6, -0.6, 0, 1); break;
+ case 2: gl_Position = vec4( 0.0, +0.6, 0, 1); break;
}
- // XXX: spirv_to_nir doesn't handle switch yet
- // switch (gl_VertexID) {
- // case 0: gl_Position = vec4(-0.6, -0.6, 0, 1); break;
- // case 1: gl_Position = vec4(+0.6, -0.6, 0, 1); break;
- // case 2: gl_Position = vec4( 0.0, +0.6, 0, 1); break;
- // }
gl_Position.x += 0.2 * (gl_InstanceID - 1);
gl_Position.y += 0.2 * (gl_InstanceID - 1);
// blue, green, yellow
- if (gl_InstanceID == 0) {
- v_color = vec4(0.2, 0.2, 1.0, 1.0);
- } else if (gl_InstanceID == 1) {
- v_color = vec4(0.2, 1.0, 0.2, 1.0);
- } else if (gl_InstanceID == 2) {
- v_color = vec4(1.0, 1.0, 0.2, 1.0);
+ switch (gl_InstanceID) {
+ case 0: v_color = vec4(0.2, 0.2, 1.0, 1.0); break;
+ case 1: v_color = vec4(0.2, 1.0, 0.2, 1.0); break;
+ case 2: v_color = vec4(1.0, 1.0, 0.2, 1.0); break;
}
- // XXX: spirv_to_nir doesn't handle switch yet
- // switch (gl_InstanceID) {
- // case 0: v_color = vec4(0.2, 0.2, 1.0, 1.0); break;
- // case 1: v_color = vec4(0.2, 1.0, 0.2, 1.0); break;
- // case 2: v_color = vec4(1.0, 1.0, 0.2, 1.0); break;
- // }
}
),
.fragmentShader = qoCreateShaderModuleGLSL(t_device, FRAGMENT,