[Bug 21469] New: Civilization 4 whows a myriad of errors of unnecessary wined3d check.
http://bugs.winehq.org/show_bug.cgi?id=21469 Summary: Civilization 4 whows a myriad of errors of unnecessary wined3d check. Product: Wine Version: 1.1.37 Platform: All OS/Version: All Status: UNCONFIRMED Severity: minor Priority: P2 Component: directx-d3d AssignedTo: wine-bugs(a)winehq.org ReportedBy: luis.busquets(a)ilidium.com
From some time when I run Civilization4 I get a myriad of these messages and others with other formats:
err:d3d:getColorBits Unsupported format: WINED3DFMT_R16G16_FLOAT err:d3d:IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt Unable to check compatibility for Format=WINED3DFMT_R16G16_FLOAT After looking in the wine code I have found out that what happens is that Civ calls the function IDirect3D9Impl_CheckDepthStencilMatch (no error of the application on that) The implementation of wine then calls IWineD3D_CheckDepthStencilMatch which then calls IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt for each format that the adapter supports until it finds a supported format: Problem: IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt tries to match the supported pixel format of the adapter with the requested format. If the supported pixel format of the adapter is of type WGL_TYPE_RGBA_ARB, it tries to getColorBits of the format even if the format to try is a floating format, getColorBits responds with an error and same does IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt. Certainly, the answer is correct (FALSE) but the problem is that it fills the screen with ERR that are due to wine checking things for which there is no need as they are directly false. Possible solution: to do IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt right away check if: cfg->iPixelType == WGL_TYPE_RGBA_ARB and format_desc is a floating format then return FALSE right away no need to fill ERR same if cfg->iPixelType == WGL_TYPE_RGBA_FLOAT_ARB and format_desc is not a floating format then return FALSE right away no need to fill ERR If you do not like this solution, getColorBits could be modified so that it does not file an error for floating point formats but just responds with 0 for all bit sizes when the format is a floating point without filling an error. What do you prefer? Can somebody propose a patch with this kind of behaviour or something better so that my Civ4 does not respond with this myriad of errors? The myriad of unnecessary checks and of reports of ERR causes a some slowness that can be quantified eliminated unnecessary checks. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Luis Busquets <luis.busquets(a)ilidium.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Civilization 4 whows a |Civilization 4 shows a |myriad of errors of |myriad of errors of |unnecessary wined3d check. |unnecessary wined3d check. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Vitaliy Margolen <vitaliy(a)kievinfo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Platform|All |Other Resolution| |DUPLICATE OS/Version|All |other --- Comment #1 from Vitaliy Margolen <vitaliy(a)kievinfo.com> 2010-01-24 11:32:47 --- Fixmes are not bugs. *** This bug has been marked as a duplicate of bug 15435 *** -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Vitaliy Margolen <vitaliy(a)kievinfo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #2 from Vitaliy Margolen <vitaliy(a)kievinfo.com> 2010-01-24 11:33:14 --- Closing -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Luis Busquets <luis.busquets(a)ilidium.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |UNCONFIRMED Resolution|DUPLICATE | --- Comment #3 from Luis Busquets <luis.busquets(a)ilidium.com> 2010-01-24 12:52:49 --- This bug is not about verbosity and not about FIXMES. It is About "ERR:" This errors occur for and unoptimal algorithm for checking compatibility of color bits. Please read the bug and understand it before marking it as duplicate. The problem is that wine reports errors but these errors are because of wined3d incorrect checks. See the attached file to verify the myriad of errors. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 --- Comment #4 from Luis Busquets <luis.busquets(a)ilidium.com> 2010-01-24 12:58:17 --- Created an attachment (id=25865) --> (http://bugs.winehq.org/attachment.cgi?id=25865) Log of wine for only reaching the selection screen and out You can see how many times does the check and reports and error that is actually provoqued by wined3d itself. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 --- Comment #5 from Luis Busquets <luis.busquets(a)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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Luis Busquets <luis.busquets(a)ilidium.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan(a)codeweavers.com -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Stefan Dösinger <stefandoesinger(a)gmx.at> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger(a)gmx.at --- Comment #6 from Stefan Dösinger <stefandoesinger(a)gmx.at> 2010-01-24 17:56:05 --- I recommend to ask Roderick about this - he wrote the color checking code. I once tried to fix this ERR flood but got stuck due to some issue, not sure what it was exactly. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Luis Busquets <luis.busquets(a)ilidium.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |thunderbird2k(a)gmail.com -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Markus Elfring <Markus.Elfring(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Markus.Elfring(a)web.de --- Comment #7 from Markus Elfring <Markus.Elfring(a)web.de> 2010-01-25 02:49:22 --- Another corresponding test result ... http://appdb.winehq.org/objectManager.php?sClass=version&iId=8699&iTestingId... -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Josep Vicent <jvsala(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 --- Comment #8 from Josep Vicent <jvsala(a)gmail.com> 2010-01-25 04:23:05 --- *** This bug has been confirmed by popular vote. *** -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Luis Busquets <luis.busquets(a)ilidium.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #9 from Luis Busquets <luis.busquets(a)ilidium.com> 2010-03-22 14:54:33 --- Solved in wine-1.1.41-72-ge9be1b4 Probably by http://source.winehq.org/git/wine.git/?a=commit;h=28a2c7ab292a0d0ad1247d9d11... -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 --- Comment #10 from Roderick Colenbrander <thunderbird2k(a)gmail.com> 2010-03-22 15:15:40 --- Yes that patch removed a lot of the noise. In the non-fbo case the issue remains and I need to look for a nicer solution there. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=21469 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #11 from Alexandre Julliard <julliard(a)winehq.org> 2010-04-02 12:52:22 --- Closing bugs fixed in 1.1.42. -- 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.
participants (1)
-
wine-bugs@winehq.org