summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-03-17 02:09:35 +0100
committerGitHub <noreply@github.com>2018-03-17 02:09:35 +0100
commit0eff7752648473a1672df1d1ef9fdefd4dbde580 (patch)
tree7766b7e8f29e7674f1adf333c0f8f2a267a2999d /src/video_core/engines/maxwell_3d.cpp
parentMerge pull request #238 from bunnei/fix-buffer-check (diff)
parentGPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine. (diff)
downloadyuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.tar
yuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.tar.gz
yuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.tar.bz2
yuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.tar.lz
yuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.tar.xz
yuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.tar.zst
yuzu-0eff7752648473a1672df1d1ef9fdefd4dbde580.zip
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 842c5a014..8c6d1172c 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -19,6 +19,14 @@ void Maxwell3D::WriteReg(u32 method, u32 value) {
#define MAXWELL3D_REG_INDEX(field_name) (offsetof(Regs, field_name) / sizeof(u32))
switch (method) {
+ case MAXWELL3D_REG_INDEX(code_address.code_address_high):
+ case MAXWELL3D_REG_INDEX(code_address.code_address_low): {
+ // Note: For some reason games (like Puyo Puyo Tetris) seem to write 0 to the CODE_ADDRESS
+ // register, we do not currently know if that's intended or a bug, so we assert it lest
+ // stuff breaks in other places (like the shader address calculation).
+ ASSERT_MSG(regs.code_address.CodeAddress() == 0, "Unexpected CODE_ADDRESS register value.");
+ break;
+ }
case MAXWELL3D_REG_INDEX(draw.vertex_end_gl): {
DrawArrays();
break;