summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-09-27 15:39:42 +0200
committerFernandoS27 <fsahmkow27@gmail.com>2019-10-05 01:59:53 +0200
commit9f2719d1a43e04cc2f5296d0f9719aab9626f730 (patch)
tree0525b6cce1fc6f048951cfbceaa448cfe6d6f4c9 /src/video_core
parentCore: Wait for GPU to be idle before shutting down. (diff)
downloadyuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.tar
yuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.tar.gz
yuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.tar.bz2
yuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.tar.lz
yuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.tar.xz
yuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.tar.zst
yuzu-9f2719d1a43e04cc2f5296d0f9719aab9626f730.zip
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp1
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h3
2 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 6a17bed72..deb3e10a5 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -348,6 +348,7 @@ static constexpr auto RangeFromInterval(Map& map, const Interval& interval) {
}
void RasterizerOpenGL::UpdatePagesCachedCount(VAddr addr, u64 size, int delta) {
+ std::lock_guard lock{pages_mutex};
const u64 page_start{addr >> Memory::PAGE_BITS};
const u64 page_end{(addr + size + Memory::PAGE_SIZE - 1) >> Memory::PAGE_BITS};
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 9c10ebda3..c24a02d71 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -9,6 +9,7 @@
#include <cstddef>
#include <map>
#include <memory>
+#include <mutex>
#include <optional>
#include <tuple>
#include <utility>
@@ -230,6 +231,8 @@ private:
using CachedPageMap = boost::icl::interval_map<u64, int>;
CachedPageMap cached_pages;
+
+ std::mutex pages_mutex;
};
} // namespace OpenGL