diff --git a/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c b/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c index ff5d089547e..435fc009387 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c +++ b/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c @@ -15,6 +15,7 @@ #include "panvk_macros.h" #include "panvk_queue.h" #include "panvk_utrace.h" +#include "panvk_sparse.h" #include "util/bitscan.h" #include "vk_drm_syncobj.h" diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build index e8ca0510d47..9c7b06d2d35 100644 --- a/src/panfrost/vulkan/meson.build +++ b/src/panfrost/vulkan/meson.build @@ -38,7 +38,6 @@ panvk_tracepoints = custom_target( libpanvk_files = files( 'panvk_buffer.c', 'panvk_cmd_pool.c', - 'panvk_device.c', 'panvk_device_memory.c', 'panvk_host_copy.c', 'panvk_image.c', @@ -46,6 +45,7 @@ libpanvk_files = files( 'panvk_mempool.c', 'panvk_physical_device.c', 'panvk_priv_bo.c', + 'panvk_sparse.c', 'panvk_utrace.c', 'panvk_wsi.c', ) diff --git a/src/panfrost/vulkan/panvk_buffer.c b/src/panfrost/vulkan/panvk_buffer.c index 29194d8042f..109a7c5b726 100644 --- a/src/panfrost/vulkan/panvk_buffer.c +++ b/src/panfrost/vulkan/panvk_buffer.c @@ -7,6 +7,7 @@ #include "panvk_device.h" #include "panvk_device_memory.h" #include "panvk_entrypoints.h" +#include "panvk_sparse.h" #include "pan_props.h" diff --git a/src/panfrost/vulkan/panvk_device.h b/src/panfrost/vulkan/panvk_device.h index d8778f02fa0..b2d99e3b6c3 100644 --- a/src/panfrost/vulkan/panvk_device.h +++ b/src/panfrost/vulkan/panvk_device.h @@ -177,11 +177,6 @@ panvk_as_free(struct panvk_device *device, uint64_t address, uint64_t size) simple_mtx_unlock(&device->as.lock); } -VkResult panvk_map_to_blackhole(struct panvk_device *device, - uint64_t address, uint64_t size); - -struct pan_kmod_bo *panvk_get_blackhole(struct panvk_device *device); - #if PAN_ARCH VkResult panvk_per_arch(create_device)(struct panvk_physical_device *physical_device, diff --git a/src/panfrost/vulkan/panvk_image.c b/src/panfrost/vulkan/panvk_image.c index e434af6806c..46837534c13 100644 --- a/src/panfrost/vulkan/panvk_image.c +++ b/src/panfrost/vulkan/panvk_image.c @@ -36,6 +36,7 @@ #include "panvk_image.h" #include "panvk_instance.h" #include "panvk_physical_device.h" +#include "panvk_sparse.h" #include "drm-uapi/drm_fourcc.h" #include "util/u_atomic.h" diff --git a/src/panfrost/vulkan/panvk_device.c b/src/panfrost/vulkan/panvk_sparse.c similarity index 96% rename from src/panfrost/vulkan/panvk_device.c rename to src/panfrost/vulkan/panvk_sparse.c index 25c0c9c913c..1abbde1685a 100644 --- a/src/panfrost/vulkan/panvk_device.c +++ b/src/panfrost/vulkan/panvk_sparse.c @@ -1,4 +1,10 @@ +/* + * Copyright © 2025 Collabora Ltd. + * SPDX-License-Identifier: MIT + */ + #include "panvk_device.h" +#include "panvk_sparse.h" #include "drm-uapi/panthor_drm.h" diff --git a/src/panfrost/vulkan/panvk_sparse.h b/src/panfrost/vulkan/panvk_sparse.h new file mode 100644 index 00000000000..ce16850cd2a --- /dev/null +++ b/src/panfrost/vulkan/panvk_sparse.h @@ -0,0 +1,16 @@ +/* + * Copyright © 2025 Collabora Ltd. + * SPDX-License-Identifier: MIT + */ + +#ifndef PANVK_SPARSE_H +#define PANVK_SPARSE_H + +#include "vk_device.h" + +VkResult panvk_map_to_blackhole(struct panvk_device *device, + uint64_t address, uint64_t size); + +struct pan_kmod_bo *panvk_get_blackhole(struct panvk_device *device); + +#endif