ok sorry for cutting and pasting the whole routine.. did not see to do just the diff ... (give the old guy a break.. I am an architect now not a programmer <G>) here is the diff : 119d118 < 122d120 <???? WineD3D_PixelFormat *cfgs = This->adapter->cfgs; 124,125c122,124 <???? TRACE("ColorFormat=%s, DepthStencilFormat=%s, auxBuffers=%d, numSamples=%d, pbuffer=%d, findCompatible=%d\n", <?????????? debug_d3dformat(ColorFormat), debug_d3dformat(DepthStencilFormat), auxBuffers, numSamples, pbuffer, findCompatible); ---
???? WineD3D_PixelFormat *cfgs = This->adapter->cfgs; ???? BOOL exactDepthMatch = FALSE;? /*Changed june 23,08 */?? ???? PIXELFORMATDESCRIPTOR pfd;???? /*Changed june 23,08 */ 148,150c147,151 <???? if(DepthStencilFormat) { <???????? getDepthStencilBits(DepthStencilFormat, &depthBits, &stencilBits); <???? }
/* Changed Section June 24,08 */
/*??? if(DepthStencilFormat) {???????????????????? Changed June 19,08*/ ???? getDepthStencilBits(DepthStencilFormat, &depthBits, &stencilBits); /*??? } */ 153,154c154,155 <???? for(i=0; i<nCfgs; i++) { <???????? BOOL exactDepthMatch = TRUE;
???? for(i=0; i<nCfgs; i++) ?????? { 156c157 <
???????????????????? 160c161 <???????????? continue;
??????????? continue; 164c165 <???????????? continue;
??????????? continue; 166c167 <???????? /* We like to have aux buffers in backbuffer mode */
??????? /* We like to have aux buffers in backbuffer mode */ 168c169 <???????????? continue;
??????????? continue; 172,181c173 <???????????? continue; < <???????? if(cfgs->redSize != redBits) <???????????? continue; <???????? if(cfgs->greenSize != greenBits) <???????????? continue; <???????? if(cfgs->blueSize != blueBits) <???????????? continue; <???????? if(cfgs->alphaSize != alphaBits) <???????????? continue;
????????????? continue; 183,188c175,176 <???????? /* We try to locate a format which matches our requirements exactly. In case of <????????? * depth it is no problem to emulate 16-bit using e.g. 24-bit, so accept that. */ <???????? if(cfgs->depthSize < depthBits) <???????????? continue; <???????? else if(cfgs->depthSize > depthBits) <???????????? exactDepthMatch = FALSE;
???????? if ((cfgs->redSize != redBits) || (cfgs->greenSize != greenBits) || (cfgs->blueSize != blueBits) || (cfgs->alphaSize != alphaBits)) ????????????? continue; 194,195c182,183 <???????? if(stencilBits != cfgs->stencilSize && !(This->adapter->brokenStencil && stencilBits <= cfgs->stencilSize)) <???????????? continue;
???????? if((stencilBits != cfgs->stencilSize) && !((This->adapter->brokenStencil && stencilBits) <= cfgs->stencilSize)) ????????????? continue; 199c187 <???????????? continue;
????????????? continue; 201,205c189,192 <???????? /* When we have passed all the checks then we have found a format which matches our <????????? * requirements. Note that we only check for a limit number of capabilities right now, <????????? * so there can easily be a dozen of pixel formats which appear to be the 'same' but <????????? * can still differ in things like multisampling, stereo, SRGB and other flags. <????????? */
???????? /* We try to locate a format which matches our requirements exactly. In case of ????????? * depth it is no problem to emulate 16-bit using e.g. 24-bit, so accept that. */ ????????? if (cfgs->depthSize !=? depthBits) ???????????? continue; 208c195,197 <???????? if(exactDepthMatch) {
???????? if (exactDepthMatch) ??????????? { ???????????? TRACE("Exact Depth Match\n"); 211c200,202 <???????? } else if(!iPixelFormat) {
??????????? } ???????? if (!iPixelFormat) ?????????? { 214a206 ???????????? TRACE("Emulating %d\n",cfgs->iPixelFormat); 216c208,209 <???????? }
???????????? break; /* Added June 24,08 */ ?????????? } 220c213,215 <???? if(!iPixelFormat && !findCompatible) {
/*??? if (!iPixelFormat && !findCompatible) ?????? {
223,225c218,222 <???? } else if(!iPixelFormat) { <???????? PIXELFORMATDESCRIPTOR pfd; < ---
?????? } */ ?????? ???? if (!iPixelFormat) ?????? { 238c235 <
???????? 240,245c237,243 <???????? if(!iPixelFormat) { <???????????? /* If this happens something is very wrong as ChoosePixelFormat barely fails */ <???????????? ERR("Can't find a suitable iPixelFormat\n"); <???????????? return FALSE; <???????? } <???? }
???????? if (!iPixelFormat) ?????????? { ??????????? /* If this happens something is very wrong as ChoosePixelFormat barely fails */ ??????????? ERR("Can't find a suitable iPixelFormat\n"); ??????????? return FALSE; ?????????? } ?????? } 247c245 <???? TRACE("Found iPixelFormat=%d for ColorFormat=%s, DepthStencilFormat=%s\n", iPixelFormat, debug_d3dformat(ColorFormat), debug_d3dformat(DepthStencilFormat));
???? TRACE("Found iPixelFormat\n"); 374a373 ???????????? TRACE("Choose Pixel Format Failed\n");
Chris