I am sponsoring this case for John Martin and have marked it closed
approved automatic as it is a simple update of an externally controlled
interface to match the new standard version from a recognized standards
body. If anyone disagrees and wishes to have this case converted to
a fasttrack for further review, please let me know.
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
OpenGL 3.1 for the NVIDIA graphics driver
1.2. Name of Document Author/Supplier:
Author: John Martin
1.3 Date of This Document:
28 April, 2009
4. Technical Description
This project is the delivery of OpenGL 3.1 and GLSL 1.40 support in
the NVIDIA graphics driver. This is an update to OpenGL 3.0 and GLSL 1.30
[LSARC/2009/066] delivered in the R180 driver. The scope of the project is
specific to NVIDIA as OpenGL 3.x introduces a new deprecation model where
the intent to remove old features in future releases is declared. The
commitments to interface stability for this project may not apply to
OpenGL 3.x implementations from other vendors. Each of those should
be treated as a separate project.
The Khronos group (http://www.khronos.org) announced the OpenGL 3.1
and GLSL 1.40 update on 24 March, 2009. Details of this announcement
are at:
http://www.khronos.org/news/press/releases/khronos-releases-streamlined-opengl-3.1-specification
As was the practice with earlier versions, the fixed pipeline and
shading language specifications are split into separate documents.
At the time of this writing the current documents are:
OpenGL 3.1 Specification with deprecated features removed
http://www.opengl.org/registry/doc/glspec31.20090324.pdf
OpenGL 3.1 Specification with ARB compatibility for deprecated features
http://www.opengl.org/registry/doc/glspec31undep.20090324.pdf
OpenGL 1.40 Shading Language
http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.40.05.pdf
New features:
-------------
The delivery of OpenGL 3.1 features is transparent to existing applications
that depend on OpenGL 2.1 and earlier behavior. To use the OpenGL 3.1
(and 3.0) features, the application must register intent by using the new
context creation call, glXCreateContextAttribsAttribsARB(). If the
application uses the established context creation call, glXCreateContext(),
it will get OpenGL 2.1 and earlier behavior. Existing applications are
shielded from any changes in behavior.
To provide optional support of deprecated features, OpenGL 3.1
adds the ARB_compatibility extension. This is discussed further
in the deprecation section.
Appendix G.1 of the 3.1 Specification lists the new features.
Deprecation of old features:
----------------------------
As mentioned in LSARC/2009/066, OpenGL 3.0 introduced a deprecation model.
The OpenGL 3.1 specification removed features which were marked as
deprecated in OpenGL 3.0. However, OpenGL 3.1 adds an optional
extension, ARB_compatibility, which provides a better method to
determine if the driver still supports deprecated features. The
drivers delivered by the project will implement ARB_compatibility.
Appendix G.2 of the 3.1 Specification lists the deprecated features.
(There are no additional deprecated features in 3.1).
Support:
--------
Bugtraq: nvidia/nvidia/opengl
Delivery:
---------
The interfaces listed below are delivered by the NVDAgraphics
SYSV package and the NVDAgraphics IPS package, in conjunction
with the ogl-select SMF service [LSARC/2005/700]. There are
no name changes to the headers or libraries for OpenGL 3.1 so
existing build environments are not effected.
Interfaces Exported
Interface Classification Comments
-----------------------------------------------------------------
/usr/include/GL/gl.h Committed
/usr/include/GL/glext.h Committed
/usr/include/GL/glx.h Committed
/usr/include/GL/glxext.h Committed
/usr/lib/libGL.so.1 Committed
/usr/lib/amd64/libGL.so.1 Committed
The libraries /usr/lib[/amd64]/libGLcore.so.1 are private objects
and should not be linked in for normal application development.
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
X Consolidation (Desktop C-Team)
6.5. ARC review type: Automatic
6.6. ARC Exposure: open