Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Wednesday February 17 2016, @04:22AM   Printer-friendly [Skip to comment(s)]
from the live-long-and-phosphor dept.

After 18 months of work, the Vulkan 1.0 graphics specification has been released:

This is a little different from the Khronos Group's past launches, however, in that this time around there will be more than a specification PDF available – there are drivers, support documentation and a free SDK, and there is even a game that you can download with a Vulkan backend. There is a multitude of companies comprising the Khronos Group, and those in the working group for Vulkan include not only AMD, Nvidia, and Intel, but game engine makers and even Oculus VR.

[...] Unlike DirectX 12, Vulkan is completely open-source and royalty-free. Anyone who wants to use the code or adjust the code to fit their personal needs is free to do so, be that for private or commercial purposes. [...] DirectX 12 is Microsoft's graphics API, and it works only on Windows 10. Metal is an API made by Apple, and although it is also a low-overhead API, it works only on Apple devices. Vulkan, by contrast, works on many platforms. You can use in on operating systems as old as Windows XP on up to Windows 10, pretty much any Linux distro including SteamOS, and Android. Interestingly enough, Apple has opted not to integrate support for Vulkan into its devices -- although it is free to do so, so a day may come when Apple devices do have Vulkan support.

The development of the API owes a lot to AMD's Mantle:

[Continues.]

Since Khronos's last major press update almost a year ago in March of 2015, not a great deal has changed on the technical side from a high level. After being gifted Mantle 1.0 from AMD – an action that significantly sped up the development process and bypassed the need to figure out some fundamental questions about how the API should be designed – the consortium went about adapting Mantle to serve as a wider, more generic API suitable for hardware from multiple vendors across multiple OSes.

The end result is that Vulkan has its roots firmly in Mantle, through Khronos has worked to make it very clear that multiple vendors are responsible for contributing IP that ultimately went into Vulkan. And while the specific low-level details of the API are beyond the scope of this article, I do know that the shader resource binding system is significantly different from Mantle, and that's not the only system that was updated or overhauled during Vulkan's development.

More coverage at Ars and The Register. Check out Khronos Group's hub for the Vulkan 1.0 specification. Both AMD and Nvidia have released Vulkan drivers. Finally, here is the Valve-funded LunarG Vulkan-based SDK.


Original Submission

Related Stories

Vulkan 1.1 Specification Released 13 comments

Vulkan 1.1 Specification Released: Open-source Tools, SDKs, and Launch Driver Support

Since the release of Vulkan 1.0 in February 2016, the successor to OpenGL slowly but surely made its way into applications and game engines. Today, roughly two years later, the Khronos Group is releasing Vulkan 1.1 and SPIR-V 1.3 specifications, and much like Vulkan 1.0's 'hard' API launch these are accompanied by updated developer tools, open source conformance tests, and launch driver support from GPU vendors. [...] In sum, the evolution of Vulkan from 1.0 to 1.1 is three-pronged: integration of developer-requested functionalities, driver support and seamless porting of Vulkan to more platforms, and then practical implementation by way of a developed ecosystem.

Moving straight into the core changes, Vulkan 1.1 brings two new wide-ranging functionalities: protected content and subgroup operations. The former utilizes low-level restrictions such that applications can render and display using resources they cannot access or copy, in turn securing playback and display of protected content. While ostensibly for DRM purposes, Khronos noted that Vulkan was exposing GPU capability rather than pushing for hardware-level DRM, leaving usage or implementation up to the developers.

So on the one hand, developers may choose to create a highly-restrictive multi-layered DRM scheme with a high degree of granularity. On the other hand, perhaps the feature could be used for an advanced low-level adblocker, not only for browsers but one that could hook onto ad-serving mobile and desktop games and applications. All might be possible with Vulkan 1.1 and beyond. To that end, Vulkan is in many ways simply looking to enable what is possible – in the purest sense of the idea – on GPUs.

