diff options
| author | bunnei <bunneidev@gmail.com> | 2018-07-14 20:18:11 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-14 20:18:11 -0700 |
| commit | 2cb3fdca86192d5dd2f3c988b5d57732c0bee6dc (patch) | |
| tree | 8004356e5a9cbbeb4e37dcad9d47ddfffc5f3210 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
| parent | c324a378ac5ddc106cab9856a9f90a7f8fa573f1 (diff) | |
| parent | 05cb10530fbd34635b06f75dea488a8896a763ac (diff) | |
Merge pull request #598 from bunnei/makedonecurrent
OpenGL: Use MakeCurrent/DoneCurrent for multithreaded rendering.
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 1da9e137c..eecbc5ff0 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -15,6 +15,7 @@ #include "common/microprofile.h" #include "common/scope_exit.h" #include "core/core.h" +#include "core/frontend/emu_window.h" #include "core/hle/kernel/process.h" #include "core/settings.h" #include "video_core/engines/maxwell_3d.h" @@ -22,6 +23,7 @@ #include "video_core/renderer_opengl/gl_shader_gen.h" #include "video_core/renderer_opengl/maxwell_to_gl.h" #include "video_core/renderer_opengl/renderer_opengl.h" +#include "video_core/video_core.h" using Maxwell = Tegra::Engines::Maxwell3D::Regs; using PixelFormat = SurfaceParams::PixelFormat; @@ -398,6 +400,8 @@ void RasterizerOpenGL::Clear() { if (clear_mask == 0) return; + ScopeAcquireGLContext acquire_context; + auto [dirty_color_surface, dirty_depth_surface] = ConfigureFramebuffers(use_color_fb, use_depth_fb); @@ -424,6 +428,8 @@ void RasterizerOpenGL::DrawArrays() { MICROPROFILE_SCOPE(OpenGL_Drawing); const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; + ScopeAcquireGLContext acquire_context; + auto [dirty_color_surface, dirty_depth_surface] = ConfigureFramebuffers(true, regs.zeta.Address() != 0); |
