Shader Toolchain: HLSL in Vulkan
summary
Support for HLSL into Vulkan now uses DXC + spirv-opt to front end, legalize, optimize and verify SPIR‑V with prebuilt binaries available. The pipeline performs legalization transforms on structs, function calls and buffer aliases so opaque textures and append structured buffers become driver acceptable. Coverage hits HLSL 5.1 and earlier, 6.0 wave ops and 64 bit integers, 6.2 16 bit types in progress. Reflection is provided via a tiny C++ header library and rapid bug fixes land in days.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:55Shader Toolchain: A Little Bit History
- 2:20Shader Toolchain: Compiler Internal Flow
- 4:09Shader Toolchain: Projects
- 4:22Shader Toolchain: SPIR-V Legalization
- 6:57SPIR-V Legalization Example 1 (Legal)
- 7:35SPIR-V Legalization Example 2 (Legal)
- 7:45Shader Toolchain: Progress & Status
- 8:37Coverage: HLSL Shader Models
- 9:39Coverage: HLSL Language Features
- 11:04Coverage: Vulkan/SPIR-V Features
- 13:09Coverage: Vulkan/SPIR-V Extensions
- 13:32Using DXC: Downloads and Docs
- 14:50Using DXC: Target Environment & Extensions
- 15:36Target Environment Example
- 16:10Extension Example
- 16:54Using DXC: Resource Descriptor Assignment
- 18:05Descriptor Assignment Example
- 19:19Using DXC: Resource Memory Layout Supported three wts of layout rules
- 20:32SPIRV-Reflect
