OSDN Git Service

anv: Get rid of gen fall-through
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 11 Sep 2017 04:27:13 +0000 (21:27 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 16 Oct 2017 15:04:56 +0000 (08:04 -0700)
In the early days of the Vulkan driver, we thought it would be a good
idea to just make genN just fall back to the genN-1 code if it didn't
need to be any different for genN.  While this seemed like a good idea,
it ultimately ended up being far simpler to just recompile everything.
We haven't been using the fall-through functionality for some time so
we're better off just deleting it so it doesn't accidentally start
causing problems.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_entrypoints_gen.py

index bf376a8..a4ecbf2 100644 (file)
@@ -160,31 +160,31 @@ anv_resolve_entrypoint(const struct gen_device_info *devinfo, uint32_t index)
       return anv_layer.entrypoints[index];
    }
 
+   const struct anv_dispatch_table *genX_table;
    switch (devinfo->gen) {
    case 10:
-      if (gen10_layer.entrypoints[index])
-         return gen10_layer.entrypoints[index];
-      /* fall through */
+      genX_table = &gen10_layer;
+      break;
    case 9:
-      if (gen9_layer.entrypoints[index])
-         return gen9_layer.entrypoints[index];
-      /* fall through */
+      genX_table = &gen9_layer;
+      break;
    case 8:
-      if (gen8_layer.entrypoints[index])
-         return gen8_layer.entrypoints[index];
-      /* fall through */
+      genX_table = &gen8_layer;
+      break;
    case 7:
-      if (devinfo->is_haswell && gen75_layer.entrypoints[index])
-         return gen75_layer.entrypoints[index];
-
-      if (gen7_layer.entrypoints[index])
-         return gen7_layer.entrypoints[index];
-      /* fall through */
-   case 0:
-      return anv_layer.entrypoints[index];
+      if (devinfo->is_haswell)
+         genX_table = &gen75_layer;
+      else
+         genX_table = &gen7_layer;
+      break;
    default:
       unreachable("unsupported gen\\n");
    }
+
+   if (genX_table->entrypoints[index])
+      return genX_table->entrypoints[index];
+   else
+      return anv_layer.entrypoints[index];
 }
 
 /* Hash table stats: