OpenGL

ARB Meeting Notes

June 8-9, 2004

Hosted by Intel in Sacramento, CA

Meeting notes taken by Jon Leech, SGI

Attendees

Alain Bouchard (telecon) Matrox abouchar 'at' matrox.com
Andrew Wiltzius HP andrew.wiltzius 'at' hp.com
Avinash Seetharamaiah Intel avinash.seetharamaiah 'at' intel.com
Barthold Lichtenbelt 3Dlabs barthold 'at' 3dlabs.com
Ben Ashbaugh Intel ben.ashbaugh 'at' intel.com
Bill Armstrong (telecon) E&S armstron 'at' es.com
Bill Licea-Kane ATI bill 'at' ati.com
Bimal Poddar Intel bimal.poddar 'at' intel.com
Bob Beretta (telecon) Apple beretta 'at' apple.com
Brandon Fliflet Intel brandon.fliflet 'at' intel.com
Dale Kirkland (telecon) 3Dlabs dale.kirkland 'at' 3dlabs.com
Dave Zenz Dell dave_zenz 'at' dell.com
Doug Crisman (telecon) SGI crisman 'at' sgi.com
Helene Workman (telecon) Apple plotka 'at' apple.com
Herb Kuta (telecon) Quantum3D kuta 'at' quantum3d.com
Ian Romanick (telecon) IBM idr 'at' us.ibm.com
Jack Middleton Sun jack.middleton 'at' sun.com
Jeff Juliano (telecon) NVIDIA jjuliano 'at' nvidia.com
Jeff Weyman ATI jweyman 'at' ati.com
Jeremy Sandmel ATI jsandmel 'at' ati.com
John Kessenich (telecon) 3Dlabs johnk 'at' 3dlabs.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
Marcia Coutemanche (telecon) IBM mcourtem 'at' us.ibm.com
Mark Kilgard (telecon) NVIDIA mjk 'at' nvidia.com
Mark Segal ATI segal 'at' ati.com
Michael Gold NVIDIA gold 'at' nvidia.com
Neil Trevett 3Dlabs neil.trevett 'at' 3dlabs.com
Rob Mace ATI mace 'at' ati.com
Teri Morrison (telecon) 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, June 8

Closing Ongoing Votes

Completed VOTE to approve ARB_depth_texture: 12 YES, PASSES unanimously (Apple, E&S, HP, and Matrox voted at the meeting; other votes were received by email prior to the meeting).

Completed VOTE to approve Shading Language Extension Updates: 10 YES (3Dlabs, ATI, Dell, IBM, Intel, SGI, Sun; by email, HP and E&S; by phone, John Stauffer) / 1 NO (NVIDIA) / 1 ABSTAIN (Matrox). PASSES (7 of 11 YES votes is greater than 50%, majority for approving extension specs).

OpenGL 2.0 Feature List

OpenGL Shading Language

Updates approved per vote above, so GLSL will go into 2.0 core.

Float Buffer Extensions

Discussion open on infinity/NaN representations. ATI asked to add some discussion allowing ignorning NaNs, infinities, and denorms (treating them as large, large, and 0). Dale doesn't think it matters; willing to put in ATI language.

Action: Dale will modify float specs accordingly.

Color clamp control extension is still, incomplete. 4 open issues.

Action: Need to engage with Pat, who is on vacation until next week. Dale will reconvene the working group.

SGI IP issue is worrisome to Bimal. Michael asked if this affected float texture formats as well as float buffers. Bimal suggests doing such potentially-encumbered functionality as EXT rather than ARB standards.

Discussion of how the new Bylaws/Patent Process might affect this (although it doesn't, since they're not in force yet). Would affect: timing (earlier), details of disclosure (more precise licensing terms), voting thresholds.

Dale only knows of one exception that would prevent people with a fixed-point pipeline from supporting these specs: float textures. If implementations were allowed to implement integer formats even when a float was requested, that could finesse the issue. Or this capability could be signaled at the visual/pixel format level. Some concern about approving watered-down extensions that don't actually give float textures when they're requested.

