D3D Vertex Blending :: why has it not been implemented?
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-de ... 62437.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-de ... 62433.html and http://www.mail-archive.com/wine-devel@ ... 51674.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) 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
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-de ... 62437.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-de ... 62433.html and http://www.mail-archive.com/wine-devel@ ... 51674.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) 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
-
- Level 5
- Posts: 336
- Joined: Mon Nov 24, 2008 8:10 am
Thanks Thunderbird, that's immediate enlightenment for me. It does pose another few questions for me: how/where has the shader been implemented in Windows - can we use that method of implementation as well? Does that happen to be the fixed function vertex implementation you're speaking of? My apologies if those questions are dumb ;]
DaVince: I completely agree with the suggestion - having a winecfg-able fallback software method surely kicks the ass of not having anything at all. Through registry instead of winecfg would be fine for me too.
DaVince: I completely agree with the suggestion - having a winecfg-able fallback software method surely kicks the ass of not having anything at all. Through registry instead of winecfg would be fine for me too.
-
- Level 5
- Posts: 336
- Joined: Mon Nov 24, 2008 8:10 am
On Windows drivers are likely emulating vertex blending as well and they might be doing that using shaders.
Further on windows there is no such thing as a fixed function replacement I think. Roughly what the fixed function pipeline would emulate 'classic GPU functionality' using shaders. The reason we would this is because some of the features old d3d versions aren't supported by opengl, so emulation shaders is better and can even be faster.
Further on windows there is no such thing as a fixed function replacement I think. Roughly what the fixed function pipeline would emulate 'classic GPU functionality' using shaders. The reason we would this is because some of the features old d3d versions aren't supported by opengl, so emulation shaders is better and can even be faster.
Re: D3D Vertex Blending :: why has it not been implemented?
Is there any news on this yet?
Re: D3D Vertex Blending :: why has it not been implemented?
The private PSU server might be up tonight or tomorrow and I want to try to get this working before it's public if it's possible?
Thank you.
Thank you.
Re: D3D Vertex Blending :: why has it not been implemented?
https://bugs.winehq.org/show_bug.cgi?id=6955 is still open.JHaleIT wrote:Is there any news on this yet?
Re: D3D Vertex Blending :: why has it not been implemented?
The questions was posted and answered on wine-devel: https://www.winehq.org/pipermail/wine-d ... 07003.html.