summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-04-17 04:15:17 +0200
committerGitHub <noreply@github.com>2019-04-17 04:15:17 +0200
commit1b83f255c290fd83562502f019799ad86a85b8a8 (patch)
tree07fc355ae298cc71153d2653283723137ce9c958 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentMerge pull request #2376 from lioncash/const (diff)
parentshader_ir: Implement STG, keep track of global memory usage and flush (diff)
downloadyuzu-1b83f255c290fd83562502f019799ad86a85b8a8.tar
yuzu-1b83f255c290fd83562502f019799ad86a85b8a8.tar.gz
yuzu-1b83f255c290fd83562502f019799ad86a85b8a8.tar.bz2
yuzu-1b83f255c290fd83562502f019799ad86a85b8a8.tar.lz
yuzu-1b83f255c290fd83562502f019799ad86a85b8a8.tar.xz
yuzu-1b83f255c290fd83562502f019799ad86a85b8a8.tar.zst
yuzu-1b83f255c290fd83562502f019799ad86a85b8a8.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index d250d5cbb..ea42fd060 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -756,6 +756,7 @@ void RasterizerOpenGL::FlushRegion(CacheAddr addr, u64 size) {
return;
}
res_cache.FlushRegion(addr, size);
+ global_cache.FlushRegion(addr, size);
}
void RasterizerOpenGL::InvalidateRegion(CacheAddr addr, u64 size) {
@@ -953,6 +954,9 @@ void RasterizerOpenGL::SetupGlobalRegions(Tegra::Engines::Maxwell3D::Regs::Shade
for (std::size_t bindpoint = 0; bindpoint < entries.size(); ++bindpoint) {
const auto& entry{entries[bindpoint]};
const auto& region{global_cache.GetGlobalRegion(entry, stage)};
+ if (entry.IsWritten()) {
+ region->MarkAsModified(true, global_cache);
+ }
bind_ssbo_pushbuffer.Push(region->GetBufferHandle(), 0,
static_cast<GLsizeiptr>(region->GetSizeInBytes()));
}