diff options
author | Robin Kertels <robin.kertels@gmail.com> | 2023-08-23 19:20:14 +0300 |
---|---|---|
committer | Joshie <joshua@froggi.es> | 2023-09-04 04:08:47 +0300 |
commit | 9e26964a96a1811b3c6bb9af71e1d3a6a4ce778c (patch) | |
tree | 429b10c9fcac9ce0b20c9a36ab387677ec85fb29 | |
parent | ce2f9f35ce962a094178bf8a57146a445ffcda11 (diff) |
[d3d9] Divide projected textures by w if ProjectedCount is 0
-rw-r--r-- | src/d3d9/d3d9_fixed_function.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/d3d9/d3d9_fixed_function.cpp b/src/d3d9/d3d9_fixed_function.cpp index 5581bfa1..099985f0 100644 --- a/src/d3d9/d3d9_fixed_function.cpp +++ b/src/d3d9/d3d9_fixed_function.cpp @@ -1809,8 +1809,9 @@ namespace dxvk { texcoord, texcoord, texcoordCnt, indices.data()); uint32_t projIdx = m_fsKey.Stages[i].Contents.ProjectedCount; - if (projIdx == 0 || projIdx > texcoordCnt) - projIdx = texcoordCnt; + if (projIdx == 0 || projIdx > texcoordCnt) { + projIdx = 4; // Always use w if ProjectedCount is 0. + } --projIdx; uint32_t projValue = 0; |