panvk: Add v15 support

This commit is contained in:
Lars-Ivar Hesselberg Simonsen 2026-02-17 13:28:14 +01:00
parent a986de1f53
commit bd52eb4a3a
3 changed files with 14 additions and 4 deletions

View file

@ -14,7 +14,7 @@ panvk_entrypoints = custom_target(
'--device-prefix', 'panvk_v6', '--device-prefix', 'panvk_v7',
'--device-prefix', 'panvk_v9', '--device-prefix', 'panvk_v10',
'--device-prefix', 'panvk_v12', '--device-prefix', 'panvk_v13',
'--device-prefix', 'panvk_v14',
'--device-prefix', 'panvk_v14', '--device-prefix', 'panvk_v15',
'--beta', with_vulkan_beta.to_string()
],
depend_files : vk_entrypoints_gen_depend_files,
@ -66,7 +66,7 @@ valhall_archs = [9, 10]
valhall_inc_dir = ['valhall']
valhall_files = []
fifthgen_archs = [12, 13, 14]
fifthgen_archs = [12, 13, 14, 15]
fifthgen_inc_dir = ['fifthgen']
fifthgen_files = []
@ -84,7 +84,7 @@ jm_files = [
'jm/panvk_vX_gpu_queue.c',
]
csf_archs = [10, 12, 13, 14]
csf_archs = [10, 12, 13, 14, 15]
csf_inc_dir = ['csf']
csf_files = [
'csf/panvk_vX_bind_queue.c',
@ -127,7 +127,7 @@ common_per_arch_files = [
sha1_h,
]
foreach arch : [6, 7, 10, 12, 13, 14]
foreach arch : [6, 7, 10, 12, 13, 14, 15]
per_arch_files = common_per_arch_files
inc_panvk_per_arch = []

View file

@ -64,6 +64,9 @@ panvk_catch_indirect_alloc_failure(VkResult error)
case 14: \
panvk_arch_name(name, v14)(__VA_ARGS__); \
break; \
case 15: \
panvk_arch_name(name, v15)(__VA_ARGS__); \
break; \
default: \
UNREACHABLE("Unsupported architecture"); \
} \
@ -90,6 +93,9 @@ panvk_catch_indirect_alloc_failure(VkResult error)
case 14: \
ret = panvk_arch_name(name, v14)(__VA_ARGS__); \
break; \
case 15: \
ret = panvk_arch_name(name, v15)(__VA_ARGS__); \
break; \
default: \
UNREACHABLE("Unsupported architecture"); \
} \
@ -110,6 +116,8 @@ panvk_catch_indirect_alloc_failure(VkResult error)
#define panvk_per_arch(name) panvk_arch_name(name, v13)
#elif PAN_ARCH == 14
#define panvk_per_arch(name) panvk_arch_name(name, v14)
#elif PAN_ARCH == 15
#define panvk_per_arch(name) panvk_arch_name(name, v15)
#else
#error "Unsupported arch"
#endif

View file

@ -65,6 +65,7 @@ PER_ARCH_FUNCS(10);
PER_ARCH_FUNCS(12);
PER_ARCH_FUNCS(13);
PER_ARCH_FUNCS(14);
PER_ARCH_FUNCS(15);
static VkResult
create_kmod_dev(struct panvk_physical_device *device,
@ -413,6 +414,7 @@ panvk_physical_device_init(struct panvk_physical_device *device,
case 6:
case 7:
case 14:
case 15:
if (!os_get_option("PAN_I_WANT_A_BROKEN_VULKAN_DRIVER")) {
result = panvk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
"WARNING: panvk is not well-tested on v%d, "