|
|
ARB Meeting Notes (DRAFT 2002/9/27)September 18-19, 2002Hosted by Dell in Austin, TX Meeting notes taken by Jon Leech, SGI |
| Alex Shows | Dell | alex_shows 'at' dell.com |
| Avinash Seetharamaiah (on telecon) | Intel | avinash.seetharamaiah 'at' intel.com |
| Ben Ashbaugh | Intel | ben.ashbaugh 'at' intel.com |
| Benj Lipchak (telecon) | ATI | blipchak 'at' ati.com |
| Bill Armstrong (on 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 | Apple | beretta 'at' apple.com |
| Brandon Fliflet | Intel | brandon.fliflet 'at' intel.com |
| Cass Everitt | NVIDIA | cass 'at' nvidia.com |
| Chris Brady | alt.software | cbrady 'at' altsoftware.com |
| Dale Kirkland | 3Dlabs | dale.kirkland 'at' 3dlabs.com |
| Dan Brokenshire | IBM | brokensh 'at' us.ibm.com |
| Dave Aronson | Microsoft | daronson 'at' microsoft.com |
| Dave Zenz | Dell | dave_zenz 'at' dell.com |
| Evan Hart | ATI | ehart 'at' ati.com |
| Graham Connor | Imagination Technology | graham.connor 'at' powervr.com |
| Ian Romanick | IBM | idr 'at' us.ibm.com |
| Jack Middleton | Sun | jack.middleton 'at' sun.com |
| Jeremy Sandmel | ATI | jsandmel 'at' ati.com |
| John Stauffer | Apple | stauffer 'at' apple.com |
| Jon Leech | SGI | ljp 'at' sgi.com |
| Jon Paul Schelter | Matrox | jschelte 'at' matrox.com |
| Kent Lin | Intel | kent.lin 'at' intel.com |
| Kurt Akeley | NVIDIA | kurt 'at' nvidia.com |
| Lee Gross | IBM | leegross 'at' us.ibm.com |
| Neil Trevett | 3Dlabs | neil.trevett 'at' 3dlabs.com |
| Nick Triantos | NVIDIA | nick 'at' nvidia.com |
| Pat Brown | NVIDIA | pbrown 'at' nvidia.com |
| Randi Rost | 3Dlabs | rost 'at' 3dlabs.com |
| Suzy Deffeyes | IBM | suzyq 'at' us.ibm.com |
| Victor Vedovato | ATI | victorv 'at' ati.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.
NVIDIA has offered to host the December meeting in Silicon Valley. Dates to be determined on the mailing list; December 3/4 or 10/11 are likely, 17/18 less so but still possible.
Some attendees had concerns resulting from last June's minutes and inaccuracy of the resulting press coverage. Reporters seemed to assume that miscellaneous individual comments in the minutes represented official corporate positions, which was often not the case. ARB attendees are concerned about this, since they are not legal or PR representatives of their companies.
Some people suggested that instead of releasing the raw minutes, we just summarize conclusions / action items. However, it's not clear who would do that additional work. For the time being, the minutes will be written with fewer direct attributions of statements to individuals/companies, and everyone is reminded to sanity check the minutes and provide corrections to the Secretary prior to their posting on opengl.org.
Dave Zenz reported lots of active participation, which is great. WG is still in the data-gathering phase, waiting on some feedback - closure on issues list is September 26th. Next step is agreement on prioritization of issues. Breakout session tomorrow will go over the issues list and make another pass at prioritization and identification of easily handled issues.
Bill Licea-Kane reported vigorous activity on the mailing list. Main accomplishments: accepted contributions with signed contributor agreements from 3Dlabs & NVIDIA, and decided to use glslang as the basis for the HLSL. Now merging issues from both glslang and Cg drafts into a single issues list. Working hard to conclude draft spec by end of CY 2002.
Pat Brown noted the purpose of continuing the group is to address advanced low-level programming, allowing capabilities such as looping and branching to the instruction set. Architectures are a little more divergent here, but there should be a new level of common denominator that can be reached. This group will pick up as the ARB_fragment_program group winds down.
Pat Brown said that NVIDIA had previously committed to developing 1.4 test proposals, and got proposed 1.3 tests from Brian Paul. There's now a set of tests to contribute as a starting point. We will now setup a conformance working group to review tests. NVIDIA also did general cleanup to eliminate compiler warnings. A brief description of the new tests:
We need a working group leader to follow up and finalize conformance tests. NVIDIA may be willing to do this if nobody else will.
Benj Lipchak has led the working group over the last few months, and summarized the end result being presented to the ARB. The extension is based on ARB_vertex_program (much of it word-for-word identical). The only meaningful deltas are:
Intel suggests moving depth invariance language earlier, since it affects mixing fragment programs with the fixed-function pipeline.
ATI has an implementation that's been tracking the ARB spec and is close. Pat summarized differences with NV_fragment_program. Benj kept the ARB spec very close, and the programming model is the same.
The spec separates out texture images and associated parameters as "texture units" from "texture coordinate state". This supports upcoming hardware which provides a different number of texcoords and texture units.
Added .rgba component selectors. Talked about adding similar selectors for texcoords, but eventually dropped that nomenclature.
Texture lookups specify both texture unit and texture target, so OpenGL 1D/2D/3D texture enables are irrelevant.
Left out multiple color outputs, aux buffers, etc. - possible in a future layered extension.
Texcoords now have same precision requirements as positions and normals (in section 2.1.1).
It's possible to look at the source of vertex programs and determine if it will run on the implementation; not so easy on fragment programs (see issue 21) due to native resource limits. Only way to really tell is load program and see if it exceeds native limits.
Added a precision hint late in the process - accomodates hardware like NVIDIA's, which supports multiple precisions.
Some hardware has fixed-function fog at the end, others do it programatically. Not subsuming fog into fragment programs means some vendors would have to add code at the end of all programs, and change code when fog parameters changed. Added options which allow using fixed-function fog (see issue 27). Some open discussion on this followed.
Added explicit sin/cos instructions with no limits on input range.
Bimal had some concerns about counting texture indirections vs. native resource consumption. Benj offered to add language giving examples of corner cases (e.g. moving 2nd-to-last paragraph of issue 24 to the native resource counting section), which works for Bimal.
Microsoft noted their previously mentioned IP claim. They were asked if they could be at all more specific as to what their claim was, and will follow up with their lawyers to determine this.
VOTE; 10 YES / 2 ABSTAIN / 0 NO / 1 NOT PRESENT (HP), PASSES. HP was not present, but their vote would not affect the outcome.
The final ARB_fragment_program extension spec will be posted to the registry shortly.
Two vertex array objects proposals were presented, a GL2 proposal (slides) from 3Dlabs and a classic EXT proposal from ATI/NVIDIA. ATI noted that the ATI_map_object_buffer extension spec, which came up in discussion, has only been distributed privately to a few ISVs so far.
GL2 objects would be defined in terms of client state and client machine units (also true of the ATI/NV proposal), which makes it hard to move VAOs onto the server. Principal design goal is accelerating rendering for direct rendering clients, not enabling more efficient indirect rendering. ATI/NV proposal is oriented towards more dynamic data, as well.
Dale asked if ATI/NV proposal could be split into staging buffer and VAO parts. Pat agreed they are different functionality. GL2 proposal supports indexing, unlike ATI/NV proposal - ATI and NV already have their own indexing extensions. Contemporary GPUs all support index arrays directly.
Dale noted a significant difference between the two proposals is using the GL2 object management framework vs. having more object-specific allocation calls. Of course legacy support will have to exist, but do we want to perpetuate it going forward? Kurt noted that application-provided handles are critical for display lists and helpful for scripting and other purposes, which colors his opinions. Considerable discussion followed; folks on the phone had trouble hearing and asked that the issues be circulated on the list.
Nick noted two issues: the general, sweeping idea of object management, and the specific issue of which VAO extension we should back, which is time-critical. We will setup a working group immediately to try to resolve the object management issue and still get better VAO management out in the very near future.
Randi then discussed the GL2_async_core extension (slides). This proposes a general, unified synchronization mechanism (analogous to the general, unified object management mechanism). General acceptance of the sync and fence concepts, but FlushStreamGL2 drew considerable concern about its exact meaning and testability. New vblank/swap interfaces resulted in some discussion to clarify just how they would behave.
Nick noted that NV_fence has been shipping since 2000, and thinks it may be possible to implement most of this proposal on top of NV_fence. He'd like to see this happen for compatibility with existing apps, as would John Stauffer. For the time being, we will discuss this on the main participants list.
Motivated by Dave's example in the bylaws WG, Jon will create an overall ARB issue tracking list for the participant website, to aid in tracking smaller issues that don't have their own working groups.
Along these lines, several GLX spec issues have been outstanding for some time. Jon will post GLX_ARB_render_texture extension proposal shortly, along with the final GLX 1.4 Specification and a draft of the GLX 1.4 protocol document.
Meeting in closed session, the permanent members renewed NVIDIA and Sun as Auxiliary members for another one-year term. No Auxiliary members were promoted to Permanent status at this time.
This ended the core meeting; the late afternoon and second day of our face-to-face time were used for breakout sessions of the Bylaws, GL2, and Vertex Array Object working groups. Notes on those meetings were taken by their respective working group leaders.
Thanks to Dell for hosting this meeting!