Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Graphics Upgrades

Khronos Group Announces Vulkan To Compete Against DirectX 12 91

Phopojijo writes The Khronos Group has announced the Vulkan API for compute and graphics. Its goal is to compete against DirectX 12. It has some interesting features, such as queuing to multiple GPUs and an LLVM-based bytecode for its shading language to remove the need for a compiler from the graphics drivers. Also, the API allows graphics card vendors to support Vulkan with drivers back to Windows XP "and beyond."
This discussion has been archived. No new comments can be posted.

Khronos Group Announces Vulkan To Compete Against DirectX 12

Comments Filter:
  • by ihtoit ( 3393327 ) on Tuesday March 03, 2015 @10:56AM (#49171307)

    a Tribble purr?

  • by 50000BTU_barbecue ( 588132 ) on Tuesday March 03, 2015 @10:59AM (#49171335) Journal

    when the only words in that headline you know are "group announces" and "compete against"...

    • by MrL0G1C ( 867445 ) on Tuesday March 03, 2015 @11:06AM (#49171405) Journal

      DirectX 12 isn't out yet and appears to be a Windows 10 only thing. Quick check shows windows 7 has DX11. I'm assuming you know what DirectX is ;-)

      http://www.anandtech.com/show/... [anandtech.com]

      • I've heard the term but knowing what something "is" is quite another thing. This is probably why I can't find a job, I only claim to know things I can actually understand and explain, not the word-bingo that HR triggers on...

        • by Cederic ( 9623 )

          That and your clear disdain for self-education using the bountiful resources of the internets.

          • Hahahahahahaha1!!!!!1 LOL you think that impresses anyone when hiring????

            Oh my God!!!!

        • by MrL0G1C ( 867445 )

          Put simply:
          Game -> Directx -> Driver & Hardware. (Perhaps DX skips the driver for some stuff, I don't know)

          It's the MS Windows software framework which takes it's input from the game and outputs to the driver / hardware, it's used for controlling 2d, 3d textures etc + soun, mostly for games. The next gen stuff does more GPU computing I guess. It started with win95-ish.

        • Khronos Group is a consortium that creates open graphics and media standards. As an example, it's the current developer of OpenGL, which is one of the two main 3D graphics APIs. Vulkan is being designed as a next-generation replacement for OpenGL and OpenGL ES (the mobile device version of OpenGL). Part of its purpose is to unify the two APIs.

          DirectX is a collection of APIs by Microsoft, which provide functions that are useful for graphics and audio applications (especially games) on Windows and in other M
      • by GuB-42 ( 2483988 )

        I'm assuming you know what DirectX is ;-)

        Don't assume too soon, as many people don't know what DirectX really is.
        DirectX is a collection of libraries for sound, input, 2D and 3D graphics, video, etc... 3D graphics and GPU computation is only part of it, and the only part that OpenGL/Vulkan compete against. There are other libraries that reproduce other parts of DirectX such as SDL, OpenAL, mplayer, ....

    • Are you on the right site?

    • by aliquis ( 678370 )

      From Wikipedia, Khronos group:
      "The Khronos Group was founded in 2000 by companies including ATI Technologies, Discreet, Evans & Sutherland, Intel Corporation, NVIDIA, Silicon Graphics (SGI), and Sun Microsystems. It now has roughly 100 member companies, over 30 adopters, and 24 conforming members.[3] Its president is Neil Trevett.

      Working Groups[edit]
      OpenGL, a cross-platform computer graphics API
      OpenCL, a cross-platform computation API.[4]
      COLLADA, a file-format intended to facilitate interchange of 3D as

    • I'm pretty sure that a sentence that begins with "the Khronos Group announces Project Vulkan to..." the only way to end this sentence is "to defeat the Avengers and impose world domination".

  • by TheRaven64 ( 641858 ) on Tuesday March 03, 2015 @11:03AM (#49171381) Journal

    an LLVM-based bytecode for its shading language to remove the need for a compiler from the graphics drivers

    This removes the need for a shader language parser in the graphics driver. It still needs a compiler, unless you think the GPU is going to natively execute the bytecode. If you remove the compiler from a modern GPU driver, then there's very little left...

    • by Megol ( 3135005 )

      Exactly... While removing the parsing and some types of optimizations (common subexpression elimination etc.) helps somewhat there still needs to be optimizers and code generators in the driver. One just have to remember that GPU architectures vary greatly from explicitly scheduled VLIW to partially out of order execution throughput designs to realize that the code generator alone can be pretty complex. :)

      I hope Vulkan will support pre-compiled and cached shaders. That could make a huge difference for some

      • by Anonymous Coward

        That is what is interesting about Vulkan, it doesn't specify a shader language, per se, only an intermediate representational format all drivers are required to support. In this case, they are reusing the Intermediate Language they were already using for OpenCL, SPIR-V.

        This has several benefits.
        1. Now, ALL shaders will have to be compiled to this format, and the drivers will take care of the caching.
        2. You can use OpenCL to create shaders. Or GLSL. Or HLSL. Or C. Or D. Or ..... you get the idea.
        3. Simply cr

    • Yeah that is basically it. It skips the source code parsing stage. It also allows software developers to ship the shaders as harder to disassemble binaries instead of source code. This is probably the main reason why they added it in the first place. NVIDIA Cg has always been like this.

      There have also been problems in the past with parsers on different GPU drivers behaving in a different ways but that is less of a problem.

      They still need an optimizing compiler to translate those LLVM platform independent bi

    • Is this really something OpenGL didn't previously do? I remember DX8 drivers compiling to a bytecode. It was a pretty simplistic language, with a suboptimal bytecode but it still avoided at least one slow part of the process. I realise that optimisation takes the bulk of the time on non-trivial architectures but it still seems like a poinless inefficiency to expect a driver to even handle string parsing.
      • Is this really something OpenGL didn't previously do?

        Yup that's right, it's previously gone with the distribute-your-shader-in-source-form approach. That 'graphics driver' includes most of a C compiler.

        Incidentally, OpenCL is making a similar transition, also to an LLVM-based IR.

    • by gnupun ( 752725 )

      This removes the need for a shader language parser in the graphics driver. It still needs a compiler, unless you think the GPU is going to natively execute the bytecode. If you remove the compiler from a modern GPU driver, then there's very little left...

      In compiler lingo, the source code to parse tree/bytecode converter is called the front end. The piece of code that takes the parse tree/bytecode and generates native machine code is called the back end.

      So the new spec removes the compiler front end from th

      • by Kjella ( 173770 )

        So the new spec removes the compiler front end from the graphics driver, greatly improving performance. Only the compiler back end is present in the graphics driver.

        Not if you're talking game performance rather than compiler performance I think. From what I understand games generally compile their shaders to native instructions long before they're used, it's not just-in-time compilation like when you download javascript on a page and do it on the fly as you execute, more like delayed traditional compilation until you can optimize for this particular hardware like Gentoo ebuilds.

        However, the IR instructions is probably much simpler than the source language, for example

  • OpenGL? (Score:5, Informative)

    by MrL0G1C ( 867445 ) on Tuesday March 03, 2015 @11:14AM (#49171469) Journal

    OK so I decided to break with protocol and RTFA. Vulkan is what the makers see as being the next generation of OpenGL and it is backed by Valve for obvious reasons. It is aimed at a wider range of device types.

    • Re:OpenGL? (Score:4, Informative)

      by Megol ( 3135005 ) on Tuesday March 03, 2015 @11:19AM (#49171521)

      And AMD, Nvidia, Intel, Samsung, EA, Apple, ...

      • by Anonymous Coward

        Yeah right.

        AMD and Nvidia _like_ API fragmentation. "Mantle", anyone? "How it's meant to be played", anyone? (i.e. Nvidia's "we'll help you optimize your game especially for our subtly different opengl flavor").

        Don't get me started on the the mobile vendors (ARM and PowerVR) - They seem be be fixated on highly platform specific drivers just like the bad old days before the IBM PC brought a semblance of interoperability.

        This new API will get a bit of uptake, probably from AMD and one or two of the mobile ven

      • Re:OpenGL? (Score:4, Interesting)

        by Kjella ( 173770 ) on Tuesday March 03, 2015 @01:28PM (#49172885) Homepage

        They've come full circle:
        1. AMD announces Mantle, a low level graphics API which may give consoles an edge over the PC.
        2. Microsoft panics and announces DirectX 12, aiming for pretty much the same thing.
        3. Khronos Group panics and announces OpenGL Vulcan, aiming for pretty much the same thing.
        4. AMD announces there'll be no public SDK of Mantle, use OpenGL/DirectX.

        So in the end we'll probably have feature parity again. How important it is remains to be seen, outside of drawcall benchmarks it's unclear how much real world difference it makes, what is certain is that it exposes a lot more of the complexity to the developer. That of course gives you more room to optimize, but it remains to be seen how many will be able to take advantage of it.

        On the bright side, it might actually mean there's less code that needs to be written and that open source might catch up a bit, it says it'll run on top of all platforms that support OpenGL ES 3.1 which might become a much bigger goal than OpenGL 4.x.

    • It is aimed at a wider range of device types.

      Thank god. It's about time my ThinkGeek USB hotplate be accelerated with voxel heating.

    • by Anonymous Coward

      so..there was so much infighting, vendor specific extensions, & death-by-committee that they are abandoning OpenGL to start an all new Open Graphics Layer.
      It's like the simpsons episode where they move the town down the highway.

    • Get out! We don't like FA readers around here.

  • It was initially intended to use Tachy-tech(TM) but despite the incredible speed boosts, they were unable to deal with the issue of all frames being rendered 1.47 microseconds in the past.

  • Imagination Technologies (PowerVR) posted this today with more in-depth info:
    http://blog.imgtec.com/powervr... [imgtec.com]

    The purpose of Vulkan is apparently to be a low-level alternative to the high-level APIs OpenGL and OpenGL ES.
    Game consoles such as the Playstation series have had both high-level and low-level graphics API:s for many years. Using the low-level API means that you can squeeze out more performance, perhaps at the expense of more developer time. The application takes over more duties, such as resource

    • Competing GPU APIs... PowerVR... it's like it's 1998 all over again!

      Does this do tile-based rendering?

      • Does this do tile-based rendering?

        I presume you intended this as a joke, but from the OpenGL/Vulkan comparison table in the overview: "Matches architecture of modern platforms including mobile platforms with unified memory, tiled rendering"

        On that point - I'm not all that sure exactly what it does to support tiling. The PowerVR blog [imgtec.com] says "A render pass consists of framebuffer state (other than actual render target addresses), and how render targets should be loaded in and out of the GPU at the start and

      • by Misagon ( 1135 )

        PowerVR is the #1 GPU on mobile phones and tablets. For instance, all Apple iPhones and iPads have had embedded PowerVR GPUs in their SoCs.

    • by Anonymous Coward

      It won't be a "low level alternative". It will be THE alternative in the future. Nobody's going to want to continue supporting 4.5 and older OpenGL drivers into the future. It's a big enough headache for them already. I expect glNext ("Vulcan" or whatever it is) to be the only game in town 3-4 years from now.

  • Necessary link http://xkcd.com/927/ [xkcd.com]

    • Necessary link http://xkcd.com/927/ [xkcd.com]

      How does that apply here? The yet-to-be-released Mantle is AMD-specific (or at least to get the most out of it you need GCN architecture which is AMD-only), Metal is Apple-specific, DirectX 12 is Microsoft-only (and thus far seems to be exclusive to Windows 10) so the only actual one that is a platform and vendor -agnostic specification here is Vulkan.

  • So if Microsoft wasn't coming out with something, nobody would be creating a FOSS project to solve that problem? It does seem like many FOSS projects exist for the sole purpose for having an alternative to a Microsoft product.
    • by phorm ( 591458 )

      There are a couple things that tend to breed innovation/change. One is a driving need. The other is competition.

BLISS is ignorance.