diff options
author | bunnei <bunneidev@gmail.com> | 2019-04-17 04:15:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-17 04:15:17 +0200 |
commit | 1b83f255c290fd83562502f019799ad86a85b8a8 (patch) | |
tree | 07fc355ae298cc71153d2653283723137ce9c958 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | Merge pull request #2376 from lioncash/const (diff) | |
parent | shader_ir: Implement STG, keep track of global memory usage and flush (diff) | |
download | yuzu-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.cpp | 4 |
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())); } |