From 0763e94fe32c84e02fad0855787a25a7ea211a6d Mon Sep 17 00:00:00 2001 From: ewasylishen Date: Fri, 26 Feb 2016 07:37:00 +0000 Subject: [PATCH] R_UpdateWarpTextures: workaround osx 10.6 driver bug when using FSAA, reported by Barnak. R_Clear only clears the warpimage part of the screen, leading to an unplayable HOM effect on the rest of the screen. The workaround is calling GL_SetCanvas(CANVAS_DEFAULT); at the end of R_UpdateWarpTextures, it should be harmless enough on other systems, so not sure if it's worth making this workaround conditional. My guess is glClear in this implementation is wrongly using glViewport as the area to clear. git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@1291 af15c1b1-3010-417e-b628-4374ebc0bcbd --- quakespasm/Quake/gl_warp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/quakespasm/Quake/gl_warp.c b/quakespasm/Quake/gl_warp.c index 17a7ee3e..9c73b02f 100644 --- a/quakespasm/Quake/gl_warp.c +++ b/quakespasm/Quake/gl_warp.c @@ -260,6 +260,9 @@ void R_UpdateWarpTextures (void) tx->update_warp = false; } + // ericw -- workaround for osx 10.6 driver bug when using FSAA. R_Clear only clears the warpimage part of the screen. + GL_SetCanvas(CANVAS_DEFAULT); + //if warp render went down into sbar territory, we need to be sure to refresh it next frame if (gl_warpimagesize + sb_lines > glheight) Sbar_Changed ();