summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-07-07 02:26:21 +0200
committerGitHub <noreply@github.com>2021-07-07 02:26:21 +0200
commiteb3cb3af353dd1d62b11a6032e35656153ecb505 (patch)
tree239f6d2857bd4af68ed77b91639c1d7fce5934cb /src/video_core/renderer_opengl
parentMerge pull request #6566 from Morph1984/sign-compare-as-error (diff)
parentTexture Cache: Fix collision with multiple overlaps of the same sparse texture. (diff)
downloadyuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar
yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.gz
yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.bz2
yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.lz
yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.xz
yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.zst
yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.zip
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) {
shader_cache.OnCPUWrite(addr, size);
}
+void RasterizerOpenGL::ModifyGPUMemory(GPUVAddr addr, u64 size) {
+ {
+ std::scoped_lock lock{texture_cache.mutex};
+ texture_cache.UnmapGPUMemory(addr, size);
+ }
+}
+
void RasterizerOpenGL::SignalSemaphore(GPUVAddr addr, u32 value) {
if (!gpu.IsAsync()) {
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:
void OnCPUWrite(VAddr addr, u64 size) override;
void SyncGuestHost() override;
void UnmapMemory(VAddr addr, u64 size) override;
+ void ModifyGPUMemory(GPUVAddr addr, u64 size) override;
void SignalSemaphore(GPUVAddr addr, u32 value) override;
void SignalSyncPoint(u32 value) override;
void ReleaseFences() override;