From 5d709e329afbeda1f8029244d619676e3729e868 Mon Sep 17 00:00:00 2001 From: aignacio_sf <> Date: Wed, 12 Jul 2006 01:59:33 +0000 Subject: [PATCH] Fix fullscreen with stencil. Problem was caused by attempted optimization by using a 16-bit depth buffer. --- panda/src/dxgsg8/wdxGraphicsPipe8.cxx | 47 ++++++++++++++------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/panda/src/dxgsg8/wdxGraphicsPipe8.cxx b/panda/src/dxgsg8/wdxGraphicsPipe8.cxx index 5e7432e65e..de38560968 100644 --- a/panda/src/dxgsg8/wdxGraphicsPipe8.cxx +++ b/panda/src/dxgsg8/wdxGraphicsPipe8.cxx @@ -94,7 +94,7 @@ make_output(const string &name, GraphicsOutput *host, int retry, bool &precertify) { - + if (!_is_valid) { return NULL; } @@ -103,7 +103,7 @@ make_output(const string &name, if (gsg != 0) { DCAST_INTO_R(wdxgsg, gsg, NULL); } - + // First thing to try: a visible window. if (retry == 0) { @@ -118,7 +118,7 @@ make_output(const string &name, return new wdxGraphicsWindow8(this, name, fb_prop, win_prop, flags, gsg, host); } - + // Second thing to try: a wdxGraphicsBuffer8 if (retry == 1) { @@ -139,7 +139,7 @@ make_output(const string &name, return new wdxGraphicsBuffer8(this, name, fb_prop, win_prop, flags, gsg, host); } - + // Nothing else left to try. return NULL; } @@ -631,7 +631,7 @@ search_for_valid_displaymode(DXScreenData &scrn, } bool bIs16bppRenderTgt = IS_16BPP_DISPLAY_FORMAT(dispmode.Format); - float RendTgtMinMemReqmt; + float RendTgtMinMemReqmt = 0.0f; // if we have a valid memavail value, try to determine if we have // enough space @@ -703,25 +703,28 @@ search_for_valid_displaymode(DXScreenData &scrn, } } - if ((!bDoMemBasedChecks) || (MinMemReqmt