marco_interpreter: write hw value when shadow ram requested

This commit is contained in:
Nguyen Dac Nam 2020-03-22 10:38:24 +07:00 committed by namkazy
parent 63c2635e6f
commit 01af036c1f

View file

@ -328,6 +328,12 @@ void MacroInterpreter::SetMethodAddress(u32 address) {
} }
void MacroInterpreter::Send(u32 value) { void MacroInterpreter::Send(u32 value) {
// Use the tracked value in shadow_regs when requested.
if (method_address.address < Engines::Maxwell3D::Regs::NUM_REGS &&
maxwell3d.shadow_state.shadow_ram_control ==
Engines::Maxwell3D::Regs::ShadowRamControl::Replay) {
value = maxwell3d.shadow_state.reg_array[method_address.address];
}
maxwell3d.CallMethodFromMME({method_address.address, value}); maxwell3d.CallMethodFromMME({method_address.address, value});
// Increment the method address by the method increment. // Increment the method address by the method increment.
method_address.address.Assign(method_address.address.Value() + method_address.address.Assign(method_address.address.Value() +