Straw poll: who would like to see the arb-float extensions voted on at a higher-than-normal threshold? ATI, Matrox, Dell, Sun, Intel.

Action: agreed to vote on float buffer extensions, as a package, at the normal (50%) threshold.

Pixel Buffer Objects

Draft EXT spec was posted in March to the ARB members, tweaked slightly and posted to the registry a few weeks ago. Intel wants more time to review before voting. Concern about whether glBitmap behavior is defined with a NULL pointer. Concern about performance implications of having pixel data in GPU memory when a non-accelerated pixel drawing path is selected. Limited straw poll support for promoting to the core (just Michael & Barthold).

Action: Intel will review the spec. We will reopen discussion via email once they're ready, but given limited support, this is unlikely to go into 2.0.

Point Sprites

Kent posted updates on 3/29 to control t-coordinate direction. Decided to make the state global instead of per-texture-coordinate. John Stauffer would prefer the latter, 8 others prefer global state. Straw poll: 10 in favor of promoting into the core with Kent's change, 0 opposed.

Action: promote into core spec with Kent's changes.

Separate Blend Equations

No issues; goes into core unchanged.

Non-power-of-two Textures

ARB extension is shipping on NV40 now. Discussion on a narrowed (2D only) version of this never happened. Lots of good usage cases for 1D, 2D, 3D targets. The question is whether we can actually support this on a broad range of systems.

VOTE to put texture_NPOT into the 2.0 core: 9 YES (Sun, 3Dlabs, HP, NVIDIA, SGI, Apple, Intel, IBM, Matrox) / 1 NO (ATI) / 2 ABSTAIN (E&S, Dell). PASSES.

Rectangle Textures

Intel is very opposed to this. The NPOT extension handles one aspect of this redundantly, and the indexed access mode could be handled as a separate extension.

VOTE to approve ARB_texture_rectangle as an extension: 8 YES (Dell, Sun, 3Dlabs, HP, NVIDIA, SGI, Apple, IBM) / 3 NO (Intel, ATI, Matrox) / 1 ABSTAIN (E&S). PASSES.

VOTE to promote ARB_texture_rectangle to the 2.0 core: 4 YES (Apple, Sun, NVIDIA, IBM), 7 NO (Dell, Intel, 3Dlabs, HP, Matrox, SGI, ATI), 1 ABSTAIN (E&S). FAILS

ARB_slice_accum / ARB_accum_composite

Bill circulated updated accum_composite proposal. Will discuss as a potential ARB extension tomorrow. Expect slice_accum to go into 2.0 as well, but will revisit in light of tomorrow's discussion.

Multiple Render Targets

New spec from ATI being circulated, to discuss tomorrow.

ARB_extension_query

Agreement that:

  1. This should be both a 2.0 feature and extension.
  2. This extension will appear in the GL_EXTENSIONS string.
  3. All future (defined after this extension) extensions should only appear in glQueryExtension, not in the GL_EXTENSIONS string.

Jon will add enumeration functionality tonight, discuss updated spec more tomorrow.

Two-sided Stencil

Still haven't resolved ATI vs NV/EXT specs. Bill asked why stencil state such as stencil mask should be two-sided, but not e.g. color/depth mask?

Considerable lack of clarity over which spec to proceed with. Michael is willing to wordsmith a merged document.

(recess to the Bylaws WG update, since it was scheduled at this time, and several people were dialing in specifically for that segment, then resumed)

Straw poll to select basis for the 2.0 two-sided stencil functionality. In favor of existing EXT: 3 (Intel, NVIDIA, IBM) In favor of merged ATI/EXT: HP, Apple, ATI, SGI, 3Dlabs, Matrox

Action: Michael will update the EXT spec and circulate for discussion.

"Default Object Model" discussion

