From: Brian P. <br...@tu...> - 2003-05-28 18:15:09
|
Philip Brown wrote: > On Wed, May 28, 2003 at 07:47:45AM -0600, Brian Paul wrote: > >>Philip Brown wrote: >> >>>[...] >>>No I cant. I'm WRITING glXMakeCurrent :-) >> >>[...] >> >> >>>Not having a comprehensive knowlege of the entire Mesa source base, >>>I cannot answer the following important question myself very easily: >>>How feasible would it be to hack _glapi_set_context(),_glapi_get_context() >>>in such a way as to allow the above type of behaviour, from a >>>single-threaded, multi-headed Xserver using Mesa internally? >> >>What would you use as the "discriminator"? That is, what piece of state would >>you examine in order to determine which context to return from >>_glapi_get_context()? Today, the discriminator is the calling thread's ID. > > > well, how about having an optional, explicit discriminator? > _glapi_set_cardid(int), or _glapi_set_activecard(int), or somesuch ? > > The cheap, nasty, but fast way for mesa to handle it, would be to make > _glapi_Context be > > void *_glapi_Context[MAXCARDS]; > int _glapi_cur_card=0; > > instead of the current > > void *_glapi_Context; > > and have _glapi_get_current() return _glapi_Context[_glapi_cur_card]; If you are able to set _glapi_cur_card at the right time, you may as well call _mesa_make_current(). -Brian |