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