summaryrefslogtreecommitdiffstats
path: root/src/video_core/macro/macro_hle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/macro/macro_hle.cpp')
-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:
const u32 vertex_first = parameters[3];
const u32 vertex_count = parameters[1];
+
if (maxwell3d.AnyParametersDirty() &&
maxwell3d.GetMaxCurrentVertices() < vertex_first + vertex_count) {
@@ -135,6 +136,7 @@ private:
const u32 base_instance = parameters[4];
if (extended) {
+ maxwell3d.regs.global_base_instance_index = base_instance;
maxwell3d.engine_state = Maxwell::EngineHint::OnHLEMacro;
maxwell3d.setHLEReplacementName(0, 0x640, Maxwell::HLEReplaceName::BaseInstance);
}
@@ -144,6 +146,7 @@ private:
vertex_first, vertex_count, base_instance, instance_count);
if (extended) {
+ maxwell3d.regs.global_base_instance_index = 0;
maxwell3d.engine_state = Maxwell::EngineHint::None;
maxwell3d.replace_table.clear();
}