diff options
| author | 2023-04-30 17:14:06 +0200 | |
|---|---|---|
| committer | 2023-05-07 23:46:12 +0200 | |
| commit | c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4 (patch) | |
| tree | 0d71092cfad84e47a193917028200e2fc216f5e6 /src/video_core/renderer_null | |
| parent | Merge pull request #10097 from german77/nfp_full (diff) | |
| download | yuzu-c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4.tar.gz yuzu-c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4.tar.xz yuzu-c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4.zip | |
GPU: Add Reactive flushing
Diffstat (limited to 'src/video_core/renderer_null')
| -rw-r--r-- | src/video_core/renderer_null/null_rasterizer.cpp | 10 | ||||
| -rw-r--r-- | src/video_core/renderer_null/null_rasterizer.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/renderer_null/null_rasterizer.cpp b/src/video_core/renderer_null/null_rasterizer.cpp index 2b5c7defa..bf2ce4c49 100644 --- a/src/video_core/renderer_null/null_rasterizer.cpp +++ b/src/video_core/renderer_null/null_rasterizer.cpp | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project | 1 | // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include "common/alignment.h" | ||
| 5 | #include "core/memory.h" | ||
| 4 | #include "video_core/host1x/host1x.h" | 6 | #include "video_core/host1x/host1x.h" |
| 5 | #include "video_core/memory_manager.h" | 7 | #include "video_core/memory_manager.h" |
| 6 | #include "video_core/renderer_null/null_rasterizer.h" | 8 | #include "video_core/renderer_null/null_rasterizer.h" |
| @@ -46,6 +48,14 @@ bool RasterizerNull::MustFlushRegion(VAddr addr, u64 size, VideoCommon::CacheTyp | |||
| 46 | } | 48 | } |
| 47 | void RasterizerNull::InvalidateRegion(VAddr addr, u64 size, VideoCommon::CacheType) {} | 49 | void RasterizerNull::InvalidateRegion(VAddr addr, u64 size, VideoCommon::CacheType) {} |
| 48 | void RasterizerNull::OnCPUWrite(VAddr addr, u64 size) {} | 50 | void RasterizerNull::OnCPUWrite(VAddr addr, u64 size) {} |
| 51 | VideoCore::RasterizerDownloadArea RasterizerNull::GetFlushArea(VAddr addr, u64 size) { | ||
| 52 | VideoCore::RasterizerDownloadArea new_area{ | ||
| 53 | .start_address = Common::AlignDown(addr, Core::Memory::YUZU_PAGESIZE), | ||
| 54 | .end_address = Common::AlignUp(addr + size, Core::Memory::YUZU_PAGESIZE), | ||
| 55 | .preemtive = true, | ||
| 56 | }; | ||
| 57 | return new_area; | ||
| 58 | } | ||
| 49 | void RasterizerNull::InvalidateGPUCache() {} | 59 | void RasterizerNull::InvalidateGPUCache() {} |
| 50 | void RasterizerNull::UnmapMemory(VAddr addr, u64 size) {} | 60 | void RasterizerNull::UnmapMemory(VAddr addr, u64 size) {} |
| 51 | void RasterizerNull::ModifyGPUMemory(size_t as_id, GPUVAddr addr, u64 size) {} | 61 | void RasterizerNull::ModifyGPUMemory(size_t as_id, GPUVAddr addr, u64 size) {} |
diff --git a/src/video_core/renderer_null/null_rasterizer.h b/src/video_core/renderer_null/null_rasterizer.h index 0c59e6a1f..a8d35d2c1 100644 --- a/src/video_core/renderer_null/null_rasterizer.h +++ b/src/video_core/renderer_null/null_rasterizer.h | |||
| @@ -54,6 +54,7 @@ public: | |||
| 54 | void InvalidateRegion(VAddr addr, u64 size, | 54 | void InvalidateRegion(VAddr addr, u64 size, |
| 55 | VideoCommon::CacheType which = VideoCommon::CacheType::All) override; | 55 | VideoCommon::CacheType which = VideoCommon::CacheType::All) override; |
| 56 | void OnCPUWrite(VAddr addr, u64 size) override; | 56 | void OnCPUWrite(VAddr addr, u64 size) override; |
| 57 | VideoCore::RasterizerDownloadArea GetFlushArea(VAddr addr, u64 size) override; | ||
| 57 | void InvalidateGPUCache() override; | 58 | void InvalidateGPUCache() override; |
| 58 | void UnmapMemory(VAddr addr, u64 size) override; | 59 | void UnmapMemory(VAddr addr, u64 size) override; |
| 59 | void ModifyGPUMemory(size_t as_id, GPUVAddr addr, u64 size) override; | 60 | void ModifyGPUMemory(size_t as_id, GPUVAddr addr, u64 size) override; |