10 ms·
VK9: Direct3D 9 compatibility layer using Vulkan
- oneplane 9y agoI'm not sure if this means what I think this means, but does this mean that we can used Direct3D 9 on WINE now with no need to translate it to something else first?
- cyphar 9y agoI believe so too, from the repo: > Runs Direct3D 9 applications on Windows or Linux (/w Wine) over Vulkan.
- helb 9y agoI think it does. There is another project called Gallium Nine, too. Never got it to work on my system though. The first paragraph in VK9's FAQ actually compares the two: https://github.com/disks86/VK9/wiki/F.A.Q https://github.com/disks86/VK9/wiki/F.A.Q.
- TazeTSchnitzel 9y agoWell, this is translating it to something else, no? Just Vulkan is more low-level than Direct3D.
- mixedCase 9y agoIt would translate D3D9 to Vulkan like Wine currently translates D3D9 to OpenGL. It's different from Gallium Nine.
- edwin_frc 9y agoThe compatibility of this products with vulkan
- AldousHaxley 9y agoD3D9 is my all-time favorite 3D API. It was at that sweet spot of being powerful enough that you could do stunning things with it (the Xbox 360 generation is effectively D3D9-level hardware), and it was simple enough that amateurs and hobbyists (and high school kids, as I was at the time) could dive in and get stuff on the screen relatively quickly. D3DX had some handy helper libraries for loading models, doing transforms, and loading textures. I get the benefits afforded by subsequent iterations, and nowadays Vulkan and D3D12, but their interfaces are so optimized toward specialists, and it would be nice if more was in place to cover that middle ground use case between "I don't need a full-on 3D game engine, but I don't need to worry about low level GPU stuff either." Of the new APIs out there, I feel like Metal is the only one approaching layperson usability, and it's trapped in the world of Mac and iOS. Of course you can stitch together something that looks like an open source equivalent of the old D3D9 SDK yourself from things like glm and AssImp, but it's nice to have all that in one package.
- garaetjjte 9y agoWhy not OpenGL 3.2+? It is capable of modern effects and pretty easy to use.
- pjmlp 9y agoBecause for fonts, textures, windowing, effects, materials, requires the use of third party libraries outside the spec. Also it is stuck in a C world API, with each binding being a third party library with different degrees of coverage.
- shmerl 9y agoAll of that is outside of the spec. That has nothing to do with 3D graphics. MS just lumped it all together and called it DX.
- nl 9y agoI think that is kind of the point.
- shmerl 9y agoWell, it's a counter point really, since all of that is unportable (without such kind of translation). As developers put it here[1]: "Don't make a game that depends on Direct3D. All the hard hard work is getting the thing to run with OpenGL". 1. https://www.gamingonlinux.com/articles/about-linux-games-being-delayed-a-chat-with-several-game-developers-and-porters.9491 https://www.gamingonlinux.com/articles/about-linux-games-bei...
- euos 9y agoThat's stupid. Competent 3d on Windows is DirectX. Competent 3d on Mac/ios is Metal. Competent 3d on consoles uses their propriatary API. So, what is the point of OpenGL portability? Between Linux and Android? You _will_ have to switch API if you are making anything worthy.
- red023 9y agoWhy should this excite me? Wine already can do DX9 pretty good. And according to one comment this does not even compare. Who cares about DX9 nowadays? DX10/11/12 would be very different story. Something like this bringing modern windows games to linux would be great. Even greater would be M$ open sourcing DX but that will not happen in the next few years.
- cwyers 9y agoWhat good would open-sourcing DirectX be without the Windows Display Driver Model? And how easy would it be to get that working without the NT kernel? And how interested would the Linux kernel be in supporting this?
- shmerl 9y ago> What good would open-sourcing DirectX be without the Windows Display Driver Model? And how easy would it be to get that working without the NT kernel? Shouldn't be harder than what Wine is already doing. Open sourcing can surely help in some ways. MS for example already open sourced HLSL parser, so translation tools can benefit from it. DX11 support in Wine is progressing quite well.
- zamalek 9y ago> Wine already can do DX9 pretty good. I would assume that performance would be low-hanging fruit. OpenGL and DirectX work quite differently, so translating the calls of one to the other should involve quite a bit of work/CPU cycles. Vulkan, being closer to metal, should be a more straightforward translation target. Example: HLSL-to-GLSL is likely a difficult problem, where HLSL-to-SPIR-V is probably much simpler. > Who cares about DX9 nowadays? Lots of games still support it. In addition this layer could be used for future work in DX11/DX12, instead of the (per my above argument) more complex OpenGL translator.
- Arwill 9y agoWhat about older games? I think this would make it possible to improve graphics of those games by going trough Vulcan and adding new features to the pipeline. With Steam and GOG there is a big market for older games and for older games with renewed graphics and up to date compatibility.
- shmerl 9y agoIt seems very far from completion in comparison with D3D9 implementation in Wine. So for now it's just a interesting project, rather than something practical.
- coldpie 9y agoYeah. Open any source file and you'll see dozens of "not implemented yet" FIXMEs. This needs a few more years of maturity before it's worth looking at.
- partycoder 9y agoDirect3D can be a good API, but Microsoft played dirty to make it succeed, and that matters. If you were around those days, Microsoft said that OpenGL on Windows was going to be put behind a backward compatibility layer, with a performance penalty. All developers got scared and switched to Direct3D. For this reason, I don't care if Direct3D is a good API. Direct3D is the reason of why most games cannot be ported into other operating systems or are forced to run on WINE (with issues and performance penalty), and is also the reason of why Windows has a larger market share than it should. I really hope Vulkan takes off and replaces Direct3D for most uses.
- AldousHaxley 9y agoI remember those anxious days before Longhorn's release. MS was making a lot of weird threats back then. All the "trusted computing" stuff, as well as the thinly veiled attempts at killing OpenGL on Windows. Despite my above waxing nostalgic about the API, I haven't built anything with D3D in years, for precisely the issues you mentioned. API design quality and performance are important, but they are far from the only factors that go into making such a decision.
- yuhong 9y agoMy favorite is how I was able to guess from Intel's claims that the 915 chipset can't support WDDM because it don't have a "hardware scheduler" that it is probably referring to the "lost devices" in old DirectX that many programmers likely remember. Edit: Old Slashdot thread: https://slashdot.org/comments.pl?sid=4123465&cid=44660047 https://slashdot.org/comments.pl?sid=4123465&cid=44660047
- pjmlp 9y agoGame consoles also don't do any OpenGL, despite urban legends.
- artana 9y agohttp://www.webmhs.com/2017/04/prediksi-skor-juventus-vs-genoa.html http://www.webmhs.com/2017/04/prediksi-skor-juventus-vs-geno...