Slashdot Mirror


DX11 Coming To Linux (But Not XP)

gr8_phk writes "As reported over at Phoronix, the Direct X 11 API now has an open source implementation on top of Gallium3d which should ease porting of games to Linux with or without Wine. While still in its infancy, you can see where this is heading. All this while Microsoft hasn't offered DX11 for their own aging WindowsXP. Could it be that Linux may soon support this Microsoft API better than Microsoft itself?"

4 of 370 comments (clear)

  1. Seems sensible enough by Anonymous Coward · · Score: 5, Informative

    D3D 10/11 are pure shaders, the API does little more than compile, upload, and bind data to those shaders.

    So the only 'trick' is to automatically convert HLSL to GLSL, which again, is pretty straightforward, since concepts and structures should pretty much map up 1:1.

    Oh, BTW.. It's not DX11 it's D3D11, DirectX is no longer versioned or packaged as one big 'thing', each component carries it's own version number and release schedule.

  2. Re:Does this smack of a hidden agenda to you? by ChienAndalu · · Score: 5, Informative

    This is what the developer wrote in the commit message:

    Thanks to a very clean and well-though design done from scratch,
    the Direct3D 10/11 APIs are vastly better than OpenGL and can be
    supported with orders of magnitude less code and development time,
    as you can see by comparing the lines of code of this commit and
    those in the existing Mesa OpenGL implementation.

    As somebody who only has little OpenGL coding experience I can't really comment on this.

  3. An insider view by DMiax · · Score: 5, Informative

    Disregarding for a moment the fact that this was announced a few months ago, here is an explanation of what this actually means for developers from a developer of Gallium3D. It explains why there will be no flood of games ported from Windows, and why we should still support a truly open API like OpenGL.

  4. Re:Does this smack of a hidden agenda to you? by TheRaven64 · · Score: 5, Informative

    Gallium drivers are in several layers. The majority of a modern GPU is basically a general-purpose processor optimised for running floating-point heavy, branch-light, programs in parallel. The back end of a gallium driver is just a compiler and runtime that takes TGIR programs and runs them on the GPU (or the CPU if the GPU can't handle them). The front end of the driver generates TGIR programs.

    Because modern GPUs are so flexible, Direct3D 11 and OpenGL 3 are basically APIs for launching shader programs, which do the real work. The front end of the driver compiles GLSL or HLSL programs to TGIR and passes them to the back end. The back end then compiles them for the native architecture and runs them.

    When you use OpenGL 2 or DirectX 9 on Gallium, you have something like Mesa that implements the older, less-flexible (but simpler-to-use) APIs by generating fairly static TGIR programs.

    --
    I am TheRaven on Soylent News