OpenGL

ARB Meeting Notes

December 7-8, 2004

Hosted by Apple in Cupertino, CA

Meeting notes taken by Jon Leech, SGI

Attendees

Alain Bouchard (telecon) Matrox abouchar 'at' matrox.com
Barthold Lichtenbelt 3Dlabs barthold 'at' 3dlabs.com
Bill Armstrong E&S armstron 'at' es.com
Bill Licea-Kane ATI bill 'at' ati.com
Dale Kirkland (telecon) 3Dlabs dale.kirkland 'at' 3dlabs.com
Herb Kuta (telecon) Quantum3D kuta 'at' quantum3d.com
Ian Romanick (telecon) IBM idr 'at' us.ibm.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
Kent Lin Intel kent.lin 'at' intel.com
Kevin Rushforth Sun kevn.rushforth 'at' sun.com
Matt Russo (telecon) Matrox matt.russo 'at' matrox.com
Michael Gold NVIDIA gold 'at' nvidia.com
Pat Brown (telecon) NVIDIA pbrown 'at' nvidia.com
Paul Martz (telecon) Individual paul.martz 'at' frii.com
Simon Green NVIDIA sgreen 'at' nvidia.com
Yanjun Zhang S3 Graphics yanjun.zhang 'at' s3graphics.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, December 7

Introductions and Procedural Votes

The ARB is now operating under the new Bylaws, so we are required to make several formal decisions.

VOTE to approve additional Contributor Members Adobe, Dave Shreiner, Seaweed. YES: 8 (3Dlabs, Apple, ATI, IBM, Intel, NVIDIA, SGI, Sun) / ABSTAIN: 1 (Dell not present) / NO: 0, PASSES.

VOTE to set 2004/2005 dues at $0/$10K respectively. YES: 8 (3Dlabs, Apple, ATI, IBM, Intel, NVIDIA, SGI, Sun) / ABSTAIN: 1 (Dell not present) / NO: 0, PASSES.

VOTE to approve existing voting rules / policies for all current Working Groups. YES: 8 (3Dlabs, Apple, ATI, IBM, Intel, NVIDIA, SGI, Sun) / ABSTAIN: 1 (Dell not present) / NO:0, PASSES.

Bylaws review. Reminded all Working Groups that they should, under the new bylaws, hold internal votes to (re)approve their chairs.

Reviewed new disclosure requirements for WGs / entire ARB. Issued IP disclosure request per bylaws. Reminded all Working Groups that they should also issue requests as required by the IP Policy.

We are unclear how disclosure requests/requirements apply to an EXT extension developed within the ARB context, like EXT_framebuffer_object. Jon will follow up with bylaws WG.

We are supposed to elect a Treasurer under the new bylaws, but there have been no volunteers. We expect that the arb-marketing WG will collectively handle this, with administrative assistance from a contractor. There is a lot of paperwork to be done and, together with opengl.org webmaster fees, that will eat up much of the 2005 dues. Outyears should have more money free for hiring contractors or the like.

Scheduled Jan/Feb 2005 telecons for Friday, January 14 at 11AM Pacific, and Friday, February 11 at 11AM Pacific.

OpenGL 2.1 feature list

We will revisit all unclosed suggestions at the monthly telecons.

OpenGL 2.x Conformance Tests

Barthold brought slides. Quick summary:

3Dlabs would like the ARB to adopt parser test for OpenGL 2.0 conformance testing, as a first step.

Some discussion of whether it's appropriate to just upgrade the conformance tests in this area, or more broadly with 1.x features. Problems with upgrading the 1.x tests historically have been a combination of licensing issues with tests that might be contributed by other ARB members/licensees, and finding enough member engineering cycles to actually update the tests. But nobody is objecting to updating the 1.x tests as well as doing shading language tests.

Some objections raised to what these tests cover - they concentrate too much on one specific area in which one particular ARB member is weak, and do not test rendering at all. Jon notes that the ARB approval process for new tests requires a supermajority vote, and we would review and modify the existing parser test suite on a detailed level before bringing it to a vote.

