diff options
| author | bunnei <bunneidev@gmail.com> | 2022-03-28 21:36:39 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-28 21:36:39 -0700 |
| commit | 98eafe1fa8ffd8cae697339a99fde57e49f60c85 (patch) | |
| tree | 04509813b4509c2704e7c85d7eebbd1e909c5344 /src | |
| parent | 99fbd2057b6039ea4fd6af395347429930509eaf (diff) | |
| parent | ddafe40dc1959ec84d80c9f989e549229904e42d (diff) | |
Merge pull request #8106 from ameerj/gl-extreme-crash
gl_rasterizer: Avoid scenario locking already owned mutex
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 4d632d2113..e6f9ece8bb 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -15,8 +15,9 @@ #include "common/logging/log.h" #include "common/math_util.h" #include "common/microprofile.h" +#include "common/scope_exit.h" #include "common/settings.h" -#include "core/memory.h" + #include "video_core/engines/kepler_compute.h" #include "video_core/engines/maxwell_3d.h" #include "video_core/memory_manager.h" @@ -210,6 +211,7 @@ void RasterizerOpenGL::Clear() { void RasterizerOpenGL::Draw(bool is_indexed, bool is_instanced) { MICROPROFILE_SCOPE(OpenGL_Drawing); + SCOPE_EXIT({ gpu.TickWork(); }); query_cache.UpdateCounters(); GraphicsPipeline* const pipeline{shader_cache.CurrentGraphicsPipeline()}; @@ -265,8 +267,6 @@ void RasterizerOpenGL::Draw(bool is_indexed, bool is_instanced) { ++num_queued_commands; has_written_global_memory |= pipeline->WritesGlobalMemory(); - - gpu.TickWork(); } void RasterizerOpenGL::DispatchCompute() { |
