diff options
author | Kristian Høgsberg <krh@redhat.com> | 2008-02-28 10:32:28 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@redhat.com> | 2008-02-29 15:05:39 -0500 |
commit | 6cb3f5c4d8618a14bb7ad1d9df10ed7e648a7b2b (patch) | |
tree | b4fa3dcaf590e54c455aeaa8c68d2dc7897b234d /src/mesa/drivers/dri/nouveau/nouveau_screen.c | |
parent | 16242a8007f41ab63f9a28bb9a750857c8cdb8af (diff) | |
download | external_mesa3d-6cb3f5c4d8618a14bb7ad1d9df10ed7e648a7b2b.zip external_mesa3d-6cb3f5c4d8618a14bb7ad1d9df10ed7e648a7b2b.tar.gz external_mesa3d-6cb3f5c4d8618a14bb7ad1d9df10ed7e648a7b2b.tar.bz2 |
Use __DRIextension mechanism providing loader functionality to the driver.
Instead of passing in a fixed struct, the loader now passes in a list
of __DRIextension structs, to advertise the functionality it can provide
to the driver. Each extension is individually versioned and can be
extended or phased out as the interface develops.
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nouveau_screen.c')
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_screen.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c b/src/mesa/drivers/dri/nouveau/nouveau_screen.c index f6274ac..9fe8e86 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c @@ -214,8 +214,9 @@ static const struct __DriverAPIRec nouveauAPI = { static __GLcontextModes * -nouveauFillInModes( unsigned pixel_bits, unsigned depth_bits, - unsigned stencil_bits, GLboolean have_back_buffer ) +nouveauFillInModes( __DRIscreenPRiv *psp, + unsigned pixel_bits, unsigned depth_bits, + unsigned stencil_bits, GLboolean have_back_buffer ) { __GLcontextModes * modes; __GLcontextModes * m; @@ -248,8 +249,8 @@ nouveauFillInModes( unsigned pixel_bits, unsigned depth_bits, num_modes = ((pixel_bits==16) ? 1 : 2) * depth_buffer_factor * back_buffer_factor * 4; - modes = (*dri_interface->createContextModes)(num_modes, - sizeof(__GLcontextModes)); + modes = (*psp->contextModes->createContextModes)(num_modes, + sizeof(__GLcontextModes)); m = modes; for (i=((pixel_bits==16)?0:1);i<((pixel_bits==16)?1:3);i++) { @@ -342,7 +343,8 @@ __GLcontextModes *__driDriverInitScreen(__DRIscreenPrivate *psp) if (!nouveauInitDriver(psp)) return NULL; - return nouveauFillInModes(dri_priv->bpp, + return nouveauFillInModes(psp, + dri_priv->bpp, (dri_priv->bpp == 16) ? 16 : 24, (dri_priv->bpp == 16) ? 0 : 8, 1); |