9 ms·
Bringing Vulkan everywhere
- Lio 8y agoHopefully this will offer some way forward for FOSS software like Blender running on macOS when Apple kill OpenGL off.
- electricslpnsld 8y agoI don't think there is any Rust (or any Rust on the roadmap) in Blender -- they would most likely use MoltenVK on macOS, similar to the path the Qt folks are taking [0]. [0] http://blog.qt.io/blog/2018/05/30/vulkan-for-qt-on-macos/ http://blog.qt.io/blog/2018/05/30/vulkan-for-qt-on-macos/
- nemaar 8y agoI believe you can use this without touching Rust. If I remember correctly they even ran Dota2 with this. That certainly does not have Rust inside.
- electricslpnsld 8y agoInteresting, thanks for the clarification! Any idea as to the advantages of using these bindings vs. the Molten bindings, if one isn't using Rust?
- baobrien 8y agoI think -- and I could be wrong here -- that gfx-rs aims to eventually implement Vulkan on D3D12 in addition to Metal, while MoltenVK only aims to work on Metal.
- maccam94 8y agoAre there any D3D12 platforms that don't also support Vulkan?
- wolfgke 8y agoI am not completely sure, but I can imagine XBox One.
- jsheard 8y agoWindows, partially. Vulkan can be used in classic win32 apps but not in "modern" UWP apps. The Xbox One uses a variant of D3D12 and doesn't support Vulkan at all.
- drb91 8y ago> Vulkan can be used in classic win32 apps but not in "modern" UWP apps. Why is this/how do they enforce that? The Xbox is hardly a surprise, but then again you're only going to target that for games so it's less of a problem.
- jsheard 8y ago> Why is this/how do they enforce that? Technically Windows doesn't support Vulkan at all, but the openness of the win32 platform allowed Khronos to define a "backdoor" interface where the application ignores the Windows graphics stack and instead gets a Vulkan context by talking to the graphics driver directly. The UWP sandbox makes this impossible so you're stuck with the native Direct3D APIs.
- drb91 8y agoAhh, I had no idea UWP implied running on microsoft's terms. Is there a way to run them out of the sandbox manually?
- megaman22 8y agoStatistically, nobody actually builds real UWP apps, so it is largely an academic point. But if you're out of the sandbox, I fail to see a good reason not to just build a regular old Win32 app the way it has always been done.
- wlesieutre 8y agoI don't know about the MoltenVK branding specifically, but Khronos does plan a "Universally portable subset" of Vulkan with tools to target both Metal and D3D12 from one rendering codebase and common SPIR-V shaders. The project is call Vulkan Portability Initiative: https://www.khronos.org/blog/khronos-announces-the-vulkan-portability-initiative https://www.khronos.org/blog/khronos-announces-the-vulkan-po...
- kvark 8y agogfx-rs Metal backend can be powerful and faster
- steveklabnik 8y agoMy understanding is that this exposes a C ABI so that it's not purely for Rust programs.
- achandlerwhite 8y agoIs Apple “killing off” OpenGL? Isn’t it just deprecated ie not further development but not removed?
- raphlinus 8y agoGiven that it was already on a very old version, not doing further development counts as "killing it off" in my book. I'm bummed because I did an OpenGL based text renderer in xi-editor, and now have to decide whether to go back to CoreGraphics (assuming they've fixed the performance problems there) or forward with something like this.
- muizelaar 8y agoI'd recommend something like this. We plan on switching to it for WebRender in the future.
- statusreport 8y agoIn this year’s WWDC I asked the same question one of the GPU software engineers and he claimed that Apple is going to completely remove support for OpenGL in about two years from now. Regardless, “deprecated” means “no longer maintained”, meaning that if any regressions will appear in the near future, it’s possible no one will fix them, as these issues will not be prioritized.
- bodas 8y agoI'd take that with a grain of salt. Apple likes to threaten removal of technologies they have deprecated as a way to increase adoption of their replacements but rarely if ever go from deprecation to removal so aggressively, at least on the Mac.
- tomovo 8y agoThey might exclude deprecated APIs from the pre-announced iOS-MacOS portable platform (Marzipan). That is the move that makes them unsuitable for future use. This also includes UIWebView and other quite popular pieces of the SDK. A clean cut - good opportunity to shed some weight, actually.
- berkut 8y agoApplication software doesn't necessarily want to be using low-level stuff like Vulkan just yet: the reason being is that these low-level APIs with more direct access/control to the hardware don't (currently) provide load-balancing between multiple applications, which all OpenGL implementations (via the drivers) do currently do fairly well. i.e. so you can have two differential applications open which both fairly heavily utilise the graphics card (for drawing, not compute), and both get a fair share (depending on which has focus in some cases depending on driver settings) of the GPU. For desktop applications where you're multi-tasking with potentially multiple applications using the graphics card this is often quite important. For games it's obviously less so. It's definitely a reason we're not jumping on the new low level APIs in the VFX industry currently.
- electricslpnsld 8y ago> It's definitely a reason we're not jumping on the new low level APIs in the VFX industry currently. While the big studios on Linux (people like Pixar) probably don't care about the lower level APIs, the major vendors like Autodesk and SideFX are going to have to if they still want to target macOS.
- berkut 8y agoPossibly, but I bet they'll hold out on OpenGL for ages, and I wouldn't be surprised if push comes to shove that macOS gets dropped for VFX in the future - as a developer who used to work at The Foundry years ago, it causes so much trouble to develop for compared to Linux, and in relation to the number of people who used it I'm not sure it's worth it any more... Quite a few individuals are still using it, but there's been quite an uptick in Linux users in that area, at least where the software allows...
- VSTN 8y agoSome companies have already dropped future support of the mac version of their software based on Apple making it official that OpenGL is truly dead. https://apple.slashdot.org/story/18/07/29/1939212/autodesk-drops-support-for-alias-vred-in-macos-mojave-over-opengl-deprecation https://apple.slashdot.org/story/18/07/29/1939212/autodesk-d... "According to a note posted on Autodesk's support website, while older Alias versions can run on High Sierra or earlier, "no versions of VRED will run on that operating system due to the OpenGL deprecation." While openGL is not going to stop working on Mojave, it has served as a good excuse for autodesk to stop bothering with the work of developing mac versions and refusing to provide any support or patching of any future issue that might arise on current releases being run on mojave. Apple is working very hard at killing the mac both because of what they've done to the hardware and what they're doing to their OS for any user that's not some grandma that does nothing outside browsing facebook on a $1500 macbook..
- shmerl 8y agoSo gfx-rs will expose Vulkan frontend? Is there a plan to support GNM backend in gfx-rs?
- microcolonel 8y agoSeems like it would be unnecessary, with the D3D12 backend. Also, it is hard to say whether a GNM backend could even be upstreamed.
- kvark 8y agogfx-rs does expose Vulkan frontent: https://github.com/gfx-rs/portability https://github.com/gfx-rs/portability I'd love to get started on GNM but licensing is tricky, given that gfx-rs is a community project.
- protoster 8y agoCorrect me if I'm wrong: 1) this is an effort to provide an abstract graphics API for any OS/CPU instruction set 2) it is rust and therefore usable from rust and C(++). If so, great news! Maybe we'll one day be free from tyranny of Windows when it comes to gaming. In my ideal world, operating systems should be interchangeable like web browsers and competing to provide the best implementation of an open standard rather than trying to trap developers and users by providing the most enticing proprietary API. Have there been any previous attempts to do this? Any success?
- megaman22 8y ago> Have there been any previous attempts to do this? Any success? Many over the years, and largely not. Unreal and Unity are probably the closest to successful to date, but they are full-blown game engines, at a higher level of abstraction, rather than just graphics APIs. OpenGl mostly failed as a multi-platform solution, because vendors provide varying levels of compatibility in their drivers, not to mention unholy extension soup, and you still have to deal with all the platform nastiness of everything else besides sending triangles to the GPU.
- pjmlp 8y agoVulkan is not any better on this regard. Get ready to play extension and version golf. http://www.vulkan.gpuinfo.org/listextensions.php http://www.vulkan.gpuinfo.org/listextensions.php http://www.vulkan.gpuinfo.org/vulkansupport.php http://www.vulkan.gpuinfo.org/vulkansupport.php
- oliwarner 8y agoThe extensions are just that. They are essentially proposals or hardware specific items not meant for broad adoption. Those that are get drafted into the proper specs. And variable driver support is common across all big graphics APIs. If anything, the feature per driver coverage here is better than DX12.
- 8y ago
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- bayesian_horse 8y agoOpenGL, may you live long and prosper!