Hello,
I found the following article/commit very interesting this morning. Has anybody else been looking at this and put thought into whether it will work with Wine?
http://cgit.freedesktop.org/mesa/mesa/commit/?id=92617aeac109481258f0c3863d0...
http://www.phoronix.com/scan.php?page=article&item=mesa_gallium3d_d3d11&...
-Zach
On Tuesday, September 21, 2010 7:06:30 am Zachary Goldberg wrote:
Hello,
I found the following article/commit very interesting this morning. Has anybody else been looking at this and put thought into whether it will work with Wine?
IIRC, it's been discussed before, and it simply wouldn't work. D3D has too many ties to the Windows API that a non-Windows based implementation wouldn't be appropriate for Wine (try getting an HDC from a D3D resource, or passing an HWND to D3D). Gallium would have to substitute these for X11 resources, or custom resources that tie into X, so wouldn't reflect the Wine's internal state.
Additionally, not all drivers will support Gallium (eg. nVidia binaries), so a D3D10->GL path will still be needed.
On Tue, Sep 21, 2010 at 10:32 AM, Chris Robinson chris.kcat@gmail.com wrote:
IIRC, it's been discussed before, and it simply wouldn't work. D3D has too many ties to the Windows API that a non-Windows based implementation wouldn't be appropriate for Wine (try getting an HDC from a D3D resource, or passing an HWND to D3D). Gallium would have to substitute these for X11 resources, or custom resources that tie into X, so wouldn't reflect the Wine's internal state.
Hm. The author of the commit for some reason believes that this is possible. Is he simply misguided?
Additionally, not all drivers will support Gallium (eg. nVidia binaries), so a D3D10->GL path will still be needed.
Well, one can pray that eventually nvidia will add gallium 3d support :)
-Z
On Wed, Sep 22, 2010 at 5:55 AM, Zachary Goldberg zach@zachgoldberg.com wrote:
On Tue, Sep 21, 2010 at 10:32 AM, Chris Robinson chris.kcat@gmail.com wrote:
Hm. The author of the commit for some reason believes that this is possible. Is he simply misguided?
Well, one can pray that eventually nvidia will add gallium 3d support :)
Indeed.
I've finally got time to push out another WWN, already half done, and this seems like some thing that definitely needs to be addressed, due to Phoronix's claims:
"... it's already working and can be hooked into Wine!"
If any one wishes to make any comments I'll include those as well as contacting Luca Barbieri (?) or who ever is relevant to this over at Gallium3D.
El 21/09/10 18:36, Edward Savage escribió:
On Wed, Sep 22, 2010 at 5:55 AM, Zachary Goldbergzach@zachgoldberg.com wrote:
On Tue, Sep 21, 2010 at 10:32 AM, Chris Robinsonchris.kcat@gmail.com wrote:
Hm. The author of the commit for some reason believes that this is possible. Is he simply misguided?
Well, one can pray that eventually nvidia will add gallium 3d support :)
Indeed.
I've finally got time to push out another WWN, already half done, and this seems like some thing that definitely needs to be addressed, due to Phoronix's claims:
"... it's already working and can be hooked into Wine!"
If any one wishes to make any comments I'll include those as well as contacting Luca Barbieri (?) or who ever is relevant to this over at Gallium3D.
Henry Verbeet already gave his point of view from a Wine developer: http://lists.freedesktop.org/archives/mesa-dev/2010-September/003136.html
Jaime Rave
On 22 September 2010 01:36, Edward Savage epssyis@gmail.com wrote:
I've finally got time to push out another WWN, already half done, and this seems like some thing that definitely needs to be addressed, due to Phoronix's claims:
"... it's already working and can be hooked into Wine!"
Phoronix is full of shit, as always. At this point that site has lost pretty much all credibility with anyone remotely familiar with the subjects it writes about.
If any one wishes to make any comments I'll include those as well as contacting Luca Barbieri (?) or who ever is relevant to this over at Gallium3D.
Wine isn't going to touch this, or at least I won't. Technical considerations aside, like the fact that it's C++, needs X11 windows, and is limited to Mesa drivers, from talking to Luca on IRC it sounds like this is just the "easy" parts like e.g. resource transfers, texture format conversion and basic draw calls. Wined3d would be capable of doing many of those things today, if perhaps in a somewhat suboptimal way, just by wiring up corresponding d3d10core functionality to wined3d. The *hard* parts are figuring out things like the shader and effect formats in a clean way. Luca took a bit of a shortcut there by not doing effects at all, and using the DDK for the shader format. That may or may not be ok, depending on what's actually in the DDK, but I'm not going to take that risk for no good reason. (And it would still only get us basic shaders, most of which we've figured out by now anyway. To my knowledge the effect format isn't documented anywhere.)
The main problem with Wine's d3d10 implementation is that due to IMHO rather unfortunate circumstances I have been practically unable to spend time on d3d10 since the start of this year. This means that while at the end of last year I had expected to have some actual d3d10 applications running by now, and perhaps started on d3d11, the reality is that the core d3d10 infrastructure is still pretty much where I left it back then. Suffice it to say that I'm extremely unhappy with the way D3D development is currently going.