From 7f37cff370f310a3f5e3eddccc11219b512c63c7 Mon Sep 17 00:00:00 2001 From: Jake Date: Tue, 20 Jun 2017 21:24:39 -0500 Subject: [PATCH] fix labels --- rpcs3/Emu/RSX/RSXThread.cpp | 4 ++-- rpcs3/Emu/RSX/rsx_methods.cpp | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 4c94e330f5..15028c4118 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -59,7 +59,7 @@ namespace rsx } case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_LOCAL: - return 0x40300000 + offset; + return 0x40301400 + offset; // not sure if this should be 0x40300000 or offset to the actual reports, lets try reports for now //return 0x100000 + offset; // TODO: Properly implement case CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN: @@ -73,7 +73,7 @@ namespace rsx case CELL_GCM_CONTEXT_DMA_SEMAPHORE_RW: case CELL_GCM_CONTEXT_DMA_SEMAPHORE_R: - return 0x40100000 + offset; + return 0x40300000 + offset; // this offset also doesnt seem like its right, but it works for now so w/e //return 0x100 + offset; // TODO: Properly implement case CELL_GCM_CONTEXT_DMA_DEVICE_RW: diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index 17505b8338..d39832e119 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -149,7 +149,7 @@ namespace rsx auto& sema = vm::ps3::_ref(rsx->label_addr); sema.semaphore[index].val = arg; sema.semaphore[index].pad = 0; - sema.semaphore[index].timestamp = get_system_time(); + sema.semaphore[index].timestamp = rsx->timestamp(); } void back_end_write_semaphore_release(thread* rsx, u32 _reg, u32 arg) @@ -170,7 +170,7 @@ namespace rsx auto& sema = vm::ps3::_ref(rsx->label_addr); sema.semaphore[index].val = val; sema.semaphore[index].pad = 0; - sema.semaphore[index].timestamp = get_system_time(); + sema.semaphore[index].timestamp = rsx->timestamp(); } @@ -381,10 +381,10 @@ namespace rsx switch (report_dma) { - case blit_engine::context_dma::to_memory_get_report: location = CELL_GCM_LOCATION_LOCAL; break; - case blit_engine::context_dma::report_location_main: - case blit_engine::context_dma::memory_host_buffer: - location = CELL_GCM_LOCATION_MAIN; break; + case blit_engine::context_dma::to_memory_get_report: location = CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_LOCAL; break; + case blit_engine::context_dma::report_location_main: location = CELL_GCM_CONTEXT_DMA_REPORT_LOCATION_MAIN; break; + case blit_engine::context_dma::memory_host_buffer: location = CELL_GCM_CONTEXT_DMA_MEMORY_HOST_BUFFER; break; + //location = CELL_GCM_LOCATION_MAIN; break; default: LOG_WARNING(RSX, "nv4097::get_report: bad report dma: 0x%x", (u8)report_dma); return; @@ -411,7 +411,7 @@ namespace rsx break; } - //result->padding = 0; + result->padding = 0; } void clear_report_value(thread* rsx, u32 _reg, u32 arg)