diff --git a/src/nouveau/vulkan/nvk_debug.h b/src/nouveau/vulkan/nvk_debug.h index c5aa78b6321..75ddf896193 100644 --- a/src/nouveau/vulkan/nvk_debug.h +++ b/src/nouveau/vulkan/nvk_debug.h @@ -32,6 +32,9 @@ enum nvk_debug { /* Use the EXT_descriptor_buffer path for all buffer views */ NVK_DEBUG_FORCE_EDB_BVIEW = 1ull << 6, + + /* Force all memory allocations to go to GART */ + NVK_DEBUG_FORCE_GART = 1ull << 7, }; #endif /* NVK_DEBUG_H */ diff --git a/src/nouveau/vulkan/nvk_instance.c b/src/nouveau/vulkan/nvk_instance.c index daa57de9491..c6ea37c00f0 100644 --- a/src/nouveau/vulkan/nvk_instance.c +++ b/src/nouveau/vulkan/nvk_instance.c @@ -86,6 +86,7 @@ nvk_init_debug_flags(struct nvk_instance *instance) { "vm", NVK_DEBUG_VM }, { "no_cbuf", NVK_DEBUG_NO_CBUF }, { "edb_bview", NVK_DEBUG_FORCE_EDB_BVIEW }, + { "gart", NVK_DEBUG_FORCE_GART }, { NULL, 0 }, }; diff --git a/src/nouveau/vulkan/nvkmd/nouveau/nvkmd_nouveau_mem.c b/src/nouveau/vulkan/nvkmd/nouveau/nvkmd_nouveau_mem.c index e6b1c83184c..d31da3af82b 100644 --- a/src/nouveau/vulkan/nvkmd/nouveau/nvkmd_nouveau_mem.c +++ b/src/nouveau/vulkan/nvkmd/nouveau/nvkmd_nouveau_mem.c @@ -97,6 +97,9 @@ nvkmd_nouveau_alloc_tiled_mem(struct nvkmd_dev *_dev, domains |= NOUVEAU_WS_BO_VRAM; } + if (dev->base.pdev->debug_flags & NVK_DEBUG_FORCE_GART) + domains = NOUVEAU_WS_BO_GART; + /* TODO: * * VRAM maps on Kepler appear to be broken and we don't really know why.