On Mon, May 08, 2000 at 10:31:46AM -0600, Brett Johnson wrote:
| [EMAIL PROTECTED] wrote:
| >
| > Reduce the problem to a two-way choice. Since Option B
| > subsumes Option A, we'll go with B vs. C.
|
| Jon's original "A" option:
|
| A) Do nothing (current oglbase proposal). glext.h must always be
| #included explicitly by the application.
|
| Allen, I don't believe that your new, revised description of "B"
| subsumes "A" at all. In fact, it directly contradicts the original
| "A" that we all voted for by explicitly #include'ing glext.h in one
| case, and making the behavior wishy-washy and undefined in the default
| case. ...
Hi, Brett.
People have very different understandings of what options B and C were
in the original vote. If you go back and check the archives for the
first and second week of April, you'll find that quite a bit of
discussion took place, even during the vote, but there was never a
resolution of the issues. This became even more apparent as Michael
and I talked to people offline during the past two weeks.
With regard to the wishy-washiness of all three options in
compatibility mode, unfortunately that's just the way things are in
the field, right now. I thought it important to make that perfectly
clear, so that people understand the problem we face. We need option
B or C to nail down new semantics precisely because option A and the
compatibility modes of B and C are so wishy-washy.
To put it another way: We're already in a situation where gl.h from
any given vendor is not likely to be compatible with gl.h from any
other vendor (with respect to extensions). Option A and the "upward
compatibility" modes of options B and C can do no better; they can
only offer compatibility between old and new versions of gl.h from the
same vendor. The "new semantics" modes of options B and C provide
cross-vendor compatibility for extensions, and that's why it's
essential to adopt one of those two (rather than option A).
| ... Therefore it's utterly improper
| to summarily reduce the vote to these two options.
It's a dirty thankless job, but someone's got to do it.
XFree86 4.0.1 will probably ship in about three weeks. If we
(oglbase-discuss) don't reach a consensus pretty soon, then people
providing gl.h for that release will have to choose a gl.h/glext.h
structure on their own. It would be nice to avoid that.
| ... However, it seems
| clear that, due to the existance of glXGetProcAddress, the OGLBASE
| compliant default should be to typedef the extension functions, but not
| prototype them (as in your new "C" option).
Yes, I think that's the right behavior. Some people understood that
to be part of the previous vote, and others didn't. So we're trying
to clarify it this time around.
Allen