[D3D12]Bindless Resources Notes
keywords: Direct3D 12, D3D12, Vulkan, Bindless, Texture and Buffer, DescriptorSet, Descriptor Set Layout, Descriptor Indexing
Summary
Advantages
Difference between array textures (slot-based) and bindless textures:
Array textures are generally restricted by the fact that all textures in the array are required to use the same format and dimensions. Bindless textures are independent in size and format, but can still be accessed directly from the shader and don't require a CPU-side bind call to enable them for the shader.
Quoted from: How are bindless resources different from slot-based resources
The bindless descriptors advantages:
Bindless designs make the cpu side work a lot faster due to the CPU having to do much less work, and the GPU can also go faster due to better utilization as each drawcall is “bigger”. The less drawcalls you use to render your scene, the better, as modern GPUs are really big and have a big ramp up/ramp down time.
Quoted from GPU Driven Rendering Overview
Presentations
Exploration of Bindless Rendering in Vulkan, DirectX 12, and OpenGL [2021-04-21]
https://www.youtube.com/watch?v=SVm0HanVTRw
D3D12
Documents
Bindless Descriptors
https://wickedengine.net/2021/04/06/bindless-descriptors/
Binding Bindlessly
https://alextardif.com/Bindless.html
Bindless Texturing for Deferred Rendering and Decals
https://therealmjp.github.io/posts/bindless-texturing-for-deferred-rendering-and-decals/
https://github.com/TheRealMJP/DeferredTexturing
Vulkan
Documents
Managing bindless descriptors in Vulkan
https://dev.to/gasim/implementing-bindless-design-in-vulkan-34no
New game changing Vulkan extensions for mobile: Descriptor Indexing
Vulkan Pills 1: Bindless Textures
https://jorenjoestar.github.io/post/vulkan_bindless_texture/
Bindless descriptor sets
https://vincent-p.github.io/posts/vulkan_bindless_descriptors/
Descriptorless Rendering in Vulkan
https://msiglreith.gitbook.io/blog/descriptorless-rendering-in-vulkan
Presentations
Setting up a bindless rendering pipeline
Resources & Descriptors | “Use Buffers and Images in Vulkan Shaders”
https://www.youtube.com/watch?v=5VBVWCg7riQ
One moment of patience may ward off great disaster. One moment of impatience may ruin a whole life. -Chinese Proverbs