[spirv] Added handling for multi-dimensional CT buffers#4507
[spirv] Added handling for multi-dimensional CT buffers#4507miseydl merged 1 commit intomicrosoft:mainfrom miseydl:multi_dim_cts
Conversation
|
✅ Build DirectXShaderCompiler 1.0.1757 completed (commit 4109489f88 by @miseydl) |
|
✅ Build DirectXShaderCompiler 1.0.1758 completed (commit d40d7f49ed by @miseydl) |
Test has been added. I took your repo almost verbatim. |
|
❌ Build DirectXShaderCompiler 1.0.1761 failed (commit d3b079a191 by @miseydl) |
|
✅ Build DirectXShaderCompiler 1.0.1762 completed (commit 8979ec76d5 by @miseydl) |
|
✅ Build DirectXShaderCompiler 1.0.1765 completed (commit 29d361a4c0 by @miseydl) |
|
✅ Build DirectXShaderCompiler 1.0.1766 completed (commit d6ea67a919 by @miseydl) |
|
✅ Build DirectXShaderCompiler 1.0.1768 completed (commit a4f3754d1b by @miseydl) |
kuhar
left a comment
There was a problem hiding this comment.
LGTM. Thanks for the changes.
One tiny nit: could you prepend [spirv] to the commit / PR title?
Thanks for reviewing! |
|
✅ Build DirectXShaderCompiler 1.0.1770 completed (commit 1f43fc72f4 by @miseydl) |
|
✅ Build DirectXShaderCompiler 1.0.1771 completed (commit 2027c4a422 by @miseydl) |
Previously the usage of multi dimensional ConstantBuffers would have just crashed the SPIRV generation due to a flawed assumption. This implementation is unrolling the array and is emitting the correct SPIRV.
Remark: When generating SPIRV for any Vulkan target environment the validation will fail due to a violation of Vulkan spec section 14.5.2, which requires uniform buffers to be of type struct or "array of struct". Apparently "array of array of struct" is upsetting the validator.