radv: stop allowing users to disable the global BO list
The global BO list for app allocations has been enabled by default since Mesa 25.3 and we didn't find any blockers, so let's make it the default for real. Note that vkd3d-proton and Zink always used that path and DXVK started to use it in August 2025 after requiring BDA. This removes RADV_DEBUG=nobolist which was added only for debugging purposes since the global BO list was enabled by default for app allocations. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40466>
This commit is contained in:
parent
559a35dcb3
commit
09f83982e2
4 changed files with 3 additions and 25 deletions
|
|
@ -1450,8 +1450,6 @@ RADV driver environment variables
|
|||
disable dithering for alpha to coverage
|
||||
``nobinning``
|
||||
disable primitive binning
|
||||
``nobolist``
|
||||
disable the global BO list when no features require it
|
||||
``nocache``
|
||||
disable shaders cache
|
||||
``nocompute``
|
||||
|
|
|
|||
|
|
@ -70,10 +70,9 @@ enum {
|
|||
RADV_DEBUG_NO_VIDEO = 1ull << 55,
|
||||
RADV_DEBUG_VALIDATE_VAS = 1ull << 56,
|
||||
RADV_DEBUG_DUMP_BO_HISTORY = 1ull << 57,
|
||||
RADV_DEBUG_NO_BO_LIST = 1ull << 58,
|
||||
RADV_DEBUG_DUMP_IBS = 1ull << 59,
|
||||
RADV_DEBUG_VM = 1ull << 60,
|
||||
RADV_DEBUG_NO_SMEM_MITIGATION = 1ull << 61,
|
||||
RADV_DEBUG_DUMP_IBS = 1ull << 58,
|
||||
RADV_DEBUG_VM = 1ull << 59,
|
||||
RADV_DEBUG_NO_SMEM_MITIGATION = 1ull << 60,
|
||||
RADV_DEBUG_DUMP_SHADERS = RADV_DEBUG_DUMP_VS | RADV_DEBUG_DUMP_TCS | RADV_DEBUG_DUMP_TES | RADV_DEBUG_DUMP_GS |
|
||||
RADV_DEBUG_DUMP_PS | RADV_DEBUG_DUMP_TASK | RADV_DEBUG_DUMP_MESH | RADV_DEBUG_DUMP_CS |
|
||||
RADV_DEBUG_DUMP_NIR | RADV_DEBUG_DUMP_ASM | RADV_DEBUG_DUMP_BACKEND_IR,
|
||||
|
|
|
|||
|
|
@ -1268,24 +1268,6 @@ radv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCr
|
|||
/* TODO: Remove the per cmdbuf BO list tracking after few Mesa releases if no blockers. */
|
||||
device->use_global_bo_list = pdev->info.has_vm_always_valid;
|
||||
|
||||
/* Disable it for debugging purposes if no features require it. */
|
||||
if (instance->debug_flags & RADV_DEBUG_NO_BO_LIST) {
|
||||
if (!device->vk.enabled_features.bufferDeviceAddress && !device->vk.enabled_features.descriptorIndexing &&
|
||||
!device->vk.enabled_features.descriptorBindingUniformBufferUpdateAfterBind &&
|
||||
!device->vk.enabled_features.descriptorBindingSampledImageUpdateAfterBind &&
|
||||
!device->vk.enabled_features.descriptorBindingStorageImageUpdateAfterBind &&
|
||||
!device->vk.enabled_features.descriptorBindingStorageBufferUpdateAfterBind &&
|
||||
!device->vk.enabled_features.descriptorBindingUniformTexelBufferUpdateAfterBind &&
|
||||
!device->vk.enabled_features.descriptorBindingStorageTexelBufferUpdateAfterBind &&
|
||||
!device->vk.enabled_features.descriptorBindingUpdateUnusedWhilePending &&
|
||||
!device->vk.enabled_features.descriptorBindingPartiallyBound &&
|
||||
!device->vk.enabled_features.indirectMemoryCopy && !device->vk.enabled_features.indirectMemoryToImageCopy) {
|
||||
device->use_global_bo_list = false;
|
||||
} else {
|
||||
fprintf(stderr, "radv: Can't disable the global BO list because some features require it!\n");
|
||||
}
|
||||
}
|
||||
|
||||
device->overallocation_disallowed = overallocation_disallowed;
|
||||
mtx_init(&device->overallocation_mutex, mtx_plain);
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,6 @@ static const struct debug_control radv_debug_options[] = {
|
|||
{"novideo", RADV_DEBUG_NO_VIDEO},
|
||||
{"validatevas", RADV_DEBUG_VALIDATE_VAS},
|
||||
{"bo_history", RADV_DEBUG_DUMP_BO_HISTORY},
|
||||
{"nobolist", RADV_DEBUG_NO_BO_LIST},
|
||||
{"dumpibs", RADV_DEBUG_DUMP_IBS},
|
||||
{"vm", RADV_DEBUG_VM},
|
||||
{"nosmemmitigation", RADV_DEBUG_NO_SMEM_MITIGATION},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue