Issue 124561
Summary [HLSL][SPIR-V] Resource binding allocation
Labels new issue
Assignees
Reporter s-perron
    HLSL has a syntax and rules for resource binding that are DirectX specific. In order to make the same code work for DirectX and Vulkan, DXC created a way of translating the DirectX binding information into Vulkan. See the [DXC documetantion](https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst#hlsl-register-and-vulkan-binding) for description of how it works.

First, we must implement the explicit binding attribute:

- [ ] Implement the `vk::binding(X[, Y])` attribute
- [ ] Implement the `[vk::counter_binding(Z)]` attribute

For backwards compatibility we will want to implement command line options:

- [ ] Implement -fvk-b-shift
- [ ] Implement -fvk-s-shift
- [ ] Implement -fvk-t-shift
- [ ] Implement -fvk-u-shift

We will also want to implement the Vulkan specific implicit set and binding algorithm. It is different from the DirectX algorithm because Vulkan does not have the different register types.

- [ ] Implement implicit set and binding assignment for resources.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to