[Mesa-dev] [PATCH 1/2] svga: use switch statement in svga_shader_type()

Brian Paul brianp at vmware.com
Fri Jun 28 07:12:41 PDT 2013


Safer in case the PIPE_SHADER_x tokens get renumbered (as Marek
wanted to do).
---
 src/gallium/drivers/svga/svga_state_constants.c |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_state_constants.c b/src/gallium/drivers/svga/svga_state_constants.c
index 77c9349..1c0edb4 100644
--- a/src/gallium/drivers/svga/svga_state_constants.c
+++ b/src/gallium/drivers/svga/svga_state_constants.c
@@ -46,13 +46,18 @@
 /**
  * Convert from PIPE_SHADER_* to SVGA3D_SHADERTYPE_*
  */
-static int
+static unsigned
 svga_shader_type(unsigned shader)
 {
-   assert(PIPE_SHADER_VERTEX + 1 == SVGA3D_SHADERTYPE_VS);
-   assert(PIPE_SHADER_FRAGMENT + 1 == SVGA3D_SHADERTYPE_PS);
-   assert(shader <= PIPE_SHADER_FRAGMENT);
-   return shader + 1;
+   switch (shader) {
+   case PIPE_SHADER_VERTEX:
+      return SVGA3D_SHADERTYPE_VS;
+   case PIPE_SHADER_FRAGMENT:
+      return SVGA3D_SHADERTYPE_PS;
+   default:
+      assert(!"Unexpected shader type");
+      return SVGA3D_SHADERTYPE_VS;
+   }
 }
 
 
-- 
1.7.10.4



More information about the mesa-dev mailing list