[Mesa-dev] [PATCH] anv: Get rid of gen fall-through

Lionel Landwerlin lionel.g.landwerlin at intel.com
Fri Oct 13 10:59:35 UTC 2017


Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

On 13/10/17 06:57, Jason Ekstrand wrote:
> 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.
> ---
>   src/intel/vulkan/anv_entrypoints_gen.py | 34 ++++++++++++++++-----------------
>   1 file changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py
> index bf376a8..a4ecbf2 100644
> --- a/src/intel/vulkan/anv_entrypoints_gen.py
> +++ b/src/intel/vulkan/anv_entrypoints_gen.py
> @@ -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:




More information about the mesa-dev mailing list