summaryrefslogtreecommitdiff
path: root/src/video_core/macro
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-11-27 00:58:06 +0100
committerGravatar Fernando Sahmkow2023-01-01 16:43:57 -0500
commitcb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644 (patch)
tree46e00278c6265ed501488e7c6f02fc4c12a6af6c /src/video_core/macro
parentRevert Buffer cache changes and setup additional macros. (diff)
downloadyuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.gz
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.xz
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.zip
DMAPusher: Improve collection of non executing methods
Diffstat (limited to 'src/video_core/macro')
-rw-r--r--src/video_core/macro/macro_hle.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/macro/macro_hle.cpp b/src/video_core/macro/macro_hle.cpp
index 3eac50975..294a338d2 100644
--- a/src/video_core/macro/macro_hle.cpp
+++ b/src/video_core/macro/macro_hle.cpp
@@ -126,6 +126,7 @@ private:
126 126
127 const u32 vertex_first = parameters[3]; 127 const u32 vertex_first = parameters[3];
128 const u32 vertex_count = parameters[1]; 128 const u32 vertex_count = parameters[1];
129
129 130
130 if (maxwell3d.AnyParametersDirty() && 131 if (maxwell3d.AnyParametersDirty() &&
131 maxwell3d.GetMaxCurrentVertices() < vertex_first + vertex_count) { 132 maxwell3d.GetMaxCurrentVertices() < vertex_first + vertex_count) {
@@ -135,6 +136,7 @@ private:
135 136
136 const u32 base_instance = parameters[4]; 137 const u32 base_instance = parameters[4];
137 if (extended) { 138 if (extended) {
139 maxwell3d.regs.global_base_instance_index = base_instance;
138 maxwell3d.engine_state = Maxwell::EngineHint::OnHLEMacro; 140 maxwell3d.engine_state = Maxwell::EngineHint::OnHLEMacro;
139 maxwell3d.setHLEReplacementName(0, 0x640, Maxwell::HLEReplaceName::BaseInstance); 141 maxwell3d.setHLEReplacementName(0, 0x640, Maxwell::HLEReplaceName::BaseInstance);
140 } 142 }
@@ -144,6 +146,7 @@ private:
144 vertex_first, vertex_count, base_instance, instance_count); 146 vertex_first, vertex_count, base_instance, instance_count);
145 147
146 if (extended) { 148 if (extended) {
149 maxwell3d.regs.global_base_instance_index = 0;
147 maxwell3d.engine_state = Maxwell::EngineHint::None; 150 maxwell3d.engine_state = Maxwell::EngineHint::None;
148 maxwell3d.replace_table.clear(); 151 maxwell3d.replace_table.clear();
149 } 152 }