panvk: Advertize v10 support

Patch panvk_macros.h to add a case for v10 and accept v10 devices.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30969>
This commit is contained in:
Boris Brezillon
2024-08-26 13:29:03 +02:00
committed by Marge Bot
parent f8598e599e
commit 5db135f66a
2 changed files with 15 additions and 2 deletions

View File

@@ -29,6 +29,9 @@
case 7: \ case 7: \
panvk_arch_name(name, v7)(__VA_ARGS__); \ panvk_arch_name(name, v7)(__VA_ARGS__); \
break; \ break; \
case 10: \
panvk_arch_name(name, v10)(__VA_ARGS__); \
break; \
default: \ default: \
unreachable("Unsupported architecture"); \ unreachable("Unsupported architecture"); \
} \ } \
@@ -43,6 +46,9 @@
case 7: \ case 7: \
ret = panvk_arch_name(name, v7)(__VA_ARGS__); \ ret = panvk_arch_name(name, v7)(__VA_ARGS__); \
break; \ break; \
case 10: \
ret = panvk_arch_name(name, v10)(__VA_ARGS__); \
break; \
default: \ default: \
unreachable("Unsupported architecture"); \ unreachable("Unsupported architecture"); \
} \ } \

View File

@@ -670,7 +670,7 @@ panvk_physical_device_init(struct panvk_physical_device *device,
path); path);
} }
if (strcmp(version->name, "panfrost")) { if (strcmp(version->name, "panfrost") && strcmp(version->name, "panthor")) {
drmFreeVersion(version); drmFreeVersion(version);
close(fd); close(fd);
return vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER, return vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
@@ -706,7 +706,13 @@ panvk_physical_device_init(struct panvk_physical_device *device,
unsigned arch = pan_arch(device->kmod.props.gpu_prod_id); unsigned arch = pan_arch(device->kmod.props.gpu_prod_id);
if (arch <= 5 || arch >= 8) { switch (arch) {
case 6:
case 7:
case 10:
break;
default:
result = vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER, result = vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
"%s not supported", device->model->name); "%s not supported", device->model->name);
goto fail; goto fail;
@@ -899,6 +905,7 @@ panvk_GetPhysicalDeviceExternalFenceProperties(
DEVICE_PER_ARCH_FUNCS(6); DEVICE_PER_ARCH_FUNCS(6);
DEVICE_PER_ARCH_FUNCS(7); DEVICE_PER_ARCH_FUNCS(7);
DEVICE_PER_ARCH_FUNCS(10);
VKAPI_ATTR VkResult VKAPI_CALL VKAPI_ATTR VkResult VKAPI_CALL
panvk_CreateDevice(VkPhysicalDevice physicalDevice, panvk_CreateDevice(VkPhysicalDevice physicalDevice,