ARB Meeting Notes
June 10-11, 2003
Hosted by Apple in Cupertino, CA
Meeting notes taken by Jon Leech, SGI
|Bill Armstrong (dialin)||E&S||armstron 'at' es.com|
|Graham Connor||Imagination Technology||graham.connor 'at' powervr.com|
|Alain Bouchard (telecon)||Matrox||abouchar 'at' matrox.com|
|Allen Akin||(Self)||akin 'at' pobox.com|
|Avinash Seetharamaiah (telecon)||Intel||avinash.seetharamaiah 'at' intel.com|
|Barthold Lichtenbelt (telecon)||3Dlabs||barthold 'at' 3dlabs.com|
|Bill Armstrong||E&S||armstron 'at' es.com|
|Bill Licea-Kane||ATI||bill 'at' ati.com|
|Bimal Poddar||Intel||bimal.poddar 'at' intel.com|
|Bob Carwell (telecon)||IBM||bcarwell 'at' us.ibm.com|
|Dale Kirkland||3Dlabs||dale.kirkland 'at' 3dlabs.com|
|Dave Zenz||Dell||dave_zenz 'at' dell.com|
|Doug Crisman (telecon)||SGI||crisman 'at' sgi.com|
|Geoff Stahl||Apple||gstahl 'at' apple.com|
|Helene Workman||Apple||plotka 'at' apple.com|
|Herb Kuta (telecon)||Quantum3D||kuta 'at' quantum3d.com|
|Howard Miller||Apple||hmiller 'at' apple.com|
|Jack Middleton||Sun||jack.middleton 'at' sun.com|
|Jeff Weyman||ATI||jweyman 'at' ati.com|
|Jeremy Sandmel||ATI||jsandmel 'at' ati.com|
|John Kessenich||3Dlabs||johnk 'at' 3dlabs.com|
|John Stauffer||Apple||stauffer 'at' apple.com|
|John Lapionpe (sp?) (telecon)||Matrox||??? 'at' matrox.com|
|Jon Leech||SGI||ljp 'at' sgi.com|
|Ken Dyke||Apple||kcd 'at' apple.com|
|Kent Lin||Intel||kent.lin 'at' intel.com|
|Kurt Akeley||NVIDIA||kurt 'at' nvidia.com|
|Lee Gross||IBM||leegross 'at' us.ibm.com|
|Matt Russo (telecon)||Matrox||matt.russo 'at' matrox.com|
|Neil Trevett||3Dlabs||neil.trevett 'at' 3dlabs.com|
|Nick Triantos||NVIDIA||nick 'at' nvidia.com|
|Paul Carmichael||NVIDIA||pcarmichael 'at' nvidia.com|
|Peter Graffagnino||Apple||pgraff 'at' apple.com|
|Ray Klassen (telecon)||Intel||raymond.b.klassen 'at' intel.com|
|Rob Mace||ATI||mace 'at' ati.com|
|Teri Morrison (telecon)||3Dlabs||teri.morrison 'at' 3dlabs.com|
People reading the OpenGL ARB minutes are cautioned that statements made by attendees do not represent official company positions unless explicitly identified as such.
Discussion and final feature set selection for the next revision.
ISVs are using this and seem happy with it. Only negative feedback was from someone using thousands of tiny VBOs and unhappy with performance implications on some platforms.
VOTE for inclusion in the core: 10 Yes / 0 Abstain / 0 No, PASSES unanimously.
Some objection to including this in the core, in part because requested precison of shadow maps may not be satisfied, making it hard for "equal" operations to succeed.
VOTE for inclusion in the core: 4 Yes / 4 Abstain / 2 No, PASSES by supermajority of non-abstainers.
We are considering the HLSL + 3 extensions as a package.
Discussion: participants already reviewed Working Group output and commented, WG responded. NVIDIA has a number of issues:
Similar to issues in the superbuffers WG. That spec allows control of clamping behavior at various points in the pipe, decoupling clamping from range of the destination buffer. Suggests removing clamping in programs and introducing a separate GL extension which only controls clamping behavior.
Will alter so compiling doesn't block and can query results later. Likewise will alter linking to block if necessary for previously compiler code.
Will alter the functions passing strings between server and client so they pass buffers of specified maximum size instead of strings.
This allows fast path implementations, but other implementations can still do error checking. First proposal is simply to require error checking; this could be relaxed later. Later, more complex proposal is to agree that per-primitive attributes are inherently inefficient (due to requiring Begin/End instead of vertex arrays), so it makes more sense to make vertex attributes fast path and make uniforms more in line with traditional GL error checking and type conversion behavior.
This should be eased by proposed changes in string handling.
Provisional straw poll: assuming we like the updated spec JohnK and Bill will come back with tomorrow, will we vote the HLSL+extensions in as ARB extensions?
VOTE for provisional approval as ARB extensions: 8 Yes / 1 Abstain / 1 No, PASSES by supermajority of non-abstainers.
Nick suggests folding both these and the HLSL extensions into a new "programmable shading" appendix to the core spec, but doesn't feel it's appropriate to place either group into the core.
VOTE for inclusion in the core: 1 Yes / 0 Abstain / 9 No, FAILS.
Need to decide how to handle this short of the core; possibilities include making them an optional feature set (like ARB_imaging), or Nick's proposal.
Spec wasn't updated to address clipping of point sprites. Nick would be OK with specifying ATI's desired behavior (sprite clipped with its provoking vertex). Several other minor open issues; assuming they are resolved, will people vote for this functionality in the core?
Straw Poll for inclusion in the core: 9 Yes / 1 Abstain / 0 No, PASSES by supermajority of non-abstainers.
Nick will form a small WG and try to come back with an updated spec tomorrow, or at worst within a week.
Updated extension spec proposal posted recently. Changes from NV spec this was based on: size of counter (24/32 bits); whether implementation counts pixels, or samples; asynchronous behavior (does not flush); sharing amongst contexts (not shared, like histograms).
Intel objects to including this in the core (their scene-based hardware won't support it).
VOTE for approval as an ARB extension: 9 Yes / 1 Abstain / 0 No, PASSES unanimously (excluding abstainers).
How to try and get this into the core? Seems too small to do as an optional subset. Called a straw poll contingent on someone coming up with a "caps-bit like" interface that would let Intel claim to support it. Rob then suggested that we could change the spec to allow supporting counters with zero bits and calling out in the spec that query functionality should not be used in this case. Under these conditions, the core vote is:
VOTE for inclusion in the core: 7 Yes / 1 Abstain / 2 No, PASSES by supermajority of non-abstainers. The ARB extension will be likewise modified.
Rob Mace reviewed the version 0.22 spec and he and Kurt discussed some remaining issues - see Rob's notes for details.
Meeting in closed session, the permanent members renewed Matrox and Apple as Auxiliary members for another one-year term. No Auxiliary members were promoted to Permanent status at this time.
Jeremy Sandmel reviewed their specs, including not just texture rectangle, but "non power-of-2" 1, 2, and 3D textures including mipmaps and cubemaps.
VOTE to approve ARB_texture_non_power_of_two: 11 Yes / 0 Abstain / 0 No, PASSES unanimously.
VOTE to approve ARB_texture_non_power_of_two_2D: 2 Yes / 6 Abstain / 3 No, FAILS. ATI and Intel will continue discussions on making this into an EXT extension.
VOTE to promote EXT_texture_rectangle to ARB: 4 Yes / 1 Abstain / 6 No, FAILS.
Neil Trevett (Khronos secretary) and David Blythe (OpenGL spec editor) reviewed status of the OpenGL ES spec. They are near completion and expect approval by SIGGRAPH. Khronos requested the ARB approve additions to the core OpenGL namespace to support Khronos, adding a GLfixed type to represent fixed-point integers and using the x 'x' type designator for variants of existing core GL calls taking GLfixed parameters.
VOTE to approve Khronos use of specified core namespace additions: 11 Yes / 0 Abstain / 0 No, PASSES unanimously.
Updates to NV_point_sprite: Mark has made changes per yesterday's discussion. Will email out and call email vote ASAP.
Updates to ARB_occlusion_query: Nick updated spec per yesterday's discussion and emailed it out. Will further update lack-of-meaning of results when there are zero bits of occlusion counter.
Updates to HLSL extensions: JohnK and Bill updated per yesterday's discussion and circulated printouts.
Decision on core/extension status of the OpenGL Shading Language:
VOTE for approval of the OpenGL Shading Language and extensions as ARB extensions: 8 Yes / 2 Abstain / 1 No, PASSES by supermajority of non-abstainers.
VOTE for immediate promotion of the OpenGL Shading Language and extensions to the core: 6 Yes / 1 Abstain / 4 No.
The result was a simple majority of non-abstaining YES votes, but not a supermajority. Interpretation of this vote required some care since final spec approval requires a supermajority vote, while consideration of features for the final spec requires only a simple majority. Because the NO votes were strongly held, we expect that trying to approval a core revision including the shading language would carry extremely high risk of failing to approve the spec. We will therefore not include the shading language into the core at this time, but instead drive a new core version as soon as there's more experience with the extensions, perhaps as soon as this fall.
As previously agreed in the marketing working group, we will call the new core revision OpenGL 1.5, reserving OpenGL 2.0 for a future core revision including the shading language.
Dave Zenz and the WG members worked through some of the remaining open issue list - see Dave's notes for details.
Rob Mace noted that effects of changes to shared objects are usually poorly defined. GLX spec talks about explicitly undefined behavior WRT shared textures, but that's not very satisfactory. Extensions have similarly been punting on this issue. This came up during Rob's work in the superbuffers WG, but is more general.
If we create a WG addressing this, we may want to define a window system-independent definition of sharing behavior, rather than write it into the AGL / GLX / (nonexistent WGL) specs. Will call for a WG leader on the participants' list, since Rob is overburdened already.
Examples are much more useful if they don't remove the 'gl' affix in source code (unlike the convention for spec language). We should just leave them in. Kurt volunteered to update the extension-writing template.
We agreed to fold both the low-level and HLSL extensions into the extensions appendix of the OpenGL 1.5 spec.
Some discussion about versioning - does the shading language have an extension string? Not today; it's implicit in the presence of the HLSL extensions. In the future, if we revise the language, we'll add a new extension defining some enum. We agreed to define an extension name string which would indicate the presence of version 1.00 of the OpenGL Shading Language. Tentatively this will be "GL_ARB_shading_language_100".
Dell will host the September 9-10 ARB meeting in Austion; further details TBD.
Sun will host the December 9-10 ARB meeting in Silicon Valley.
Thanks to Apple for hosting this meeting!