mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
083b87c712
The goal is to make a requirement for VSIR that signature element masks are always contiguous. The SPIR-V backend already implicitly makes that assumption, since it just consider the LSB and popcount of the mask. For example, consider this HLSL pixel shader: float4 main(float4 color : COLOR) : SV_Target { return float4(color.x, 10.0f, 11.0f, color.w); } Currently the parser describes the input signature element corresponding to semantic COLOR as having mask .xw, which is sensible. However, the SPIR-V parser will interpret that as a mask starting at x and with popcount 2, and assuming it is contiguous it will implicitly act as if it were .xy. This is not correct, because the wrong component will be loaded from the vertex stage. |
||
---|---|---|
.. | ||
vkd3d | ||
vkd3d-common | ||
vkd3d-shader | ||
vkd3d-utils | ||
.gitignore |