From 543f15ae4ab2ceb47fda6149a68a31c143450705 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 26 Oct 2015 11:49:23 +0100 Subject: [PATCH] Fix GL clear-before-draw shader overlay. Refs #164 --- renderdoc/driver/gl/gl_debug.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/gl/gl_debug.cpp b/renderdoc/driver/gl/gl_debug.cpp index f6db2f596..98ca5f7d8 100644 --- a/renderdoc/driver/gl/gl_debug.cpp +++ b/renderdoc/driver/gl/gl_debug.cpp @@ -2029,7 +2029,7 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, TextureDisplayOverlay overl { vector events = passEvents; - if(overlay == eTexOverlay_QuadOverdrawDraw) + if(overlay == eTexOverlay_ClearBeforeDraw) events.clear(); events.push_back(eventID); @@ -2038,6 +2038,8 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, TextureDisplayOverlay overl { if(overlay == eTexOverlay_ClearBeforePass) ReplayLog(frameID, 0, events[0], eReplay_WithoutDraw); + else + gl.glBindFramebuffer(eGL_FRAMEBUFFER, rs.DrawFBO); // if we don't replay the real state, restore drawFBO to clear it float black[] = { 0.0f, 0.0f, 0.0f, 0.0f }; for(int i=0; i < 8; i++)