Become a fan of Slashdot on Facebook


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×
Graphics Intel Upgrades Linux Games

Valve Sponsors Work To Greatly Speed-Up Linux OpenGL Game Load Times 202

An anonymous reader writes "Valve Software has sponsored some interesting improvements developed by LunarG for the Mesa OpenGL library on Linux for deferred and threaded GLSL shader compilation. What these changes mean for users of the open-source Linux graphics drivers when running their favorite games is that OpenGL games now load a lot faster. As an example, the time from starting Dota 2 until the time actually being within the game is reduced by about 20 seconds on an Intel system. While Direct3D has offered similar functionality for a while, OpenGL has not, which has given it a bad reputation with regard to game load times until all shaders are compiled and cached — fortunately it's now addressed for OpenGL if using the Mesa Linux graphics drivers on a supported game."
This discussion has been archived. No new comments can be posted.

Valve Sponsors Work To Greatly Speed-Up Linux OpenGL Game Load Times

Comments Filter:
  • Stop gap (Score:2, Interesting)

    by Anonymous Coward

    OpenGL probably need to move to an IR for shaders. For thost that don't know, shaders are compiled by the driver today. Many games generate shaders with a combinatoric explosion which creates a lot of work for the driver. You can cache the result, which is often done, but you'll end up recompiling when the user change settings, etc.

    The solution is off-line compilation to an IR, but of course everyone need to be aboard. The downside is that an IR spec will probably add 'DRM' considerations whereas today Open

    • Re:Stop gap (Score:5, Interesting)

      by TheRaven64 ( 641858 ) on Monday May 05, 2014 @06:08AM (#46917529) Journal

      An IR doesn't buy you much. The time taken for clang to compile OpenCL C to SPIR is about 10% of the time required for LLVM to optimise and codegen the resulting SPIR into native code. The driving force behind SPIR comes from developers who don't want their shader source code embedded in their binary source.

  • obligatory (Score:5, Funny)

    by Anonymous Coward on Monday May 05, 2014 @06:45AM (#46917629)

    Drivers to be renamed "Black Mesa OpenGL Library"?

  • by carlhaagen ( 1021273 ) on Monday May 05, 2014 @07:41AM (#46917825)
    ...both have functionality for accessing (and saving) a compiled shader so that it can be loaded and used instantly on next run.
  • So that's what is taking so long when starting Dota. I was wondering what part of loading a game could max out a thread on the CPU.

    As an example, the time from starting Dota 2 until the time actually being within the game is reduced by about 20 seconds on an Intel system.

    A WTF comment if I ever saw one. One would prefer at least two numbers to know how good the improvement is, though a percentage would also be better. On my Intel system Dota2 takes about 15 seconds now. And what's with the pointless Intel name-drop anyway.

    Caching seems like a better solution to me, but multithreaded compilation is also good. Well done Valve

  • by nimbius ( 983462 ) on Monday May 05, 2014 @07:59AM (#46917905) Homepage
    Im also hoping they deprecate the libraries in Team Fortress 2 that are patent encumbered before someone hauls them into a texas court. W have perfectly reasonable alternatives to S3TC.
    Installation and posix portability are also on my wishlist but thats sort of offtopic and not likely to happen without a bit of ecosystem backlash..
    • by ledow ( 319597 )

      S3TC is part of OpenGL, not Valve-software specifically.

      As such, if you want to support OpenGL, you're pretty much going to have to pay for the patent and/or workaround it.

  • by dkegel ( 904729 ) on Monday May 05, 2014 @11:53AM (#46919621) Homepage
    FWIW, the Nvidia proprietary drivers have had a shader cache on Linux since the 290.03 release in late 2011 (search for GLShaderDiskCache). It probably helps Mass Effect 2 under Wine somewhat (here's a bug report from before the cache was added to the driver: [] )

Enzymes are things invented by biologists that explain things which otherwise require harder thinking. -- Jerome Lettvin