[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