That idea carries over with the new 'subgroup operations', where a set of threads can communicate and coordinate amongst themselves where normally this would be done by accessing off-chip memory. Ultimately, this offers developers a method of parallelizing certain workloads to a very high degree, and while compute and deep learning are the more obvious use cases, subgroup operations are not limited to only compute shaders and could presumably be used for graphical purposes. Naturally, the new SPIR-V 1.3 likewise supports subgroup operations.

Khronos Group press release and Vulkan Resource Page.

SPIR: "Standard Portable Intermediate Representation"

Previously: Khronos Group Releases Vulkan 1.0 Graphics Specification

Related: Open Source Doom 3 BFG Gets a Vulkan Renderer
AMD Finally Pushing Out Open-Source Vulkan Driver


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by rts008 on Wednesday February 17 2016, @04:43AM

    by rts008 (3001) on Wednesday February 17 2016, @04:43AM (#305596)

    I would love to see this crush DirectX, in every way.

    Equal or better performance than DirectX, and we could see more Linux games being developed using Vulkan.

    • (Score: 3, Informative) by c0lo on Wednesday February 17 2016, @04:50AM

      by c0lo (156) Subscriber Badge on Wednesday February 17 2016, @04:50AM (#305599) Journal

      Equal or better performance than DirectX, and we could see more games being developed using Vulkan running natively on many platforms, including Linux

      FTFY... because lowering the multi-OS support cost is the incentive for game devs to switch to Vulkan.

      --
      https://www.youtube.com/watch?v=aoFiw2jMy-0
      • (Score: 3, Touché) by rts008 on Wednesday February 17 2016, @05:38AM

        by rts008 (3001) on Wednesday February 17 2016, @05:38AM (#305611)

        You did not fix anything for me, you pretentious git.

        I don't care about multi-OS support, I'm only interested in Linux gaming...just as I commented.

        • (Score: 2) by c0lo on Wednesday February 17 2016, @05:50AM

          by c0lo (156) Subscriber Badge on Wednesday February 17 2016, @05:50AM (#305615) Journal

          I don't care about multi-OS support, I'm only interested in Linux gaming...just as I commented.

          Not going to happen mainstream (or is it main-Steam?), not without a major economic incentive.

          That was the point of my correction, in case you missed it, you nearsighted mentally subverted you.

          --
          https://www.youtube.com/watch?v=aoFiw2jMy-0
          • (Score: 2, Informative) by Anonymous Coward on Wednesday February 17 2016, @07:51AM

            by Anonymous Coward on Wednesday February 17 2016, @07:51AM (#305656)

            Not going to happen mainstream (or is it main-Steam?), not without a major economic incentive.

            Nope, you're wrong. Windows 10 is a disaster, Windows 8 was even worse of a disaster and helped Steam come to linux and even port their own engine. You know why everyone from IDTECH, to Unreal to Valve now has engines that run on Linux? Because it's a one off cost to develop, and if you start with cross platform dev toolchain in mind in the beginning then there is no actual cost to select it. Publishers are looking at indies getting 20% to 30% of their funding from Linux gamers who have money to spare, but no games... And they're asking the developers, "What would it take to run on multiple platforms?" The devs reply, "Uh, use an engine that runs on multiple platforms?" The publisher then says, "Yes, do that, let's get more free money for the same cost to develop."

            The story is actually the opposite of what you expect. See, then the publisher say, "Hey, we're going to push this out for Mac and Linux too!" Then microsoft contacts them and makes an offer to keep in exclusive to windows. You don't have to develop assets on Linux to deploy on Linux with today's game engines. I can't think of one that doesn't support Linux. The publisher just tells the devs, well, looks like we don't push out the cross platform binaries, MS is going to pay us off again.

            Same thing happens in the console arena. Look there and you'll see devs releasing the same game for different consoles -- and then sometimes signing exclusivity deals, these deals have to garauntee a certain amount of $PROFIT for the exclusivity or else it's more profitable to release cross platform, and it's easy too -- "The game uses Havok and Unreal! How much will you pay us not to release it on everything under the damn sun?"

            MS has gotten greedy, and many devs (such as myself) do not like the way they are taxing the users by taxing the developers by taking a cut of software sales deployed through their marketplace. MS never needed that before, but now it costs me 30% of my sale just to deploy on their platform. Guess what that means? I'm not eating that fucking bill. That means what used to cost you $10 will now cost you $15 (so I can still get my $10.50 and MS pockets the fiver).

            So, it has never been difficult to deploy on Linux, and the cost of doing so is a drop in the bucket compared to even a single voice actor / rigged & animated character model. So, suddenly Valve has a whole fucking OS distro, and is singing the praises of OpenGL. And now the hardware MFGs are diversifying their bread and butter because it's uncertain whether MS will allow anyone to make money in the future. Sure, it's going to be a real bitch going cross platform if you have had your head up your ass for the past 20 years and kept dragging along legacy compiler dependencies while selecting platform dependent toolchains (mine compiles for both DirectX and OpenGL with the flip of a #IFDEF compiler flag). However, that's only really true in the business software arena (like Adobe), and not the game industry, which has had many commercial engines go completely open source... so studios get the work of making things cross platform for nothing.

            Vulkan continues this trend. The writing is on the wall for proprietary graphics stacks. The world of computing is a diverse place full of many platforms, and no one wants to exclude any market share for no good reason by selecting exclusive support for DirectX and MS compilers.

            Protip: Publishers love free money. Today, Proprietary = Less market share. Even if it's just a few hundred thousand dollars more revenue, it's worth the one time effort to become platform independent -- Meaning you can compile for all Consoles and PC OSs too. Game development is arguably the most cross platform industry in the world.

            • (Score: 0) by Anonymous Coward on Wednesday February 17 2016, @08:40AM

              by Anonymous Coward on Wednesday February 17 2016, @08:40AM (#305672)

              I don't believe that it is as "free" as you make out. As anyone who has written software knows, even if the tool chain is cross-platform, keeping the code cross-platform and doing all those squillions of testing cycles on a whole new set of software/hardware stacks is a huge PITA i.e. $$$.

              • (Score: 0) by Anonymous Coward on Wednesday February 17 2016, @10:59AM

                by Anonymous Coward on Wednesday February 17 2016, @10:59AM (#305699)

                That's why the engine license costs so much. That's what you're paying for when you license the engine. You are paying Epic (Unreal) or EA (IDTECH) or Valve (Source) -- all of these engines run cross platform. You don't actually have to compile the code yourself even if all you customize are shader pipelines and all your logic is in the scripting engine...

                If a two man indie dev team can release on all the major PC platforms at once, then I'm calling bullshit on your expense claims.

                • (Score: 2) by Immerman on Wednesday February 17 2016, @05:39PM

                  by Immerman (3985) on Wednesday February 17 2016, @05:39PM (#305859)

                  If you're using someone else's game engine, then you're not the target market for a graphics API.

                  What something like Vulcan does is allow Epic, EA, Valve, etc. to create their multi-platform game engines targetting only a single API, instead of having to maintain separate DirectX, OpenGL, etc, branches within the engine. That lowers *their* development costs, which means more profit for them and/or cheaper engine licenses for you.

                  Since it's a low-overhead API it also makes it possible to make the game engine much more responsive, at the cost of having to do more of the low-level stuff yourself. So it's possible that you may actually end up doing as much work on the engine as you did to support multiple other APIs, but now that work translates to much improved performance on all platforms.

          • (Score: 0) by Anonymous Coward on Wednesday February 17 2016, @07:59AM

            by Anonymous Coward on Wednesday February 17 2016, @07:59AM (#305661)

            why don't you guys just get a room or smth?

        • (Score: 0) by Anonymous Coward on Wednesday February 17 2016, @06:14AM

          by Anonymous Coward on Wednesday February 17 2016, @06:14AM (#305626)

          Somebody woke up with a stick in their ass today.

        • (Score: 5, Insightful) by Tork on Wednesday February 17 2016, @06:22AM

          by Tork (3914) on Wednesday February 17 2016, @06:22AM (#305628)

          I don't care about multi-OS support, I'm only interested in Linux gaming...just as I commented.

          Ugh ... every day must be a struggle. Anyway. beating DirectX in performance won't make one dev leave Microsoft. The potential to sell 250,000+ copies will. You are *years* from seeing the sort of numbers in Linux that will make that happen. In the mean time cheaper porting costs offer your only short-term hope.

          --
          Slashdolt Logic: "24 year old jokes about sharks and lasers are +5, Funny." 💩
          • (Score: 0) by Anonymous Coward on Wednesday February 17 2016, @10:52AM

            by Anonymous Coward on Wednesday February 17 2016, @10:52AM (#305698)

            Anyway. beating DirectX in performance won't make one dev leave Microsoft.

            Most devs I know use Linux and Windows equally well. With cross platform engines it doesn't matter what system you make your game assets and write code on. You can still deploy it across Win / Lin / Mac. It's called a cross compiler. The OS is irrelevant, and has been so for a loooooong, fucking time. Tell me something? What OS did Doom run on? If you said MSDOS you get a gold star. Did you know Doom was developed on a NeXT machine?

            • (Score: 2) by Tork on Wednesday February 17 2016, @05:11PM

              by Tork (3914) on Wednesday February 17 2016, @05:11PM (#305848)
              That's a nice little story but doesn't cover the point I made that the devs go where the audience is. It's not lack of wisdom keeping games from being cross-platform, it's lack of sales.
              --
              Slashdolt Logic: "24 year old jokes about sharks and lasers are +5, Funny." 💩
              • (Score: 0) by Anonymous Coward on Wednesday February 17 2016, @07:14PM

                by Anonymous Coward on Wednesday February 17 2016, @07:14PM (#305888)

                You just ignored that even Doom shows that the dev platform is irrelevant. The situation has gotten even better. Today damn near everything is cross platform. Assets are largely not platform dependent, and can be converted for the specific platform. Code is written in cross platform languages.

                The false dichotomy proposed is that devs have to leave windows to gain linux, but that is a farcical stance. Carmack did not have to leave NeXt to develop for MSDOS. Similarly, Windows devs can check a box in their compiler toolchain to target Linux. You continue to argue without evidence, and yet the evidence proves that devs will develop for linux, even poor indie devs, and giants like Valve, id Software, Unreal, etc.

                My point is that you're being disingenuous, or are willfully ignorant of how the development process works. In this day and age there is no financial burden for releasing only on one platform EXCEPT for exclusivity deals or gross lack of foresight.

                My point is that the devs are already on linux. Do you know what a Steam Box is? It's a platform where anything produced for Valve's Source engines can run, and it's on Linux... Previously the Source engine only ran on Windows. Obviously there already is enough financial incentive or else there would be no games running on Linux. The burden to make a cross platform game is next to zero when you select for a cross platform development toolchain. Testing is the only substantial cost you might argue, but testing multiple platforms is peanuts, esp. when nearly all the bugs are going to be cross platform bugs, not platform dependent ones. Testers get paid minimum wage OR NOTHING AT ALL in the case of pre-release, closed alpha and closed beta games as seen in indie games and even on consoles. Point being that the cost is minimal.

                What's keeping games off of Linux is exclusivity deals, not technology capability or developer adoption. This can be trivially demonstrated by the fact that the games exclusive to Windows are also kept off of Apple's OSX, which has a significant enough user base to attract developers. Protip: If it runs on OSX it's trivial to make it work on Linux (and it will likely run better on Linux too).

                • (Score: 2) by Tork on Wednesday February 17 2016, @08:15PM

                  by Tork (3914) on Wednesday February 17 2016, @08:15PM (#305914)

                  You just ignored that even Doom shows that the dev platform is irrelevant. The situation has gotten even better. Today damn near everything is cross platform. Assets are largely not platform dependent, and can be converted for the specific platform. Code is written in cross platform languages.

                  I didn't ignore it, I just know that even if it runs reliably it's still extra testing, quality control, technical support, packaging, etc. Releasing a game on another platform is not, nor will it ever be, free of cost, and it requires sales to justify it.

                  What's keeping games off of Linux is exclusivity deals, not technology capability or developer adoption.

                  Hahaha. Not true but even if it were that still brings us right back to the minuscule size of the customer base. Money, or more specifically the expectation of making more of it, is the only reason a deal like that would ever be signed. Again, nothing to do with which platform they use.

                  --
                  Slashdolt Logic: "24 year old jokes about sharks and lasers are +5, Funny." 💩
        • (Score: 4, Insightful) by Gravis on Wednesday February 17 2016, @08:42AM

          by Gravis (4596) on Wednesday February 17 2016, @08:42AM (#305673)

          I don't care about multi-OS support

          you should because that's the only way you are going to get AAA titles on Linux.

          • (Score: 2) by Vanderhoth on Wednesday February 17 2016, @12:16PM

            by Vanderhoth (61) on Wednesday February 17 2016, @12:16PM (#305719)

            Already happening. I've been playing XCom2 on my Linux machine for a couple weeks now, and I have a bunch of others.

            There are more and more games coming to Linux all the time, but I credit Valve though. They decided to make a Steam OS based on Debian when Micorsoft started talking about their "app store" for Windows 8. Valve didn't want to be a slave to what MS wanted to force on them. I think they were worried MS would start charging people to install steam and dictate to Valve what games they'd be able to carry (because steam would be sold through Windows app store). So Valve made their own OS and they want as many games as possible to run on their "steam machines", which are just PCs that meet basic specs running Steam OS. So really they're the driving force.

            Steam [steampowered.com] is the largest distributor of games at the moment and getting on their platform almost ensures a games success, almost. Devs want they're games on Steam, so they make them run on Steam OS, which also allows them to runs on any Debian based Linux distro.

            Good Old Games (GOG.com [gog.com]) also has started carrying games that run on Linux, both old and new. (Pillars of Eternity [gog.com] for example)

            I've also had pretty good success getting games to run through WINE, but that's getting a little off topic as they mostly still use DirectX and the games don't run natively, which I'm assuming is the point of this discussion.

            --
            "Now we know", "And knowing is half the battle". -G.I. Joooooe
            • (Score: 2) by Immerman on Wednesday February 17 2016, @05:48PM

              by Immerman (3985) on Wednesday February 17 2016, @05:48PM (#305863)

              And this makes it easier. Where's the problem?

              There's a few big-name engines that have cross-platform support, and games made using those engines tend to be released on Linux as well as Windows. Get away from those big engines though and cross-platform support drops dramatically.

              More to the point, a cross-platform API means less work for the engine developers. Which means the game engines can be developed faster and cheaper than if you're having to constantly maintain multiple branches that do basically the same thing through different APIs.

              As for WINE, etc, I fail to see how that's relevant to the discussion. Yes, it's wonderful for letting us play Windows games *on* Linux, but it has almost nothing to do with games *for* Linux. ("almost" nothing, because I assume at least some developers strive to avoid running afoul of WINE incompatibilities)

              • (Score: 2) by Vanderhoth on Wednesday February 17 2016, @10:18PM

                by Vanderhoth (61) on Wednesday February 17 2016, @10:18PM (#305982)

                And this makes it easier. Where's the problem?

                There is no problem. That's what I was pointing out. And I agree, this is good and only going to make things better.

                As for WINE, etc, I fail to see how that's relevant to the discussion

                Which is why I said it was getting off topic. I was just pointing out where there fails to be a native method to run a game on Linux, WINE some times fills in. So I can still play a lot of AAA titles on Linux.

                I'm extremely grateful to Valve though because I credit them to with the recent push to make more games run natively on Linux.

                --
                "Now we know", "And knowing is half the battle". -G.I. Joooooe