dzn: Don't enable bindless by default
authorJesse Natalie <jenatali@microsoft.com>
Fri, 7 Apr 2023 23:54:03 +0000 (16:54 -0700)
committerMarge Bot <emma+marge@anholt.net>
Mon, 10 Apr 2023 18:43:12 +0000 (18:43 +0000)
There's bad interactions with dynamic buffers at this point:
* Perf issues due to allocating and freeing the buffer to store indices/offsets
* Large dynamic uniform buffer offsets (above 65K) cause out-of-bounds reads

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371>

src/microsoft/vulkan/dzn_device.c

index 15a7a69..3c5d4ce 100644 (file)
@@ -2421,12 +2421,6 @@ dzn_device_create(struct dzn_physical_device *pdev,
 
    device->support_static_samplers = true;
    device->bindless = (instance->debug_flags & DZN_DEBUG_BINDLESS) != 0 ||
-#if D3D12_SDK_VERSION >= 610
-      /* Enable bindless by default when we can do it and still be in-spec, this is
-       * likely to be more efficient than the "bindful" method of copying descriptors. */
-      (pdev->options19.MaxSamplerDescriptorHeapSize >= 4000 &&
-       pdev->shader_model >= D3D_SHADER_MODEL_6_6) ||
-#endif
       device->vk.enabled_features.descriptorIndexing ||
       device->vk.enabled_extensions.EXT_descriptor_indexing;