Announcement

Collapse
No announcement yet.

Intel Aims To Hit On Performance, Plans LLVM Compiler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

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

    Comment


    • #12
      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.

      Comment


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

        Comment


        • #14
          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.

          Comment


          • #15
            After every call in apitrace

            Comment


            • #16
              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.

              Comment

              Working...
              X