mesa/src/microsoft/spirv_to_dxil
Jesse Natalie 68f43aa3ec spirv2dxil: Support buffer_device_address
This works similarly to the CL compiler, where a 64-bit address is
decomposed into a 32-bit index and offset. But unlike CL, where the
index is into a per-kernel array of bound buffers, for Vulkan it points
into the global device-wide descriptor heap.

For all global deref chains that terminate in a load/store/atomic, create
a parallel deref chain that begins by decomposing the pointer to a vec2,
followed by a load_vulkan_descriptor, and then an SSBO deref chain. Any instance
where the original deref chain was used for something else will remain as
global derefs, so also run lower_explicit_io for global to produce appropriate
pointer math.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28028>
2024-03-07 22:35:09 +00:00
..
dxil_spirv_nir.c spirv2dxil: Support buffer_device_address 2024-03-07 22:35:09 +00:00
dxil_spirv_nir.h spirv2dxil: Support buffer_device_address 2024-03-07 22:35:09 +00:00
dxil_spirv_nir_lower_bindless.c spirv2dxil: Support buffer_device_address 2024-03-07 22:35:09 +00:00
meson.build micosoft: decouple microsoft vulkan driver and compiler from gallium 2023-11-04 00:02:59 +00:00
spirv2dxil.c spirv2dxil: Set push constant register space to nonzero 2024-03-01 20:49:17 +00:00
spirv_to_dxil.c microsoft/compiler: Take inputs from callers before providing nir options 2023-05-11 21:56:31 +00:00
spirv_to_dxil.def spirv_to_dxil: expose version number 2021-08-05 13:30:42 -07:00
spirv_to_dxil.h dzn: Handle depth bias for point fill mode emulation 2023-04-25 15:36:01 +00:00