From 6901bb0c6c4b91d17e96dcb0738b1b90681f7743 Mon Sep 17 00:00:00 2001 From: Ahmed Hesham Date: Thu, 6 Nov 2025 14:01:20 +0000 Subject: [PATCH] panfrost/lima/panvk: Define a common vendor ID Rusticl reports `CL_DEVICE_VENDOR_ID` using the `vendor_id` property defined in Panfrost. The value is not set so a `0` is reported instead. Initialise the value to `0x13B5`, which is Arm's PCI vendor ID. Add the definition in `lib/pan_props.h` so it can be shared with Gallium Lima, Panfrost and PanVK. Signed-off-by: Ahmed Hesham Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/lima/lima_screen.c | 4 +++- src/gallium/drivers/panfrost/pan_screen.c | 2 ++ src/panfrost/lib/pan_props.h | 2 ++ src/panfrost/vulkan/panvk_vX_physical_device.c | 1 - 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/lima/lima_screen.c b/src/gallium/drivers/lima/lima_screen.c index 56cbd79ac4a..18ce19befde 100644 --- a/src/gallium/drivers/lima/lima_screen.c +++ b/src/gallium/drivers/lima/lima_screen.c @@ -45,6 +45,8 @@ #include "xf86drm.h" +#include "pan_props.h" + int lima_plb_max_blk = 0; int lima_plb_pp_stream_cache_size = 0; @@ -168,7 +170,7 @@ lima_init_screen_caps(struct pipe_screen *screen) caps->max_texture_3d_levels = caps->max_texture_cube_levels = LIMA_MAX_MIP_LEVELS; - caps->vendor_id = 0x13B5; + caps->vendor_id = ARM_VENDOR_ID; caps->video_memory = 0; diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index 3c772e5a44e..539d453069b 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -681,6 +681,8 @@ panfrost_init_screen_caps(struct panfrost_screen *screen) u_init_pipe_screen_caps(&screen->base, 1); + caps->vendor_id = ARM_VENDOR_ID; + struct panfrost_device *dev = &screen->dev; /* Our GL 3.x implementation is WIP */ diff --git a/src/panfrost/lib/pan_props.h b/src/panfrost/lib/pan_props.h index e3ca79683f8..7264795ab7a 100644 --- a/src/panfrost/lib/pan_props.h +++ b/src/panfrost/lib/pan_props.h @@ -38,6 +38,8 @@ struct pan_kmod_dev; struct pan_kmod_dev_props; struct pan_kmod_vm; +#define ARM_VENDOR_ID 0x13B5 + unsigned pan_query_l2_slices(const struct pan_kmod_dev_props *props); struct pan_tiler_features diff --git a/src/panfrost/vulkan/panvk_vX_physical_device.c b/src/panfrost/vulkan/panvk_vX_physical_device.c index 9597ed3d4ee..25b7a460df1 100644 --- a/src/panfrost/vulkan/panvk_vX_physical_device.c +++ b/src/panfrost/vulkan/panvk_vX_physical_device.c @@ -29,7 +29,6 @@ #include "pan_props.h" #include "util/pan_ir.h" -#define ARM_VENDOR_ID 0x13b5 /* We reserve one ubo for push constant, one for sysvals and one per-set for the * descriptor metadata */ #define RESERVED_UBO_COUNT 6