7 ms·
Nice to see Intel, AMD, and Nvidia working together on an open standard. Do Apple's in-house GPUs have Vulkan support or would something like this have to go th
by jagger27 7y ago
Nice to see Intel, AMD, and Nvidia working together on an open standard. Do Apple's in-house GPUs have Vulkan support or would something like this have to go through a Vulkan-on-Metal translation layer instead?
- enos_feedler 7y agoLooking more and more like Apple will never touch Vulkan directly. They are heavily invested in cross-device performance graphics using Metal. The more the API situation evolves, I can see Google, Microsoft and Sony going all in all Vulkan for performance graphics. Only if MS is willing to part ways with D3D12 For cross platform I could see WebGPU + WebAssembly being the choice, where it abstracts both Metal and Vulkan.
- pdelbarba 7y agoHonestly I feel like D3D12's days are numbered. Tons of engines and devs are moving to Vulkan and while Vulkan has tons of tutorials and documentation, D12 has NOTHING. If you want to just go out and make a D12 game, you basically need to join up with one of the existing DirectX shops that has all the knowledge siloed within.
- enos_feedler 7y agoInteresting. I haven't been following the games industry for a while. Thanks for the insights! Given Microsoft's move towards more open ecosystems, I can definitely see it happening. Especially launching Android devices at year's end where I am sure cross-device gaming (TV + Mobile) will become important. I know Android is increasingly focused on Vulkan
- pjmlp 7y agoThat is not we are seeing from GDC talks and LunarG surveys. Vulkan is a PC thing, without any impact on consoles, even on the Swift, NVN is what gets mostly used unless it is a PC port. Also the subject of this thread, Ray Tracing, was developed by Microsoft and NVidia together and took two years to reach Vulkan. How long will Vulkan now take to adopt shader meshes?
- deleted 7y ago[deleted]
- fxtentacle 7y agoI disagree. Sony / Nintendo use proprietary APIs, Windows and Xbox use DirectX, and Android you need OpenGL ES for compatibility. Apple is self-disqualifying with their hardware and insistence on Metal. That leaves Vulkan for Linux games. The 1% of the market that no savvy business person would touch with a 10 feet pole. In Linux land, you'll meet people who feel suspicious of you in the first place for charging for your game, and people who have compiled their GPU driver from scratch, yet blame your game for being incompatible with their wrong compiler flags. So for almost every game studio, there is no viable market where you could sell a Vulkan game.
- Jyaif 7y agoNintendo and Android use Vulkan. Windows supports it as well (along opengl and directX) so it's a bit more than just Linux (which powers Stadia and will likely power most Stadia-clones in the future). This pretty much only leaves out macOS and iOS, for which a Vulkan compatibility layer exists anyways.
- fxtentacle 7y agoI agree they you can use Vulkan on most platforms, but if you use an established engine with multiple render backends, then you'd go with the most feature complete or most performant API, which is usually the platform-specific proprietary one. That would limit Vulkan as a good cross-platform choice to the few developers that do not use Unity or Unreal Engine under the hood.
- pjmlp 7y agoNot quite true, although it tends to be used a lot as Vulkan sales pitch. Nintendo uses Vulkan on the Switch, but they also have their own Metal like API, NVN. Vulkan is mostly used by PC ports into the Switch. Exclusive Switch titles do so via NVN, Unreal or Unity bindings to NVN, not Vulkan. Android has optional support for Vulkan, since only flagship devices ever bothered to actually provide it, with Android 10 Google has changed it into compulsory API. So only Android 10 or later devices are guaranteed to actually have proper Vulkan drivers available. Windows supports Vulkan on the classic OpenGL ICD driver model, not available in Win32 and UWP sandboxes, which only allow for DirectX based code. This is the actual reality, and not that typical Vulkan sales pitch.
- rustybolt 7y agoI disagree. Vulkan sounds nice and all, but it's terribly hard to actually use in practice. It has cost me a lot of evenings to compile and run some Vulkan examples. The same thing in OpenGL or DirectX can be done in one evening. On top of that, Vulkan is much hard to actually use in practice. It's much more low-level than OpenGL and DirectX.
- pjmlp 7y agoSony and Microsoft will never get Vulkan on their platforms, and I bet none of the new models will support it as well.
- jcelerier 7y agoFor cross-platform I'm already quite happily using Qt's RHI which abstracts Vulkan, GL, D3D and Metal (https://www.qt.io/blog/qt-quick-on-vulkan-metal-direct3d https://www.qt.io/blog/qt-quick-on-vulkan-metal-direct3d).
- gfxgirl 7y agoBased on a recent post about WGSL (the WebGPU shading language) it sounds like Apple is in a legal battle with Khronos so Apple seems unlikely to adopt anything Khronos related. this might be why WebGL2 never really shipped on Safari. They added a flag but there is no actual implementation.
- pjmlp 7y agoIt goes back to OpenCL, that is why you also hardly saw any OpenCL improvements on Apple platforms, after they offered the initial version to Khronos.
- ksec 7y agoCan you share what causes the bad blood between Apple and Khronos? Is it Nvidia?
- pjmlp 7y agoI don't have inside information, however from some occasional stuff I have read here and there, it seems Khronos was unwilling to drive OpenCL the way Apple wished for, and they weren't happy to have lost control over OpenCL. If this actually the reason, I don't know, corrections welcomed.