proxy the glXGetFBConfigSGIX call

* hw/kdrive/ephyr/ephyrglxext.c:
	  (ephyrGLXGetFBConfigsSGIX): proxy the GLXGetFBConfigsSGIX call.
	  It is a vendor extension to get the visual configs as a list of
	  name/value pairs.
	  (ephyrHijackGLXExtension): hijack the VendorPriv_dispatch_info
	  dispatch table to register our implementation of GLXGetFBConfigsSGIX
	  (ephyrGLXGetFBConfigsSGIXReal): added this where the real
	   implementation of GLXGetFBConfigsSGIX is. It support bytes swapping.
	  (ephyrGLXGetFBConfigsSGIX,ephyrGLXGetFBConfigsSGIXSwap): these are
	  the dispatch entry points. They just call
	  ephyrGLXGetFBConfigsSGIXReal.
	* hw/kdrive/ephyr/ephyrhostglx.c,h: reorganize the proxies to get
	  visual params from the host so that they clearly support the different
	  methods of doing so.
This commit is contained in:
Dodji Seketeli 2007-08-28 15:55:05 +02:00 • committed by Dodji Seketeli
commit 26da625055
3 changed files with 174 additions and 48 deletions

View file

@ -37,9 +37,13 @@ Bool ephyrHostGLXGetVisualConfigs (int a_screen,
int32_t *a_num_props,
int32_t *a_props_buf_size,
int32_t **a_props_buf) ;
Bool
ephyrHostGLXVendorPrivGetFBConfigsSGIX (int a_screen,
int32_t *a_num_visuals,
int32_t *a_num_props,
int32_t *a_props_buf_size,
int32_t **a_props_buf);
Bool ephyrHostGLXGetMajorOpcode (int32_t *a_opcode) ;
Bool ephyrHostGLXSendClientInfo (int32_t a_major, int32_t a_minor,
const char* a_extension_list) ;