Module: Mesa
Branch: main
Commit: 5b7eb0d9d348b6320306dcc244c92ee8bb80177a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b7eb0d9d348b6320306dcc244c92ee8bb80177a

Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Jun 23 17:00:18 2022 -0400

zink: break out program primtype->idx conversion function

Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225>

---

 src/gallium/drivers/zink/zink_program.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_program.c 
b/src/gallium/drivers/zink/zink_program.c
index a0cee30041c..ccb85219cbb 100644
--- a/src/gallium/drivers/zink/zink_program.c
+++ b/src/gallium/drivers/zink/zink_program.c
@@ -757,6 +757,21 @@ zink_destroy_compute_program(struct zink_context *ctx,
    ralloc_free(comp);
 }
 
+static unsigned
+get_primtype_idx(enum pipe_prim_type mode)
+{
+   if (mode == PIPE_PRIM_PATCHES)
+      return 3;
+   switch (u_reduced_prim(mode)) {
+   case PIPE_PRIM_POINTS:
+      return 0;
+   case PIPE_PRIM_LINES:
+      return 1;
+   default:
+      return 2;
+   }
+}
+
 static unsigned
 get_pipeline_idx(bool have_EXT_extended_dynamic_state, enum pipe_prim_type 
mode, VkPrimitiveTopology vkmode)
 {
@@ -766,16 +781,7 @@ get_pipeline_idx(bool have_EXT_extended_dynamic_state, 
enum pipe_prim_type mode,
     * with vkCmdSetPrimitiveTopology before any drawing commands.
     */
    if (have_EXT_extended_dynamic_state) {
-      if (mode == PIPE_PRIM_PATCHES)
-         return 3;
-      switch (u_reduced_prim(mode)) {
-      case PIPE_PRIM_POINTS:
-         return 0;
-      case PIPE_PRIM_LINES:
-         return 1;
-      default:
-         return 2;
-      }
+      return get_primtype_idx(mode);
    }
    return vkmode;
 }

Reply via email to