From 0dad7857d8996e8e17d075b43e067950ed3776a2 Mon Sep 17 00:00:00 2001 From: Mel Henning Date: Fri, 7 Mar 2025 15:14:10 -0500 Subject: [PATCH] nvk: Add NVK_DEBUG=trash_memory Reviewed-by: Faith Ekstrand Part-of: --- src/nouveau/vulkan/nvk_debug.h | 6 +++++- src/nouveau/vulkan/nvk_device_memory.c | 9 ++++++--- src/nouveau/vulkan/nvk_instance.c | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/nouveau/vulkan/nvk_debug.h b/src/nouveau/vulkan/nvk_debug.h index 75ddf896193..7888192ee31 100644 --- a/src/nouveau/vulkan/nvk_debug.h +++ b/src/nouveau/vulkan/nvk_debug.h @@ -20,9 +20,13 @@ enum nvk_debug { */ NVK_DEBUG_ZERO_MEMORY = 1ull << 2, + /* Write repeating nonzero patterns to client memory allocations + */ + NVK_DEBUG_TRASH_MEMORY = 1ull << 3, + /* Dump VM bind/unbinds */ - NVK_DEBUG_VM = 1ull << 3, + NVK_DEBUG_VM = 1ull << 4, /* Disable most cbufs * diff --git a/src/nouveau/vulkan/nvk_device_memory.c b/src/nouveau/vulkan/nvk_device_memory.c index 967076ceaeb..73aeb45c08c 100644 --- a/src/nouveau/vulkan/nvk_device_memory.c +++ b/src/nouveau/vulkan/nvk_device_memory.c @@ -189,7 +189,9 @@ nvk_AllocateMemory(VkDevice device, goto fail_alloc; } - if ((pdev->debug_flags & NVK_DEBUG_ZERO_MEMORY) && !is_import) { + if (!is_import && (pdev->debug_flags & (NVK_DEBUG_ZERO_MEMORY | + NVK_DEBUG_TRASH_MEMORY))) { + bool use_zero = (pdev->debug_flags & NVK_DEBUG_ZERO_MEMORY) != 0; if (type->propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) { void *map; result = nvkmd_mem_map(mem->mem, &dev->vk.base, @@ -197,12 +199,13 @@ nvk_AllocateMemory(VkDevice device, if (result != VK_SUCCESS) goto fail_mem; - memset(map, 0, mem->mem->size_B); + memset(map, use_zero ? 0 : 0xF1, mem->mem->size_B); nvkmd_mem_unmap(mem->mem, 0); } else { result = nvk_upload_queue_fill(dev, &dev->upload, mem->mem->va->addr, - 0, mem->mem->size_B); + use_zero ? 0 : 0xCAFEF00D, + mem->mem->size_B); if (result != VK_SUCCESS) goto fail_mem; diff --git a/src/nouveau/vulkan/nvk_instance.c b/src/nouveau/vulkan/nvk_instance.c index edaba417447..8c7d9050063 100644 --- a/src/nouveau/vulkan/nvk_instance.c +++ b/src/nouveau/vulkan/nvk_instance.c @@ -89,6 +89,7 @@ nvk_init_debug_flags(struct nvk_instance *instance) { "push", NVK_DEBUG_PUSH_DUMP }, { "push_sync", NVK_DEBUG_PUSH_SYNC }, { "zero_memory", NVK_DEBUG_ZERO_MEMORY }, + { "trash_memory", NVK_DEBUG_TRASH_MEMORY }, { "vm", NVK_DEBUG_VM }, { "no_cbuf", NVK_DEBUG_NO_CBUF }, { "edb_bview", NVK_DEBUG_FORCE_EDB_BVIEW },