Superbuffers group is discussing whether to use GL2-style handles, the old-style texture/dlist ID model, or something else? Is it more important to follow precedent or ease the path for future extensions? Deferred decision/policy setting to the ARB as a whole.

Possible menu of decisions:

Kurt's view: Bind should affect the operation of the pipe, not just "attach" objects. VBO is broken in this regard e.g. glBindBuffer.

Points in favor of IDs/uints/names:

Points in favor of handles:

Wednesday, June 9

OpenGL 2.0 Feature List (cont.)

Jon updated ARB_extension_query spec: still needs code sample to (a) use the extension to do queries, if it exists (b) use the old string method to do queries, if not. Hard to do with full generality because of difficulty of supporting multiple contexts transparently without lots of additional mechanism in the example.

Rob wants to proceed with a version which doesn't require putting new extensions strings only in the API query.

Resolved: will not approve or complete this extension. Continue to use the old mechanism.

Bill circulated new proposed accum_blend extension following on the proposed accum_composite. We will review and vote on this by teleconference.

Rob circulated updated ATI_draw_buffers defining GLSL interactions. Open issue: what to do with multiple render targets and multisample buffers? Proposed resolution is that additional color buffers must contain multisample data. Other possibilities are to not allow multiple output colors and multisampling to be combined by restricting MAX_DRAW_BUFFERS_ATI to 1, or to force the implementation down a single-sample path when multiple draw buffers are enabled.

Actions: resolve on telecon ASAP for inclusion in 2.0: float buffer, MRT/ATI_draw_buffers, ARB_accum_blend / ARB_accum_composite, two-sided stencil.

OpenGL Roadmap

Proposed roadmap presentation from Neil Trevett.

Superbuffers

Review of current WG status from Barthold - rescoped WG, opened discussion on EXT_render_target proposal developed outside the ARB. Ended up settling on notionally-named EXT_compromise_buffers proposal for the path forward, using direct handles. Working other spec issues. Timeline established for completion in December.

Lengthy object model discussion. Suggestion that glAttachObject may need a container, a contained object, and an attachment parameter, not just the first two. This would constitute an addition to the object model. Eventually constructed straw polls to try and settle this.

Straw poll: Should the ARB establish a default, preferred object and API naming model for future ARB and OpenGL core specifications? YES: 6 (HP, Sun, Apple, NVIDIA, SGI, IBM) / NO: 0 / ABSTAIN: 3 (ATI, Intel, 3Dlabs). This is a supermajority of non-abstaining voters, so we should do this.

Straw poll: Should the default object and API naming model be IDs (classic OpenGL) or handles (GLSL style)? IDs: 6 (Sun, Intel, Apple, NVIDIA, HP, IBM) / Handles: 2 (3Dlabs, ATI) / ABSTAIN: 1 (SGI). This is a supermajority of non-abstaining voters, so we should make IDs the default object model for new functionality.

Action: the ARB recommends that the default object model for all new OpenGL functionality should be IDs, following existing OpenGL practice.

Working Group Status / Other Updates

Need volunteers to host September and later meetings.

Marketing WG meeting is meeting next week to discuss SIGGRAPH plans.

Matrox membership status is lapsing - will ask them about renewal.

Shader metafile WG - Ken Severson is new NVIDIA OpenGL group manager Michael or Pat may lead this.

Marketing WG - ongoing.

General technical WG - needs active resources, not getting much done.

GLX protocol WG - some open action items. Ian will reopen WG discussion after this meeting.

Kent - review of VBO bindings issue. Going back to March 15 mail, language was suggested for two binding clarifications. Kent will integrate these into the VBO extension spec and circulate for formal ARB vote as an update.

Michael - NVIDIA wants to go with option (b) on the multisample/multiple draw buffer issue, after internal discussion.

Next Meeting Plans

To be determined, details will be sent out ASAP.

Thanks to Intel for hosting this meeting!