8 ms·
Gnomes per second in Vulkan and OpenGL ES
- Drakim 11y agoWhen it says "Vulkan driver for PowerVR Rogue GPUs", does that mean I can only use Vulkan when the user has a GPU that supports it? ...Because that sounds like it could be a really long wait, if it happens at all. I guess it could work for the gaming console market?
- AndrewDucker 11y agoYou'll need a card with Vulkan drivers. But as it has support from NVidia and AMD that won't be a problem: https://www.khronos.org/news/press/khronos-reveals-vulkan-api-for-high-efficiency-graphics-and-compute-on-gpus https://www.khronos.org/news/press/khronos-reveals-vulkan-ap... (See the "Industry Support" section.)
- robmaister 11y agoVulkan is designed for modern GPUs, not the other way around. You would only have to wait for GPU vendors to write a new driver for their existing cards. NVIDIA, AMD, and a bunch of other large players are part of the Khronos Group designing Vulkan, so I wouldn't be surprised to see desktop/laptop GPU drivers a few weeks after the release of the finalized specification. The only place you probably won't see a quick uptake is with mobile GPUs, since they essentially never receive updates.
- dr_zoidberg 11y agoThe post specifically targets a mobile GPU. Relevant links: [1] https://en.wikipedia.org/wiki/PowerVR#Series_6_.28Rogue.29 https://en.wikipedia.org/wiki/PowerVR#Series_6_.28Rogue.29 [2] http://anandtech.com/show/7335/the-iphone-5s-review/7 http://anandtech.com/show/7335/the-iphone-5s-review/7
- simoncion 11y agoWhile true, that doesn't invalidate robmaister's point. If mobile GPUs as a class almost never receive updates, this will slow adoption of a new low-level way of using them, regardless of a few scattered exceptions to the "Mobile GPUs never receive updates" rule. :)
- dr_zoidberg 11y agoYes, you don't "upgrade" your mobile phones GPU (or any hardware except the SD card), but many people change their smartphone yearly (and sometimes faster). So there's the "upgrade path" for mobile GPUs. I actually find it amusing that a phone or tablet with a new SoC has a "better" GPU than my 3 year old Core i3.
- simoncion 11y agoI said "update" as in "software update", not "upgrade" as in "hardware upgrade". As I understand it (and I may not understand it well, as I don't do this for a living), SoC vendors are primarily in the business of selling hardware, rather than software. Everything that follows is second-hand information. Often, folks who want an SDK for that SoC get the hardware, a bunch of blobs to run the hardware, and a particular version of an OS to run the blobs and any ancillary software. Given that the vendor is a hardware manufacturer, you're not infrequently forever stuck with whatever blobs and version of the OS you were handed. (Unless -of course- you can do the dev work on the OS or blobs yourself.) This lack of focus by the vendor on the software side of things implies that -say- interesting new graphics APIs are only available on the newest hardware. Even if the SoC vendor does do the work to port said API to their older hardware, the folks who used that hardware may not want or be able to verify their software with the new stuff from the vendor.
- alexvoica 11y agoThis is how an software update works in mobile: the GPU vendor writes the driver using a spec (e.g. Vulkan), then submits the driver for conformance testing with Khronos. Once the driver achieves conformance, the driver is made available to chip makers and OEMs. They take the driver and build an Android BSP; the new ROM is then pushed to consumers through an OTA. The GPU vendor has little control or influence over the update process beyond the point of providing the driver.
- Narishma 11y agoConsoles don't need Vulkan, since they've always had low-level (or non-existant) graphics APIs.
- Am-hehu 11y agoI would like to excuse for my incompetent/ignorant comment in advance, but wouldn't it be fairer to compare Vulkan with OpenGL 4.5 where indirect indexed draw calls are available? I also noticed that this demo avoids interactive animations (moving / reacting objects). In my experience with next-gen apis this results often in command dead-locks and inevitable queue-rollbacks.
- simcop2387 11y agoNot necessarily, I believe they're demoing this against OpenGL ES specifically because of google recently announcing that Vulkan will be available on android[1]. Given the 4 cores that seems to line up, since a lot of ARM devices are going to multicore recently. [1] http://arstechnica.com/gadgets/2015/08/android-to-support-vulkan-graphics-api-the-open-answer-to-metal-and-dx12/ http://arstechnica.com/gadgets/2015/08/android-to-support-vu...
- kllrnohj 11y agoThe GPU in question here, the PowerVR G6430, does not support OpenGL 4.5. It tops out at OpenGL 3.2 since it's a mobile part so everyone is using GLES. The blog post only somewhat touches on it but I believe a key part of why this is so much faster is that it sounds like Vulkan is actually exposing tiled-based rendering. Note that PowerVR is a tile-based deferred renderer under the hood[1]. So if the app is doing the work of chunking draws into tiles instead of the driver trying to extract that from the OpenGL stream that's going to be significantly more efficient. 1: http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphic...
- olaulaja 11y agoVulkan doesnt really expose tile based rendering. In the demo the scene is split into tiles and since the geometry is static they can prepare commands for gpu execution once for each of these tiles. This cannot be done in OpenGL which effectively has to repeat this work every frame (the driver hides this) There are of course other tricks to speed up crowds like this in OpenGL
- 10098 11y agoIs the Vulkan spec out already? Where can I get it?
- kllrnohj 11y agoNope. The API is still in development.
- tsomctl 11y agoAMD has released a specification for Mantle, which is the predecessor of Vulkan: http://www.amd.com/Documents/Mantle-Programming-Guide-and-API-Reference.pdf http://www.amd.com/Documents/Mantle-Programming-Guide-and-AP... There is also a demo and sdk for Mantle here: https://github.com/Overv/MantleHelloTriangle https://github.com/Overv/MantleHelloTriangle
- raverbashing 11y agoSo, what are the chances of Vulkan drivers from devices makers "follow the tradition" of their OpenGL drivers and only implement half the spec with lots of bugs and lack of functionality
- DominikD 11y agoHigh if Khronos doesn't provide a comprehensive certification suite. Dunno what's the status for Vulkan, but OGL/OGLES versus D3D (any feature level) is a joke. :S
- _pmf_ 11y ago> So, what are the chances of Vulkan drivers from devices makers "follow the tradition" of their OpenGL drivers and only implement half the spec with lots of bugs and lack of functionality I'd say in the high 99.99999ies
- ska 11y agoHard to say yet, but since one of the design goals of Vulkan is to address this very issue, it seems inept to assume they can't/won't improve things w.r.t drivers before there is evidence.
- Jasper_ 11y agoVulkan is extraordinarily thin. There really isn't the large complex global state machine that OpenGL has -- the potential for complex bugs are a lot less.
- raverbashing 11y agoI agree, that's what I hope, but we never know...
- runeks 11y agoGood point. Vulkan's purpose is for GPU hardware companies to stop having to write graphics software (drivers). GPU producers shouldn't be responsible for writing OpenGL compilers any more than AMD and Intel should be responsible for writing C/C++ compilers and Python VMs. As I understand it, the goal is to move the API closer to the hardware. Hopefully so close that the driver will be very thin. There are plenty of software developers out there who can implement an OpenGL driver in Vulkan as well as the employees of AMD and Nvidia, I would think.
- justabystander 11y agoAny progress on getting OSS drivers for the PowerVR prodcut family? Security demands I keep an updated system, but that's not really practical with closed-source drivers.