[ okay I lied, one more post ]

At 11:13 AM 9/17/99 -0400, you wrote:

>When the driver wants to modify a table entry in the dispatch it would
>do this for well know names:
>
>tib->dispatch.WellKnownName = myFunc;
>
>OR:
>
>tib->dispatch[WELL_KNOWN_NAME_INDEX] = myFunc;
>
>And for extensions:
>
>tib->dispatch[extFuncFoobarIndex] = myFunc;


You have now imposed a burden on Win32 drivers.  Either I would have to
convert the win32 driver as follows:

#ifdef LINUX
extFuncFoobarIndex = __glGetDispatchIndex("glFoobar");
#else
#define extFuncFoobarIndex  offsetof(FuncFoobarEXT, __GLdispatchTable)
#endif
tib->dispatch[extFuncFoobarIndex] = myFunc;

or

#ifdef LINUXtib->dispatch[extFuncFoobarIndex] = myFunc;
#else
tib->dispatch.FuncFoobarEXT = myFunc;
#endif


Neither seems very desirable to me.  I would like the interface to
modifying the dispatch table to remain consistent between core and EXT
functions, and I would also like not to be required to rewrite all dispatch
management within the driver.  Neither of these "worthy" goals are served
by your proposal.  :-(


Reply via email to