summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2021-06-12 15:52:27 +0200
committerGravatar Fernando Sahmkow2021-07-04 22:32:03 +0200
commit38165fb7e3e486b5099cfa76f5a09ec9f3201acd (patch)
treea80e66a254960c9c8c602f256cd37361c780d188 /src/video_core/renderer_opengl
parentMerge pull request #6553 from FernandoS27/bite-a-bat-change-the-world (diff)
downloadyuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.gz
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.xz
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.zip
Texture Cache: Initial Implementation of Sparse Textures.
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp7
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index eb8bdaa85..07ad0e205 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -611,6 +611,13 @@ void RasterizerOpenGL::UnmapMemory(VAddr addr, u64 size) {
611 shader_cache.OnCPUWrite(addr, size); 611 shader_cache.OnCPUWrite(addr, size);
612} 612}
613 613
614void RasterizerOpenGL::ModifyGPUMemory(GPUVAddr addr, u64 size) {
615 {
616 std::scoped_lock lock{texture_cache.mutex};
617 texture_cache.UnmapGPUMemory(addr, size);
618 }
619}
620
614void RasterizerOpenGL::SignalSemaphore(GPUVAddr addr, u32 value) { 621void RasterizerOpenGL::SignalSemaphore(GPUVAddr addr, u32 value) {
615 if (!gpu.IsAsync()) { 622 if (!gpu.IsAsync()) {
616 gpu_memory.Write<u32>(addr, value); 623 gpu_memory.Write<u32>(addr, value);
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 9995a563b..482efed7a 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -80,6 +80,7 @@ public:
80 void OnCPUWrite(VAddr addr, u64 size) override; 80 void OnCPUWrite(VAddr addr, u64 size) override;
81 void SyncGuestHost() override; 81 void SyncGuestHost() override;
82 void UnmapMemory(VAddr addr, u64 size) override; 82 void UnmapMemory(VAddr addr, u64 size) override;
83 void ModifyGPUMemory(GPUVAddr addr, u64 size) override;
83 void SignalSemaphore(GPUVAddr addr, u32 value) override; 84 void SignalSemaphore(GPUVAddr addr, u32 value) override;
84 void SignalSyncPoint(u32 value) override; 85 void SignalSyncPoint(u32 value) override;
85 void ReleaseFences() override; 86 void ReleaseFences() override;