diff --git a/src/virtio/vulkan/vn_common.c b/src/virtio/vulkan/vn_common.c index 50d6dc736ac..90620f10447 100644 --- a/src/virtio/vulkan/vn_common.c +++ b/src/virtio/vulkan/vn_common.c @@ -32,6 +32,7 @@ static const struct debug_control vn_debug_options[] = { { "no_abort", VN_DEBUG_NO_ABORT }, { "log_ctx_info", VN_DEBUG_LOG_CTX_INFO }, { "cache", VN_DEBUG_CACHE }, + { "no_sparse", VN_DEBUG_NO_SPARSE }, { NULL, 0 }, /* clang-format on */ }; diff --git a/src/virtio/vulkan/vn_common.h b/src/virtio/vulkan/vn_common.h index 7bf1142da88..4e38fed3d74 100644 --- a/src/virtio/vulkan/vn_common.h +++ b/src/virtio/vulkan/vn_common.h @@ -104,6 +104,7 @@ enum vn_debug { VN_DEBUG_NO_ABORT = 1ull << 4, VN_DEBUG_LOG_CTX_INFO = 1ull << 5, VN_DEBUG_CACHE = 1ull << 6, + VN_DEBUG_NO_SPARSE = 1ull << 7, }; enum vn_perf { diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index 98eec8c74f5..c17ff787c18 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -795,7 +795,8 @@ vn_physical_device_init_queue_family_properties( } } - if (sparse_count && non_sparse_only_count + sparse_count == count) + if (VN_DEBUG(NO_SPARSE) || + (sparse_count && non_sparse_only_count + sparse_count == count)) physical_dev->sparse_binding_disabled = true; physical_dev->queue_family_properties = props;