From ea7c2d3d944950cc098c9844f834cd8dc3b997f4 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Thu, 17 Nov 2022 21:37:13 +0000 Subject: [PATCH] venus: add VN_PERF_NO_MEMORY_SUBALLOC Make it easier for memory alignment debugging. Signed-off-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_common.c | 1 + src/virtio/vulkan/vn_common.h | 1 + src/virtio/vulkan/vn_device_memory.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/virtio/vulkan/vn_common.c b/src/virtio/vulkan/vn_common.c index 30a4a480c8b..5c2424ee9eb 100644 --- a/src/virtio/vulkan/vn_common.c +++ b/src/virtio/vulkan/vn_common.c @@ -38,6 +38,7 @@ static const struct debug_control vn_perf_options[] = { { "no_async_queue_submit", VN_PERF_NO_ASYNC_QUEUE_SUBMIT }, { "no_event_feedback", VN_PERF_NO_EVENT_FEEDBACK }, { "no_fence_feedback", VN_PERF_NO_FENCE_FEEDBACK }, + { "no_memory_suballoc", VN_PERF_NO_MEMORY_SUBALLOC }, { NULL, 0 }, /* clang-format on */ }; diff --git a/src/virtio/vulkan/vn_common.h b/src/virtio/vulkan/vn_common.h index 18dfb174d80..1f5ae05b98c 100644 --- a/src/virtio/vulkan/vn_common.h +++ b/src/virtio/vulkan/vn_common.h @@ -109,6 +109,7 @@ enum vn_perf { VN_PERF_NO_ASYNC_QUEUE_SUBMIT = 1ull << 2, VN_PERF_NO_EVENT_FEEDBACK = 1ull << 3, VN_PERF_NO_FENCE_FEEDBACK = 1ull << 4, + VN_PERF_NO_MEMORY_SUBALLOC = 1ull << 5, }; typedef uint64_t vn_object_id; diff --git a/src/virtio/vulkan/vn_device_memory.c b/src/virtio/vulkan/vn_device_memory.c index 56d0133041c..5aa4d963801 100644 --- a/src/virtio/vulkan/vn_device_memory.c +++ b/src/virtio/vulkan/vn_device_memory.c @@ -196,6 +196,9 @@ vn_device_memory_should_suballocate(const struct vn_device *dev, const struct vn_instance *instance = dev->physical_device->instance; const struct vn_renderer_info *renderer = &instance->renderer->info; + if (VN_PERF(NO_MEMORY_SUBALLOC)) + return false; + if (renderer->has_guest_vram) return false;