http://bugs.winehq.org/show_bug.cgi?id=21469
--- Comment #5 from Luis Busquets luis.busquets@ilidium.com 2010-01-24 13:14:12 --- Note that from all this log that wine generates only 83 lines are for other reasons and the rest of the 27411 lines are because of this.
This actually happens because of this routine:
in IWineD3DImpl_CheckDepthStencilMatch
2552 for (it = 0; it < nCfgs; ++it) { 2553 if (IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt(&adapter->gl_info, &cfgs[it], rt_format_desc)) 2554 { 2555 if (IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt(&adapter->gl_info, &cfgs[it], ds_format_desc)) 2556 { 2557 TRACE_(d3d_caps)("(%p) : Formats matched\n", This); 2558 return WINED3D_OK; 2559 } 2560 } 2561 }
This is correct: It tries to match one by one with the available formats in the graphic card with the format passed. The problem is that the fuction IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt
2450 if(cfg->iPixelType == WGL_TYPE_RGBA_ARB) { /* Integer RGBA formats */ 2451 if (!getColorBits(format_desc, &redSize, &greenSize, &blueSize, &alphaSize, &colorBits)) 2452 { 2453 ERR("Unable to check compatibility for Format=%s\n", debug_d3dformat(format_desc->format)); 2454 return FALSE; 2455 }
If the first format is WGL_TYPE_RGBA_ARB (Integer) but the second format is not, getColorBits is going to return FALSE and wine will say there has been an error.