OpenGL

ARB Meeting Notes

September 21-22, 2004

Hosted by 3Dlabs in Ft. Collins, CO

Meeting notes taken by Jon Leech, SGI

Attendees

Alain Bouchard (telecon) Matrox abouchar 'at' matrox.com
Allen Akin (telecon) (Self) akin 'at' pobox.com
Andrew Wiltzius (telecon) HP andrew.wiltzius 'at' hp.com
Barthold Lichtenbelt 3Dlabs barthold 'at' 3dlabs.com
Bill Armstrong (telecon) E&S armstron 'at' es.com
Bill Licea-Kane ATI bill 'at' ati.com
Brian Paul Tungsten Graphics brian 'at' tungstengraphics.com
Courtney Goeltzenleuchter (telecon) HP courtney 'at' hp.com
Dale Kirkland 3Dlabs dale.kirkland 'at' 3dlabs.com
Dan O'Donnell Adobe dodonnell 'at' adobe.com
Dan Petersen Sun daniel.petersen 'at' sun.com
Dave Zenz Dell dave_zenz 'at' dell.com
Eskil Steenberg (telecon) Obsession eskil 'at' obsession.se
Helene Workman (telecon) Apple plotka 'at' apple.com
Ian Romanick (telecon) IBM idr 'at' us.ibm.com
Jeff Juliano (telecon) NVIDIA jjuliano 'at' nvidia.com
Jeff Weyman ATI jweyman 'at' ati.com
Jeremy Sandmel ATI jsandmel 'at' ati.com
John Rosasco Apple jdr 'at' apple.com
John Stauffer Apple stauffer 'at' apple.com
Jon Leech SGI ljp 'at' sgi.com
Ken Severson NVIDIA kseverson 'at' nvidia.com
Kent Lin Intel kent.lin 'at' intel.com
Kevin LeFebvre NVIDIA klefebvre 'at' nvidia.com
Matt Russo (telecon) Matrox matt.russo 'at' matrox.com
Michael Gold NVIDIA gold 'at' nvidia.com
Pat Brown NVIDIA pbrown 'at' nvidia.com
Paul Martz (telecon) Individual paul.martz 'at' frii.com
Paul Ramsey Sun paul.ramsey 'at' sun.com
Suzy Deffeyes IBM suzyq 'at' us.ibm.com
Teri Morrison 3Dlabs teri.morrison 'at' 3dlabs.com

Disclaimer

People reading the OpenGL ARB minutes are cautioned that statements made by attendees do not represent official company positions unless explicitly identified as such.

Action Items / Conclusions from the Meeting

Summary of Discussion Topics

Tuesday, September 21

Working Group Process Discussion

Michael - process breaks down in presence of contentious issues. Get out a "majority of minority" result which is then rubber-stamped by the ARB. If there are non-minor issues to be resolved, better to bring multiple proposals to the table and let the ARB select one which the WG would then refine.

JohnR - shouldn't reverse WG votes without all the original voters being involved.

Jeremy - effective WGs have agreement on high-level principles, which guide the overall process.

Bill notes that common practice in other groups is that a motion to reconsider must be brought by the group that won the previous vote, not the group that lost.

Takeaway points after discussion (some of this may go into the updated WG operating guidelines document):

OpenGL 2.0 Specification Issues

Jon will work up a revised 2.0 spec addressing these issues prior to the October teleconference.

OpenGL 2.1 Planning

Candidate features for summer 2005 release

Jon wants to try and settle the candidate feature list at the December ARB meeting and move the spec writing process up several months relative to last year. This would not absolutely preclude later additions, it is simply an accelerated schedule to work towards.

Vertex Attribute Aliasing & GLX Protocol

Brian brought slides to explain problem w/2.0 core/ARB/NV feature interactions. It appears that NVIDIA has not yet implemented indirect rendering for NV_vertex_program, so it will be possible to break the GLX protocol aliasing between the NV and ARB glVertexAttrib* calls now, using the existing assigned opcodes for the ARB functions. Pat will allocate new NV opcodes from their reserved block.

GLX protocol WG needs to reconvene to sort out 2.0 protocol.

New Bylaws Status

Nearly complete, finally. Set date for the transition to the new bylaws to November 23, 2004.

Jon will circulate the updated bylaws vote document and call an email vote. Dependent on a few last minor updates from Doug Crisman.

