<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<tt><br>
Jon Leech wrote:</tt>
<blockquote
 cite="mid:59268.208.201.253.164.1190236201.squirrel@mail.alumni.caltech.edu"
 type="cite">
  <pre wrap=""><tt>On Wed, Sep 19, 2007 at 07:12:26AM -0700, Wichmann, Mats D wrote:
</tt></pre>
  <blockquote type="cite">
    <pre wrap=""><tt><a class="moz-txt-link-abbreviated" href="mailto:lsb-discuss-bounces@lists.linux-foundation.org">lsb-discuss-bounces@lists.linux-foundation.org</a> wrote:
</tt></pre>
    <blockquote type="cite">
      <pre wrap=""><tt>LSB refers the "OpenGL Application Binary Interface for Linux" [1]
regarding all OpenGL interfaces.

[1] <a class="moz-txt-link-freetext" href="http://oss.sgi.com/projects/ogl-sample/ABI/">http://oss.sgi.com/projects/ogl-sample/ABI/</a>

But this link does not give any hint about usage of OpenGL interfaces.

I have found several places containing some descriptions:

<a class="moz-txt-link-freetext" href="http://www.opengl.org/documentation/specs/man_pages/hardcopy">http://www.opengl.org/documentation/specs/man_pages/hardcopy</a>
<a class="moz-txt-link-freetext" href="http://www.opengl.org/sdk/docs/man/">http://www.opengl.org/sdk/docs/man/</a>
<a class="moz-txt-link-freetext" href="http://www.opengl.org/documentation/specs/">http://www.opengl.org/documentation/specs/</a>

The question is which of them (or may be something else) we will make
the "LSB-canonical" description of OpenGL interfaces?
</tt></pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!----><tt>
    The formal definition of OpenGL is the API Specification, which is
reached from <a class="moz-txt-link-abbreviated" href="http://www.opengl.org/documentation/specs/">www.opengl.org/documentation/specs/</a> . For a fully realized
OpenGL implementation, this needs to be combined with the OpenGL Shading
Language Specification (for OpenGL 2.0 or later implementations), the
GLX 1.4 Specification (GLX is included in libGL), and the GLU 1.3
Specification (libGLU).</tt></pre>
</blockquote>
<blockquote
 cite="mid:59268.208.201.253.164.1190236201.squirrel@mail.alumni.caltech.edu"
 type="cite">
  <pre wrap=""><tt>The C-language API bindings are encoded in the
headers under <a class="moz-txt-link-abbreviated" href="http://www.opengl.org/registry/">www.opengl.org/registry/</a> - the core OpenGL Specification
defines bindings in an abstract C-like syntax.
</tt></pre>
</blockquote>
<tt>If we consider, for example, the glAccum function, <br>
canonical description of its functionality </tt><tt>is in the "OpenGL
X.Y Specification", <br>
section "The Accumulation Buffer", where it is defined as Accum
function.<br>
Correspondingly glx* functions are canonically described in "GLX 1.Z
Spec".<br>
Is it a correct understanding?<br>
<br>
By the way, are HTML/XML versions of the specs available or they are
PDF only?<br>
<br>
<br>
As far as I understand LSB 3.1 refers "OpenGL 1.2 Specification" and
"GLX 1.3 Spec".<br>
<br>
</tt>
<blockquote
 cite="mid:59268.208.201.253.164.1190236201.squirrel@mail.alumni.caltech.edu"
 type="cite">
  <pre wrap=""><tt>
    The man pages are not canonical. Also, the
documentation/specs/man_pages/hardcopy link you mention is, or at least
should be dead - the up-to-date man pages are in sdk/docs/man/ .

    Which specification document to use depends on which version(s) of
the API LSB will mandate runtime and linktime support for. These do not
have to necessarily be the same API version; between the loadable driver
model and the desire to support older hardware, the appropriate course
of action is probably to mandate OpenGL 2.1 support at linktime,
possibly including some ARB-approved OpenGL extensions as well, but only
OpenGL 1.4 or 1.5 at runtime. It depends on how much older graphics
hardware you want to exclude.
</tt></pre>
</blockquote>
<tt>What are benefits of mandating </tt><tt><tt>OpenGL 2.1 support at
linktime</tt> if we mandate </tt><tt><tt>OpenGL 1.4 or 1.5 at runtime?<br>
<br>
</tt></tt>
<blockquote
 cite="mid:59268.208.201.253.164.1190236201.squirrel@mail.alumni.caltech.edu"
 type="cite">
  <pre wrap=""><tt>    I'm willing (as the original author of the ABI) to help out with
this. If people want to update the ABI document as a standalone thing
and continue to refer to it from the LSB spec, I will own that. The ABI
needs to be moved off of oss.sgi.com in any event, since SGI is
completely out of the graphics business and there's nobody left there to
maintain that content. If it continues as a standalone document, I don't
know what the approval process would be for an update.
</tt></pre>
</blockquote>
<tt>The Linux Foundation (as successor of the Free Standards Group) is
a good candidate to host the OpenGL Linux ABI spec.<br>
</tt>
<blockquote
 cite="mid:59268.208.201.253.164.1190236201.squirrel@mail.alumni.caltech.edu"
 type="cite">
  <pre wrap=""><tt>    If people want to fold it into LSB documents, someone else will have
to do the writing - but I'm willing to advise and liase with the OpenGL
ARB working group of Khronos as needed.

    This topic has come up many times before and always ground to a halt
for lack of participation after the initial query to the LSB list. The
major decisions to be made are only to figure out what API versions to
support. Is there an LSB process for calling a vote on decisions like
these? It is not hard to get data from NVIDIA, AMD/ATI, Intel, and
Tungsten Graphics / Mesa on how much hardware cannot support a
particular version of the API, and that could inform the decision.
</tt></pre>
</blockquote>
<tt></tt><tt>Taking into account time to LSB 3.2 release (November
2007), <br>
LSB 4.0 timeframe seems to be more realistic target.<br>
Otherwise we need to act very quickly.<br>
<br>
</tt><tt>Anyway we need someone who will drive the process of data
collection and vote.<br>
Technical implementation of the consensus achieved in the LSB can be
done by us.<br>
<br>
<br>
--<br>
Alexey<br>
<br>
</tt>
</body>
</html>