From a58268f6a9d882c10a43bc57068b1193c1a1a970 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 21 Dec 2023 12:06:25 +0100 Subject: [PATCH] panvk: Add a panvk_arch_dispatch_ret() variant So we can dispatch calls to per-arch functions that return a value. Signed-off-by: Boris Brezillon Acked-by: Erik Faye-Lund Reviewed-by: Mary Guillemard Reviewed-by: Rebecca Mckeever Part-of: --- src/panfrost/vulkan/panvk_macros.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/panfrost/vulkan/panvk_macros.h b/src/panfrost/vulkan/panvk_macros.h index 59bdbcd75d5..0fb6b3fceb2 100644 --- a/src/panfrost/vulkan/panvk_macros.h +++ b/src/panfrost/vulkan/panvk_macros.h @@ -34,6 +34,20 @@ } \ } while (0) +#define panvk_arch_dispatch_ret(arch, name, ret, ...) \ + do { \ + switch (arch) { \ + case 6: \ + ret = panvk_arch_name(name, v6)(__VA_ARGS__); \ + break; \ + case 7: \ + ret = panvk_arch_name(name, v7)(__VA_ARGS__); \ + break; \ + default: \ + unreachable("Unsupported architecture"); \ + } \ + } while (0) + #ifdef PAN_ARCH #if PAN_ARCH == 6 #define panvk_per_arch(name) panvk_arch_name(name, v6)