summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornamkazy <nam.kazt.91@gmail.com>2020-03-22 05:35:26 +0100
committernamkazy <nam.kazt.91@gmail.com>2020-03-22 05:35:26 +0100
commit7051dc19020c4cc510e5ae0b490d037ae1ad9bfe (patch)
tree19371ffffa3f3e73a519bfce16415bd9480d9bdf
parentmarco_interpreter: write hw value when shadow ram requested (diff)
downloadyuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.tar
yuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.tar.gz
yuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.tar.bz2
yuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.tar.lz
yuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.tar.xz
yuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.tar.zst
yuzu-7051dc19020c4cc510e5ae0b490d037ae1ad9bfe.zip
-rw-r--r--src/video_core/engines/maxwell_3d.cpp2
-rw-r--r--src/video_core/engines/maxwell_3d.h4
-rw-r--r--src/video_core/macro_interpreter.cpp2
3 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 96cbe374c..7a3e21c6b 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -160,7 +160,7 @@ void Maxwell3D::CallMethod(const GPU::MethodCall& method_call) {
ASSERT_MSG(method < Regs::NUM_REGS,
"Invalid Maxwell3D register, increase the size of the Regs structure");
- // Keep track of the register value in shadow_regs when requested.
+ // Keep track of the register value in shadow_state when requested.
if (regs.shadow_ram_control == Regs::ShadowRamControl::Track ||
regs.shadow_ram_control == Regs::ShadowRamControl::TrackWithFilter) {
shadow_state.reg_array[method] = method_call.argument;
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 5e531e21b..17119beda 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -532,9 +532,13 @@ public:
};
enum class ShadowRamControl : u32 {
+ // write value to shadow ram
Track = 0,
+ // write value to shadow ram ( with validation ??? )
TrackWithFilter = 1,
+ // only write to real hw register
Passthrough = 2,
+ // write value from shadow ram to real hw register
Replay = 3,
};
diff --git a/src/video_core/macro_interpreter.cpp b/src/video_core/macro_interpreter.cpp
index 181310606..861144c87 100644
--- a/src/video_core/macro_interpreter.cpp
+++ b/src/video_core/macro_interpreter.cpp
@@ -328,7 +328,7 @@ void MacroInterpreter::SetMethodAddress(u32 address) {
}
void MacroInterpreter::Send(u32 value) {
- // Use the tracked value in shadow_regs when requested.
+ // Use the tracked value in shadow_state when requested.
if (method_address.address < Engines::Maxwell3D::Regs::NUM_REGS &&
maxwell3d.shadow_state.shadow_ram_control ==
Engines::Maxwell3D::Regs::ShadowRamControl::Replay) {