summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/translate_program.cpp
diff options
context:
space:
mode:
authorGravatar Billy Laws2023-01-07 18:38:21 +0000
committerGravatar GitHub2023-01-07 18:38:21 +0000
commitd34275a260a2d2ccff3ddd971552c95f69b73e12 (patch)
tree1043be28e9536446d10074982581758b66ff3a24 /src/shader_recompiler/frontend/maxwell/translate_program.cpp
parentMerge pull request #9570 from liamwhite/less-clock-boost (diff)
downloadyuzu-d34275a260a2d2ccff3ddd971552c95f69b73e12.tar.gz
yuzu-d34275a260a2d2ccff3ddd971552c95f69b73e12.tar.xz
yuzu-d34275a260a2d2ccff3ddd971552c95f69b73e12.zip
Avoid OOB array access reading passthrough attr mask
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/translate_program.cpp')
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate_program.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate_program.cpp b/src/shader_recompiler/frontend/maxwell/translate_program.cpp
index a3b99e24d..a42453e90 100644
--- a/src/shader_recompiler/frontend/maxwell/translate_program.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate_program.cpp
@@ -259,7 +259,7 @@ IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool, ObjectPool<IR::Blo
259 program.is_geometry_passthrough = sph.common0.geometry_passthrough != 0; 259 program.is_geometry_passthrough = sph.common0.geometry_passthrough != 0;
260 if (program.is_geometry_passthrough) { 260 if (program.is_geometry_passthrough) {
261 const auto& mask{env.GpPassthroughMask()}; 261 const auto& mask{env.GpPassthroughMask()};
262 for (size_t i = 0; i < program.info.passthrough.mask.size(); ++i) { 262 for (size_t i = 0; i < mask.size() * 32; ++i) {
263 program.info.passthrough.mask[i] = ((mask[i / 32] >> (i % 32)) & 1) == 0; 263 program.info.passthrough.mask[i] = ((mask[i / 32] >> (i % 32)) & 1) == 0;
264 } 264 }
265 265