<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 01/06/2014 20:49, Jeremy Huddleston
      Sequoia wrote :<br>
    </div>
    <blockquote
      cite="mid:75F0F826-2DCE-43A9-A364-0E65F9FBDCF3@freedesktop.org"
      type="cite">
      <pre wrap="">I'm trying to take a stab at adding core profile support to XQuartz.  As a first step, I'm trying to add GLX_ARB_create_context and GLX_ARB_create_context_profile.

For now, I want to make sure that GLX_ARB_create_context and GLX_ARB_create_context_profile are only advertised as being available when in a testing mode (so as to not enable breakage by default while working on these changes).  To this end, I'm the following to applegl_create_screen:</pre>
    </blockquote>
    <br>
    <blockquote
      cite="mid:75F0F826-2DCE-43A9-A364-0E65F9FBDCF3@freedesktop.org"
      type="cite">
      <pre wrap="">

Unfortunately, it seems that GLX_ARB_create_context and GLX_ARB_create_context_profile are always advertised on current mesa. </pre>
    </blockquote>
    It looks like __glXCalculateUsableExtensions is always called with
    "display_is_direct_capable = False" for GLX_USE_APPLEGL.<br>
    <br>
    Thus the following applies:<br>
    " If the display is not capable of direct rendering, then the
    extension<br>
        * is enabled if and only if the client-side library and the
    server<br>
        * support it. "<br>
    <br>
    This seems conformant to the spec:<br>
    <br>
    "
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <pre style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; white-space: pre-wrap;">Direct rendering is requested if <direct> is True, and indirect
    rendering if <direct> is False. If <direct> is True, the
    implementation may nonetheless create an indirect rendering context
    if any of the following conditions hold:

      * The implementation does not support direct rendering.
      * <display> is not a local X server.
      * Implementation-dependent limits on the number of direct
        rendering contexts that can be supported simultaneously are
        exceeded.
</pre>
    "<br>
    <br>
    In other words: you server advertises the extension and direct
    rendering is not supported. The extension must be advertised, and
    create an indirect context in all cases.<br>
    <br>
    Your glxinfo says that direct rendering is supported. I don't know
    XQuartz, but perhaps __glXCalculateUsableExtensions should not get
    called anymore with "display_is_direct_capable = False" for
    GLX_USE_APPLEGL ?<br>
    <br>
    Axel Davy<br>
  </body>
</html>