Henri Verbeet pushed to branch master at wine / vkd3d
Commits: 343c7942 by Anna (navi) Figueiredo Gomes at 2024-08-20T21:20:33+02:00 vkd3d-shader/spirv: Avoid decorating variables multiple times with NonReadable.
The existing code reuses the same SPIR-V variable for all descriptors mapped to the same Vulkan binding, and applies the NonReadable decoration based on the VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_READ only. This potentially causes the decoration to be applied twice, should two non-read descriptors be mapped to the same variable, which isn't allowed in SPIR-V, and the validator complains.
- - - - - a47c23fa by Anna (navi) Figueiredo Gomes at 2024-08-20T21:23:31+02:00 vkd3d-shader/spirv: Use unique SPIR-V variables for descriptors where visibility differs.
In the case two uav descriptors are mapped to the same variable, and one is read from while the other is not, the variable would get the NonReadable decorator, while being read from later.
- - - - - 94c74d2c by Anna (navi) Figueiredo Gomes at 2024-08-20T21:25:15+02:00 vkd3d-shader/spirv: Avoid decorating variables multiple times with Coherent.
- - - - -
1 changed file:
- libs/vkd3d-shader/spirv.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/c8cc1b1a2476a4c518756fd7604d3...