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