From 16d65182f99ed1066c8e88a774d0a3637f97ae01 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 28 Aug 2018 18:43:08 -0400 Subject: gl_rasterizer: Fix issues with the rasterizer cache. - Use a single cached page map. - Fix calculation of ending page. --- src/video_core/renderer_opengl/gl_rasterizer.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/video_core/renderer_opengl/gl_rasterizer.h') diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index 7dd329efe..57837bef6 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h @@ -10,7 +10,11 @@ #include #include #include + +#include +#include #include + #include "common/common_types.h" #include "video_core/engines/maxwell_3d.h" #include "video_core/memory_manager.h" @@ -49,6 +53,7 @@ public: bool AccelerateDisplay(const Tegra::FramebufferConfig& config, VAddr framebuffer_addr, u32 pixel_stride) override; bool AccelerateDrawBatch(bool is_indexed) override; + void UpdatePagesCachedCount(Tegra::GPUVAddr addr, u64 size, int delta) override; /// OpenGL shader generated for a given Maxwell register state struct MaxwellShader { @@ -187,6 +192,9 @@ private: enum class AccelDraw { Disabled, Arrays, Indexed }; AccelDraw accelerate_draw = AccelDraw::Disabled; + + using CachedPageMap = boost::icl::interval_map; + CachedPageMap cached_pages; }; } // namespace OpenGL -- cgit v1.2.3