Jon Leech wrote:
> 
> On Thu, Sep 09, 1999 at 01:59:49PM -0600, Thomas Roell wrote:
> >
> > >     Also note that the returned pointer is only valid when the current
> > > context is the same as the context to which the GL was connected when
> > > the pointer was obtained.
> >
> > What is the rationale for this constraint ?
> >
> > Would this imply what for every context that is created a seperate
> > pointer had to be queried ?
> 
>     Mostly the rationale is support for heterogeneous multihead.
> Extensions not in libGL will give back function pointers into the client
> driver. It's unlikely that an implementation of an extension in one
> card's driver would work for a different card. If there's an easy way
> for the app to determine that two contexts both referred to the same
> head, we could relax the constraint to that extent.

I would propose that the driver function pointer not be directly handed
back to the application.  The libGL dispatcher which implements
GetProcAddress could hand back either a pointer to a dynamic dispatch
table entry (i.e. the application would dereference the pointer before
calling the function), or a pointer to an assembly stub that jumps to the
correct code depending on the current context.  I'll admit that neither
of these options seems very elegant, but I really dislike the idea of
making the returned function pointer context-specific.  I'll do a little
more homework, and come up with a better, more concrete proposal.  

Cheers!
begin:vcard 
n:Johnson;Brett
x-mozilla-html:FALSE
org:Hewlett-Packard;Worstation Systems Lab
adr:;;;;;;
version:2.1
email;internet:[EMAIL PROTECTED]
title:WSL Turtle Master
fn:Brett Johnson
end:vcard

Reply via email to