Jon will reconvene conformance WG and act as chair. First WG meeting in early-mid January. Announce mailing list on arb-members. Also punt this to arb-marketing to agree on what "conform" means for 2.x.

Superbuffers Status

Barthold brought slides summarizing WG activity.

Michael noted that there's a problem with sharing framebuffer objects, due to draw buffers now being part of the object state - if e.g. two contexts sharing the same object want to render to different color buffers. This is issue 56 in the spec. After lengthy discussion, there was insufficient interest to reopen this decision.

Michael also noted a problem with the stencil mask - since the size of the stencil buffer can change now, should the mask actually be clamped to the buffer size at the time it's specified? General agreement that this is a bug in the SI and the correct behavior is to clamp on use, not specification. The spec is a little weak in this area.

Will alter spec to specify that reference value is only clamped at point of use, and query. Default value of stencil writemask will be all-1 bits up to sizeof(GLuint). We need to review language resulting from this decision before signing off on it.

Pixel Buffer Object Status

WG has gone through several more revisions addressing minor issues.

Dale notes pbo spec is potentially useful for video capture, but need to define meanings of various usage modes (e.g. STREAM_DRAW) relative to video data. There are also some terminology questions regarding references to "external data sources". NVIDIA has an implementation of the EXT version already.

Kent and Jeremy are concerned about ability to define data in the correct format for its use pattern, e.g. as textures. There are also concerns about using this as a "poor man's render-to-vertex-array" since there's a copy required.

Held a formal VOTE to approve ARB_pixel_buffer_object spec: 4 YES (3Dlabs, IBM, NVIDIA, SGI) / 3 ABSTAIN (Apple, Dell, Sun) / 2 NO (ATI, Intel). 4/6 of nonabstaining votes is exactly a supermajority, so vote PASSES. Spec will be posted to the registry shortly.

GLX Working Group Status

WG has resolved ARB_draw_buffers, ARB_occlusion_query, and ARB_vertex_program / NV_vertex_program interactions. Remaining issues are protocol for shading language functions, and details of vertex buffer objects. Jon will assign new GLX opcodes for Ian out of the registry.

Problem with VBO protocol in the past was that the clientside GLX library converted them to immediate mode commands. We can't do this when the data exists on the server side, however. Problems: array enables are not transferred to the server, because they've been considered client state only. DrawArrays protocol doesn't encompass e.g. multitexture, and probably doesn't encode enough information about enabled arrays. Also need support for the several additional array drawing commands that have been added to GL.

General Working Group Review

Briefly reviewed status of other working groups to see which still needed to continue:

Texture Deletion / Shared Object Semantics

Jeremy has been thinking on this (Barthold put up backing slides (PPT) during the discussion). Do we want to (a) put in the spec or (b) at least agree within the group regarding:

The SI categorizes names that are used, unused, and marked for deletion, respectively.

The same question arises WRT other shared resources and their names, such as VBOs, FBOs and attachments, etc.

Jeremy will propose spec language for a "multicontext behavior" appendix. We can at least specify state change behavior per the first point, and that name deletion behavior is currently undefined. May be able to pick one of A/B options to specify. Pat also wants to address how glPushAttrib / glPopAttrib work in multicontext situations.

Plan to review this language, and possibly select A/B on the January teleconference.

Miscellaneous Spec Issues

Kent brought up that VBO spec has a "How is unaligned data handled?" issue. Current resolution is that all client restrictions must be met, and in addition, all offsets must be integer multiples of the size of the underlying data type.

How does this work when e.g. using interleaved arrays, where you might have a stride of 6 but a data size of 4? Spec does not define behavior in this case, however. Mark suggests that the spec anticipated hardware that would silently ignore invalid combinations. Should we require generating an error in this case? This is a lot of work. No conclusion today.

Next Meeting

ATI will host in March in Orlando, FL. Jeff Weyman will provide more detailed information soon.

Volunteers are needed to host meetings in June 2005 and beyond. Please email or phone Jon if you may be willing to host.

Thanks to Apple for hosting this meeting!