From e4ef85b6e044a6b2230fec56cf01e3ab3783647a Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 29 Oct 2017 15:31:22 +0300 Subject: [PATCH] rsx: Experimental; Try to calculate pixel offset using nv3062 pitch register since we know the target block is defined with 3062 registers --- rpcs3/Emu/RSX/rsx_methods.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index 9de434953f..2fc07f39e4 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -486,7 +486,8 @@ namespace rsx LOG_ERROR(RSX, "%s: y is not null (0x%x)", __FUNCTION__, y); } - u32 address = get_address(method_registers.blit_engine_output_offset_nv3062() + (x << 2) + index * 4, method_registers.blit_engine_output_location_nv3062()); + const u32 pixel_offset = (method_registers.blit_engine_output_pitch_nv3062() * y) + (x << 2); + u32 address = get_address(method_registers.blit_engine_output_offset_nv3062() + pixel_offset + index * 4, method_registers.blit_engine_output_location_nv3062()); vm::ps3::write32(address, arg); } };