diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-04-15 22:36:14 +0200 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-04-22 17:36:18 +0200 |
commit | 0649f0590047e8cc0b16a10dec5eb74938fef718 (patch) | |
tree | b56cf7fb42c31f0012b063d356dc2b1eb1126a42 /src/video_core/renderer_opengl | |
parent | OpenGL: Guarantee writes to Buffers. (diff) | |
download | yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.tar yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.tar.gz yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.tar.bz2 yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.tar.lz yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.tar.xz yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.tar.zst yuzu-0649f0590047e8cc0b16a10dec5eb74938fef718.zip |
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r-- | src/video_core/renderer_opengl/gl_fence_manager.cpp | 8 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_fence_manager.h | 7 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 6 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/video_core/renderer_opengl/gl_fence_manager.cpp b/src/video_core/renderer_opengl/gl_fence_manager.cpp index 579c03a1e..aa57a0ae0 100644 --- a/src/video_core/renderer_opengl/gl_fence_manager.cpp +++ b/src/video_core/renderer_opengl/gl_fence_manager.cpp @@ -44,9 +44,11 @@ void GLInnerFence::Wait() { ; } -FenceManagerOpenGL::FenceManagerOpenGL(Core::System& system, VideoCore::RasterizerInterface& rasterizer, - TextureCacheOpenGL& texture_cache, OGLBufferCache& buffer_cache) - : GenericFenceManager(system, rasterizer, texture_cache, buffer_cache) {} +FenceManagerOpenGL::FenceManagerOpenGL(Core::System& system, + VideoCore::RasterizerInterface& rasterizer, + TextureCacheOpenGL& texture_cache, + OGLBufferCache& buffer_cache, QueryCache& query_cache) + : GenericFenceManager(system, rasterizer, texture_cache, buffer_cache, query_cache) {} Fence FenceManagerOpenGL::CreateFence(u32 value, bool is_stubbed) { return std::make_shared<GLInnerFence>(value, is_stubbed); diff --git a/src/video_core/renderer_opengl/gl_fence_manager.h b/src/video_core/renderer_opengl/gl_fence_manager.h index ba48d2f84..c76e69cb8 100644 --- a/src/video_core/renderer_opengl/gl_fence_manager.h +++ b/src/video_core/renderer_opengl/gl_fence_manager.h @@ -10,6 +10,7 @@ #include "common/common_types.h" #include "video_core/fence_manager.h" #include "video_core/renderer_opengl/gl_buffer_cache.h" +#include "video_core/renderer_opengl/gl_query_cache.h" #include "video_core/renderer_opengl/gl_resource_manager.h" #include "video_core/renderer_opengl/gl_texture_cache.h" @@ -32,12 +33,14 @@ private: }; using Fence = std::shared_ptr<GLInnerFence>; -using GenericFenceManager = VideoCommon::FenceManager<Fence, TextureCacheOpenGL, OGLBufferCache>; +using GenericFenceManager = + VideoCommon::FenceManager<Fence, TextureCacheOpenGL, OGLBufferCache, QueryCache>; class FenceManagerOpenGL final : public GenericFenceManager { public: FenceManagerOpenGL(Core::System& system, VideoCore::RasterizerInterface& rasterizer, - TextureCacheOpenGL& texture_cache, OGLBufferCache& buffer_cache); + TextureCacheOpenGL& texture_cache, OGLBufferCache& buffer_cache, + QueryCache& query_cache); protected: Fence CreateFence(u32 value, bool is_stubbed) override; diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index bc57d396e..6d3b5f3f4 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -101,9 +101,9 @@ RasterizerOpenGL::RasterizerOpenGL(Core::System& system, Core::Frontend::EmuWind : RasterizerAccelerated{system.Memory()}, texture_cache{system, *this, device, state_tracker}, shader_cache{*this, system, emu_window, device}, query_cache{system, *this}, system{system}, screen_info{info}, program_manager{program_manager}, state_tracker{state_tracker}, - buffer_cache{*this, system, device, STREAM_BUFFER_SIZE}, fence_manager{system, *this, - texture_cache, - buffer_cache} { + buffer_cache{*this, system, device, STREAM_BUFFER_SIZE}, fence_manager{ + system, *this, texture_cache, + buffer_cache, query_cache} { CheckExtensions(); } |