scraze
2009-Nov-01 16:40 UTC
[Wine] D3D Vertex Blending :: why has it not been implemented?
Hi guys, I've been wondering about the status of vertex blending in Wine. Please excuse my stumbling across terminology; I believe it requires a GL extension called ARB_VERTEX_BLEND. Just to be sure, I'm talking about an extension used to transform matrices, usually employed to animate models. Alot of video cards do not have this extension and still can run vertex blend applications in Windows. It is as if the D3D dll's take care of emulating the extension. Stefan Dosinger seems to agree: http://www.winehq.org/pipermail/wine-devel/2008-February/062437.html Obviously though. when I try to run the same applications under Wine, things aren't how they should be. There are multiple bugs filed under this problem, but the main bug is #6955. Here's a list of affected programs: http://appdb.winehq.org/viewbugs.php?bug_id=6955 Note that Claudio Ciccani has even written a patch for Wine 1.1.16 and 1.1.18 almost a year ago: http://bugs.winehq.org/show_bug.cgi?id=6955 (scroll down to patches) However, as an end user I'm surprised to see that vertex blending still isn't functional in Wine. Surely I understand that developers are incredibly busy and have more than enough to do. But this is a problem that can be easily solved (software emulation, just like in Windows) as a patch is readily available, and it would bring the status of at least 20 games jump from garbage (unplayable) to at least Bronze, I'd say. So what's the hold-up? The discussions on the subject of implementation (http://www.winehq.org/pipermail/wine-devel/2008-February/062433.html and http://www.mail-archive.com/wine-devel at winehq.org/msg51674.html ) tell me that the Wine developers only want 'clean' code structures - as in, if a d3d9_X.dll should emulate the blending (?) then so should we, instead of using wined3d or other 3rd party code. Or maybe it's about not knowing for sure whether this is the correct algorithm. But the current state for any application requesting vertex blending is pretty much garbage (unless the application has it's own fallback method) - many people would like to play games that they could if they only knew there was a patch out there. Am I too much of an enthusiast - to remain silent and wait? For now, I'll gladly run Ciccani's patch (although a bit modified to fit 1.1.32). It fixes a couple of games for me. I've also read (in the How to play EverQuest section, by Julio Fernandez (http://appdb.winehq.org/objectManager.php?sClass=version&iId=2939&iTestingId=10538)) about people changing d3dx9_30.dll on addresses 4c6f9 through 4c6fb , but I'll stick to the patch. I'm sure there are good reasons for what's going on, so please don't be offended - just enlighten me! I'm asking for it ;)
Thunderbird
2009-Nov-01 18:15 UTC
[Wine] Re: D3D Vertex Blending :: why has it not been implemented?
Certainly we like to offer this feature but it needs to be implemented using shaders and not in software as the proposed patch does. We need to finish our fixed function vertex implementation and add this to it. Nobody is working on that at the moment.