diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-12-30 10:02:38 -0800 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-12-30 10:02:40 -0800 |
commit | 3e911f69b190f2a0c7c32ee1537e223644c6f278 (patch) | |
tree | d183ddcd9fbf65e7328b04ec32f99bb90122499b /src | |
parent | bf85eefd9e2af5b435d5d98c9d69eca83435d4e3 (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.c | 32 |
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, |