Skip to content
Permalink
Browse files

Merge pull request #8182 from Techjar/imgui-reset-scissor

VideoCommon/RenderBase: Reset scissor rectangle after ImGui rendering
  • Loading branch information...
stenzek committed Jun 15, 2019
2 parents c34388f + 56c818b commit 9e1c38b6e19687cd88188a87eeb82b867d8b8742
Showing with 9 additions and 0 deletions.
  1. +9 −0 Source/Core/VideoCommon/RenderBase.cpp
@@ -1148,6 +1148,15 @@ void Renderer::DrawImGui()
base_index += cmd.ElemCount;
}
}

// Some capture software (such as OBS) hooks SwapBuffers and uses glBlitFramebuffer to copy our
// back buffer just before swap. Because glBlitFramebuffer honors the scissor test, the capture
// itself will be clipped to whatever bounds were last set by ImGui, resulting in a rather useless
// capture whenever any ImGui windows are open. We'll reset the scissor rectangle to the entire
// viewport here to avoid this problem.
SetScissorRect(ConvertFramebufferRectangle(
MathUtil::Rectangle<int>(0, 0, m_backbuffer_width, m_backbuffer_height),
m_current_framebuffer));
}

std::unique_lock<std::mutex> Renderer::GetImGuiLock()

0 comments on commit 9e1c38b

Please sign in to comment.
You can’t perform that action at this time.