After this vote passes (if it does), we will hold votes for dues for CY04 ($0) and CY05 ($10000).

GLP Updates

Paul Ramsey brought slides describing the GLP project, for OpenGL rendering without a window system. Sun is working with U. Texas on a TeraGrid project - internal implementation only at this point.

Paul will look at the Khronos EGL API as a possible existing alternative - Jon thinks Khronos will be receptive to minor changes to help support GLP-type functionality.

Metafile Working Group

GLSL alone doesn't define bindings to other attributes apps need. Metafiles include additional attributes/information about shaders and their parameters. Primary question: does this even belong in the ARB?

Sony has introduced "Collada" XML schema which has been picked up by some content providers. Also inclues a rudimentary scene graph. This could be extended for GLSL.

Agreed with no objections to create "arb-metafile" WG with Michael Gold as chair, initial charter: determine whether to use Collada or develop our own format, and report back. Mailing list is already setup, people can subscribe via majordomo as usual.

Wednesday, September 22

Floating Point Buffer Extensions

Dale distributed updated specs. Merged pixel_format_float into color_buffer_float, so there are both core GL and WGL/GLX name strings associated with the latter now. Still have separate half_float_pixel and texture_float extensions. Open issues remaining with each extension, but the WG is as close as it's going to get and resolution from the whole ARB is needed.

Discussion of SGI IP issue. Dale will include SGI statement regarding their patent into each extension spec.

Review of open issues. Will add an invariant to cover passing through clamped fixed-point colors intact (section 2.14.9, issue 32). Noted we need a new issue discussing clamping behavior with MRT where some targets are FP and some are fixed-point. Current render_target spec doesn't allow setting this up, but it may be possible in the future.

If FP texture formats are required to be respected (e.g. not being allowed to choose a fixed-point internal format when FP requested), there are consequences for making texture_float a core feature - implication is that either a cap bit is needed, or 2.1 implementations will be required to support FP textures, with implications relative to the IP issues.

texture_float spec allows implementation to choose internal FP format (e.g. could choose FP16 when FP32 requested), and allowed varying clamping behavior (supporting NaN/Inf or not) to accomodate differences between ATI/NVIDIA HW. Apps will need to check that they got the FP format they asked for if they care about these range/representation issues.

Specs are basically ready to be implemented for testing purposes. Will review status on the October teleconference and, probably, call an email vote at that point.

Superbuffers

Barthold brought slides describing the current WG status and plans, and updated the ARB on WG progress. Now developing a pbuffer replacement for render-to-texture and offscreen rendering - all in GL, no context switching required. ATI and NVIDIA are co-authoring the EXT_framebuffer_object spec, with 3Dlabs leading the WG. Still on schedule from last meeting: draft spec September 2004, final spec December 2004. Hopefully promote to ARB status in December.

Texture/render buffers attached to framebuffer objects, which are in turn bound to the current state. Initial spec supports color & depth textures, multiple attachments for MRT, stencil render buffers. Does not support accum / multisample buffers or format groups.

Reviewed state that can or might change as a result of changing the FB attachments (thereby effectively changing the pixel format). Will probably move some "implementation dependent state" to a new "framebuffer dependent state" table. Agreed to move subpixel bits and maximum line/point sizes from "undecided" back to "implementation dependent". Agreed that the supported set of extensions cannot change.

Long discussion about multi-context behavior when a shared framebuffer object is invalid. Should errors be generated by glBegin? Straw poll: YES, error should be generated. Straw poll: a new GL error code should be introduced for invalid framebuffers (WG will decide on a name). Note this affects e.g. gluErrorString, which will return NULL if it doesn't recognize an error code.

Agreed to put the framebuffer valid bit into the context state as a query, rather than a separate ValidateFramebuffer call - the separate call was a holdover from uber buffers, where the call actually did work as well as returning valid status.

EXT_texture_coordinate_unnormalized

This is an Intel extension proposal - offers both regular [0,1] and unnormalized (texel indexed) texcoord access to all texture types. Pat doesn't think it's worth extending normalized access to RECTANGLE targets. Limited interest from others - several are willing to review the extension but may not choose to implement it.

Next Meeting Plans

Apple will host the December meeting in Cupertino - dates TBD.

Thanks to 3Dlabs for hosting this meeting!