diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/gsp_gpu.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/service/y2r_u.cpp | 2 | ||||
| -rw-r--r-- | src/core/hw/gpu.cpp | 10 |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp index 481da0c9f..3e4c70e18 100644 --- a/src/core/hle/service/gsp_gpu.cpp +++ b/src/core/hle/service/gsp_gpu.cpp | |||
| @@ -275,7 +275,7 @@ static void FlushDataCache(Service::Interface* self) { | |||
| 275 | u32 size = cmd_buff[2]; | 275 | u32 size = cmd_buff[2]; |
| 276 | u32 process = cmd_buff[4]; | 276 | u32 process = cmd_buff[4]; |
| 277 | 277 | ||
| 278 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush(Memory::VirtualToPhysicalAddress(address), size); | 278 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion(Memory::VirtualToPhysicalAddress(address), size); |
| 279 | 279 | ||
| 280 | // TODO(purpasmart96): Verify return header on HW | 280 | // TODO(purpasmart96): Verify return header on HW |
| 281 | 281 | ||
| @@ -365,7 +365,7 @@ static void ExecuteCommand(const Command& command, u32 thread_id) { | |||
| 365 | 365 | ||
| 366 | // GX request DMA - typically used for copying memory from GSP heap to VRAM | 366 | // GX request DMA - typically used for copying memory from GSP heap to VRAM |
| 367 | case CommandId::REQUEST_DMA: | 367 | case CommandId::REQUEST_DMA: |
| 368 | VideoCore::g_renderer->hw_rasterizer->NotifyPreRead(Memory::VirtualToPhysicalAddress(command.dma_request.source_address), | 368 | VideoCore::g_renderer->hw_rasterizer->FlushRegion(Memory::VirtualToPhysicalAddress(command.dma_request.source_address), |
| 369 | command.dma_request.size); | 369 | command.dma_request.size); |
| 370 | 370 | ||
| 371 | memcpy(Memory::GetPointer(command.dma_request.dest_address), | 371 | memcpy(Memory::GetPointer(command.dma_request.dest_address), |
| @@ -373,7 +373,7 @@ static void ExecuteCommand(const Command& command, u32 thread_id) { | |||
| 373 | command.dma_request.size); | 373 | command.dma_request.size); |
| 374 | SignalInterrupt(InterruptId::DMA); | 374 | SignalInterrupt(InterruptId::DMA); |
| 375 | 375 | ||
| 376 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush(Memory::VirtualToPhysicalAddress(command.dma_request.dest_address), | 376 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion(Memory::VirtualToPhysicalAddress(command.dma_request.dest_address), |
| 377 | command.dma_request.size); | 377 | command.dma_request.size); |
| 378 | break; | 378 | break; |
| 379 | 379 | ||
| @@ -467,7 +467,7 @@ static void ExecuteCommand(const Command& command, u32 thread_id) { | |||
| 467 | if (region.size == 0) | 467 | if (region.size == 0) |
| 468 | break; | 468 | break; |
| 469 | 469 | ||
| 470 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush( | 470 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion( |
| 471 | Memory::VirtualToPhysicalAddress(region.address), region.size); | 471 | Memory::VirtualToPhysicalAddress(region.address), region.size); |
| 472 | } | 472 | } |
| 473 | break; | 473 | break; |
diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp index 6b1b71fe4..face1d7b0 100644 --- a/src/core/hle/service/y2r_u.cpp +++ b/src/core/hle/service/y2r_u.cpp | |||
| @@ -267,7 +267,7 @@ static void StartConversion(Service::Interface* self) { | |||
| 267 | // dst_image_size would seem to be perfect for this, but it doesn't include the gap :( | 267 | // dst_image_size would seem to be perfect for this, but it doesn't include the gap :( |
| 268 | u32 total_output_size = conversion.input_lines * | 268 | u32 total_output_size = conversion.input_lines * |
| 269 | (conversion.dst.transfer_unit + conversion.dst.gap); | 269 | (conversion.dst.transfer_unit + conversion.dst.gap); |
| 270 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush( | 270 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion( |
| 271 | Memory::VirtualToPhysicalAddress(conversion.dst.address), total_output_size); | 271 | Memory::VirtualToPhysicalAddress(conversion.dst.address), total_output_size); |
| 272 | 272 | ||
| 273 | LOG_DEBUG(Service_Y2R, "called"); | 273 | LOG_DEBUG(Service_Y2R, "called"); |
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp index bc7bde903..55e215600 100644 --- a/src/core/hw/gpu.cpp +++ b/src/core/hw/gpu.cpp | |||
| @@ -141,7 +141,7 @@ inline void Write(u32 addr, const T data) { | |||
| 141 | GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1); | 141 | GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush(config.GetStartAddress(), config.GetEndAddress() - config.GetStartAddress()); | 144 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion(config.GetStartAddress(), config.GetEndAddress() - config.GetStartAddress()); |
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | // Reset "trigger" flag and set the "finish" flag | 147 | // Reset "trigger" flag and set the "finish" flag |
| @@ -172,7 +172,7 @@ inline void Write(u32 addr, const T data) { | |||
| 172 | u32 output_gap = config.texture_copy.output_gap * 16; | 172 | u32 output_gap = config.texture_copy.output_gap * 16; |
| 173 | 173 | ||
| 174 | size_t contiguous_input_size = config.texture_copy.size / input_width * (input_width + input_gap); | 174 | size_t contiguous_input_size = config.texture_copy.size / input_width * (input_width + input_gap); |
| 175 | VideoCore::g_renderer->hw_rasterizer->NotifyPreRead(config.GetPhysicalInputAddress(), contiguous_input_size); | 175 | VideoCore::g_renderer->hw_rasterizer->FlushRegion(config.GetPhysicalInputAddress(), contiguous_input_size); |
| 176 | 176 | ||
| 177 | u32 remaining_size = config.texture_copy.size; | 177 | u32 remaining_size = config.texture_copy.size; |
| 178 | u32 remaining_input = input_width; | 178 | u32 remaining_input = input_width; |
| @@ -205,7 +205,7 @@ inline void Write(u32 addr, const T data) { | |||
| 205 | config.flags); | 205 | config.flags); |
| 206 | 206 | ||
| 207 | size_t contiguous_output_size = config.texture_copy.size / output_width * (output_width + output_gap); | 207 | size_t contiguous_output_size = config.texture_copy.size / output_width * (output_width + output_gap); |
| 208 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush(config.GetPhysicalOutputAddress(), contiguous_output_size); | 208 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion(config.GetPhysicalOutputAddress(), contiguous_output_size); |
| 209 | 209 | ||
| 210 | GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PPF); | 210 | GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PPF); |
| 211 | break; | 211 | break; |
| @@ -232,7 +232,7 @@ inline void Write(u32 addr, const T data) { | |||
| 232 | u32 input_size = config.input_width * config.input_height * GPU::Regs::BytesPerPixel(config.input_format); | 232 | u32 input_size = config.input_width * config.input_height * GPU::Regs::BytesPerPixel(config.input_format); |
| 233 | u32 output_size = output_width * output_height * GPU::Regs::BytesPerPixel(config.output_format); | 233 | u32 output_size = output_width * output_height * GPU::Regs::BytesPerPixel(config.output_format); |
| 234 | 234 | ||
| 235 | VideoCore::g_renderer->hw_rasterizer->NotifyPreRead(config.GetPhysicalInputAddress(), input_size); | 235 | VideoCore::g_renderer->hw_rasterizer->FlushRegion(config.GetPhysicalInputAddress(), input_size); |
| 236 | 236 | ||
| 237 | for (u32 y = 0; y < output_height; ++y) { | 237 | for (u32 y = 0; y < output_height; ++y) { |
| 238 | for (u32 x = 0; x < output_width; ++x) { | 238 | for (u32 x = 0; x < output_width; ++x) { |
| @@ -339,7 +339,7 @@ inline void Write(u32 addr, const T data) { | |||
| 339 | g_regs.display_transfer_config.trigger = 0; | 339 | g_regs.display_transfer_config.trigger = 0; |
| 340 | GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PPF); | 340 | GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PPF); |
| 341 | 341 | ||
| 342 | VideoCore::g_renderer->hw_rasterizer->NotifyFlush(config.GetPhysicalOutputAddress(), output_size); | 342 | VideoCore::g_renderer->hw_rasterizer->InvalidateRegion(config.GetPhysicalOutputAddress(), output_size); |
| 343 | } | 343 | } |
| 344 | break; | 344 | break; |
| 345 | } | 345 | } |