[Bug 21469] Civilization 4 shows a myriad of errors of unnecessary wined3d check.

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jan 24 13:14:12 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=21469





--- Comment #5 from Luis Busquets <luis.busquets at 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.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list