<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Tim,<br>
      I've given your suggestion some thought - and while it looks like
      something which would work, my time schedule currently is too
      tight (regardless of money involved) to implement support for the
      extension. I might think about it again in three months, if the
      extension has not been implemented by then by someone else. Thanks
      for bringing this up though, it definitely would've been an option
      that I hadn't thought of, if only I had any time to spend on it :)<br>
      <br>
      Best regards,<br>
      Tony<br>
      <br>
      <br>
      <br>
      Am 25.11.2013 22:45, schrieb Timothy Arceri:<br>
    </div>
    <blockquote
      cite="mid:1385415905.52303.YahooMailNeo@web163405.mail.gq1.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff; font-family:times
        new roman, new york, times, serif;font-size:12pt">
        <div><span>Hi Tony,</span></div>
        <div style="color: rgb(0, 0, 0); font-size: 16px; font-family:
          times new roman,new york,times,serif; background-color:
          transparent; font-style: normal;"><br>
          <span></span></div>
        <div style="color: rgb(0, 0, 0); font-size: 16px; font-family:
          times new roman,new york,times,serif; background-color:
          transparent; font-style: normal;"><span>I'm not one of the
            main Mesa devs just an independent developer that works on
            Mesa in my spare time. All I can suggest is you have a go at
            implementing the features yourself. You obviously have a lot
            of talent and I'm sure you would be able to accomplish the
            task. If time is an issue there is a lot of interest in the
            Linux community for improving Mesa and I myself have run two
            successful crowd funding campaigns to be able to support
            some full time work on Mesa. See:
<a class="moz-txt-link-freetext" href="http://www.indiegogo.com/projects/improve-opengl-support-for-the-linux-graphics-drivers-mesa/x/2053460">http://www.indiegogo.com/projects/improve-opengl-support-for-the-linux-graphics-drivers-mesa/x/2053460</a></span></div>
        <div style="color: rgb(0, 0, 0); font-size: 16px; font-family:
          times new roman,new york,times,serif; background-color:
          transparent; font-style: normal;">Maybe you could do something
          similar. If you do decide to do this I find its useful to
          start working on the extension (showing work on github etc)
          before running the campaign as people like to be sure you can
          accomplish what you are promising.<br>
        </div>
        <div style="color: rgb(0, 0, 0); font-size: 16px; font-family:
          times new roman,new york,times,serif; background-color:
          transparent; font-style: normal;">Anyway this is just an
          option for you to think about.</div>
        <div style="color: rgb(0, 0, 0); font-size: 16px; font-family:
          times new roman,new york,times,serif; background-color:
          transparent; font-style: normal;"><br>
        </div>
        <div style="color: rgb(0, 0, 0); font-size: 16px; font-family:
          times new roman,new york,times,serif; background-color:
          transparent; font-style: normal;">Tim<br>
          <span></span></div>
        <div style="display: block;" class="yahoo_quoted"> <br>
          <br>
          <div style="font-family: times new roman, new york, times,
            serif; font-size: 12pt;">
            <div style="font-family: times new roman, new york, times,
              serif; font-size: 12pt;">
              <div dir="ltr"> <font face="Arial" size="2"> On Sunday,
                  24 November 2013 11:57 PM, Tony Wasserka
                  <a class="moz-txt-link-rfc2396E" href="mailto:neobrainx@googlemail.com"><neobrainx@googlemail.com></a> wrote:<br>
                </font> </div>
              <div class="y_msg_container">Hello everyone,<br>
                I was told on IRC that my question would get most
                attention around here <br>
                - so bear with me if this is the wrong place to ask<br>
                <br>
                I'm one of the developers of the GC/Wii emulator
                Dolphin. We recently <br>
                rewrote our OpenGL renderer to use modern OpenGL 3
                features, however one <br>
                thing that we stumbled upon are the lack of efficient
                (vertex/index) <br>
                buffer data streaming mechanisms in OpenGL. Basically,
                most of our <br>
                vertex data is used once and never again after that (we
                have to do this <br>
                for accurate emulation) - so all vertex data gets
                streamed into one huge <br>
                ring buffer (and analogously for index data, which uses
                its own huge <br>
                ring buffer). For buffer streaming, we have multiple
                code paths using a <br>
                combination of glMapBufferRange, glBufferSubData, fences
                and buffer <br>
                orphaning, yet none of these come anywhere close to the
                performance of <br>
                (legacy) rendering from a vertex array stored in RAM.<br>
                <br>
                There are two OpenGL extensions which greatly help us in
                this situation: <br>
                AMD's pinned memory [1], and buffer storage[2] in GL
                4.4. We currently <br>
                have no buffer storage code path, but usage of pinned
                memory gave us a <br>
                speedup of up to 60% under heavy workloads when working
                with AMD's <br>
                Catalyst driver under Windows. We expect the same
                speedup when using <br>
                buffer storage (specifically we need CLIENT_STORAGE_BIT,
                if I recall <br>
                correctly).<br>
                <br>
                So the natural question that arises is: Is either of
                these two <br>
                extensions going to be supported in mesa anytime soon or
                is it of lower <br>
                priority than other extensions? Also, is the pinned
                memory extension AMD <br>
                hardware specific or would it be possible to support it
                for other <br>
                hardware, too? I'm not sure if buffer storage (being a
                GL 4.4 extension, <br>
                and I read that it might actually depend on some other
                GL 4.3 extension) <br>
                is possible to implement on older hardware, yet it would
                be very useful <br>
                for us to have efficient streaming methods for old GPUs,
                too.<br>
                <br>
                I hope this mail doesn't sound too commanding or
                anything, it's just <br>
                supposed to be a friendly question on improving the
                emulator experience <br>
                for our user base<br>
                Thanks in advance!<br>
                <br>
                Best regards,<br>
                Tony<br>
                <br>
                [1] <a moz-do-not-send="true"
                  href="http://www.opengl.org/registry/specs/AMD/pinned_memory.txt"
                  target="_blank">http://www.opengl.org/registry/specs/AMD/pinned_memory.txt</a><br>
                [2] <a moz-do-not-send="true"
                  href="http://www.opengl.org/registry/specs/ARB/buffer_storage.txt"
                  target="_blank">http://www.opengl.org/registry/specs/ARB/buffer_storage.txt</a><br>
                <br>
                _______________________________________________<br>
                mesa-dev mailing list<br>
                <a moz-do-not-send="true"
                  ymailto="mailto:mesa-dev@lists.freedesktop.org"
                  href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev"
                  target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
                <br>
                <br>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>