Page 2 of 2 FirstFirst 12
Results 11 to 16 of 16

Thread: Intel Aims To Hit On Performance, Plans LLVM Compiler

  1. #11
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    4,995

    Default

    Someone please define threaded gl dispatch. Googling that without quotes gives nothing relevant, with quotes it only has phoronix results.

  2. #12
    Join Date
    Jan 2008
    Posts
    297

    Default

    Quote Originally Posted by curaga View Post
    Someone please define threaded gl dispatch. Googling that without quotes gives nothing relevant, with quotes it only has phoronix results.
    GL applications call into Mesa using the standard gl* functions, many of which have to validate internal state. Currently, all of that processing happens in the main thread, so while your application would like to be doing physics calculations or something, it's stuck waiting for Mesa to validate GL state.

    Threading the GL API functions means that when you call a gl* function, that function queues up some work for the render thread to do. The render thread will do all the state checking on another core, and allow the gl* functions to return almost immediately back to the application, allowing the application do get to other things.

  3. #13
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    4,995

    Default

    So deferring the work to another thread, ok. But how does that work when the call needs to return an error?

  4. #14
    Join Date
    Jan 2008
    Posts
    297

    Default

    Quote Originally Posted by curaga View Post
    So deferring the work to another thread, ok. But how does that work when the call needs to return an error?
    glGetError would put a fence into the pipeline and then wait for the result. Fortunately, calling glGetError isn't done very often.

  5. #15
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    4,995

    Default

    After every call in apitrace

  6. #16
    Join Date
    Jan 2009
    Posts
    615

    Default

    Quote Originally Posted by mattst88 View Post
    glGetError would put a fence into the pipeline and then wait for the result. Fortunately, calling glGetError isn't done very often.
    But glGenXXX is. This is the reason why I think offloading every GL call to a separate thread won't scale very well.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •