From ffd561e4b5dcc0f13d30519f08af0f2b5aba1419 Mon Sep 17 00:00:00 2001 From: Jon Taylor Date: Sun, 11 Jun 2000 20:11:55 +0000 Subject: Lots of small updates to GGIMesa, tracking LibGGI internals changes --- src/mesa/drivers/ggi/default/genkgi_visual.c | 21 +++++++++++++++++---- src/mesa/drivers/ggi/default/linear.c | 20 +++++++++++++++++--- src/mesa/drivers/ggi/default/linear_15.c | 1 + src/mesa/drivers/ggi/default/linear_16.c | 1 + src/mesa/drivers/ggi/default/linear_24.c | 1 + src/mesa/drivers/ggi/default/linear_32.c | 1 + src/mesa/drivers/ggi/default/linear_8.c | 1 + src/mesa/drivers/ggi/default/stubs.c | 19 ++++++++++++++++--- src/mesa/drivers/ggi/display/fbdev_visual.c | 6 ++++-- src/mesa/drivers/ggi/ggimesa.c | 2 +- src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h | 2 ++ 11 files changed, 62 insertions(+), 13 deletions(-) diff --git a/src/mesa/drivers/ggi/default/genkgi_visual.c b/src/mesa/drivers/ggi/default/genkgi_visual.c index c30f15fdb0..17ef9679bb 100644 --- a/src/mesa/drivers/ggi/default/genkgi_visual.c +++ b/src/mesa/drivers/ggi/default/genkgi_visual.c @@ -1,4 +1,4 @@ -/* $Id: genkgi_visual.c,v 1.6 2000/01/07 08:34:44 jtaylor Exp $ +/* $Id: genkgi_visual.c,v 1.7 2000/06/11 20:11:55 jtaylor Exp $ ****************************************************************************** genkgi_visual.c: visual handling for the generic KGI helper @@ -106,7 +106,8 @@ static int changed(ggi_visual_t vis, int whatchanged) return 0; } -int GGIdlinit(ggi_visual *vis, const char *args, void *argptr) +static int GGIdlinit(ggi_visual *vis, struct ggi_dlhandle *dlh, + const char *args, void *argptr, uint32 *dlret) { struct genkgi_priv_mesa *priv; char libname[256], libargs[256]; @@ -166,12 +167,24 @@ int GGIdlinit(ggi_visual *vis, const char *args, void *argptr) #endif GGIMESADPRINT_CORE("display-fbdev-kgicon-mesa: GGIdlinit finished\n"); + *dlret = GGI_DL_OPDRAW; return 0; } -int GGIdlcleanup(ggi_visual *vis) +int MesaGGIdl_fbdev(int func, void **funcptr) { - return 0; + switch (func) { + case GGIFUNC_open: + *funcptr = GGIopen; + return 0; + case GGIFUNC_exit: + case GGIFUNC_close: + *funcptr = NULL; + return 0; + default: + *funcptr = NULL; + } + return GGI_ENOTFOUND; } #include diff --git a/src/mesa/drivers/ggi/default/linear.c b/src/mesa/drivers/ggi/default/linear.c index 6acdf4d801..e15a0db050 100644 --- a/src/mesa/drivers/ggi/default/linear.c +++ b/src/mesa/drivers/ggi/default/linear.c @@ -320,14 +320,28 @@ int GGIsetup_driver(GGIMesaContext ggictx,struct ggi_mesa_info *info) return 0; } -int GGIdlinit(ggi_visual_t vis,const char *version,void *argptr) +static int GGIopen(ggi_visual_t vis,struct ggi_dlhandle *dlh, + const char *args,void *argptr, uint32 *dlret) { LIBGGI_MESAEXT(vis)->setup_driver=GGIsetup_driver; + *dlret = GGI_DL_OPDRAW; return 0; } -int GGIdlcleanup(ggi_visual_t vis) +int DLOPENFUNC(int func, void **funcptr) { - return 0; + switch (func) { + case GGIFUNC_open: + *funcptr = GGIopen; + return 0; + case GGIFUNC_exit: + case GGIFUNC_close: + *funcptr = NULL; + return 0; + default: + *funcptr = NULL; + } + return GGI_ENOTFOUND; } + diff --git a/src/mesa/drivers/ggi/default/linear_15.c b/src/mesa/drivers/ggi/default/linear_15.c index 05879d10a9..ead7cc5847 100644 --- a/src/mesa/drivers/ggi/default/linear_15.c +++ b/src/mesa/drivers/ggi/default/linear_15.c @@ -30,6 +30,7 @@ #define FB_TYPE uint16 #define FB_BITS 15 +#define DLOPENFUNC MesaGGIdl_linear_15 #include "linear.c" diff --git a/src/mesa/drivers/ggi/default/linear_16.c b/src/mesa/drivers/ggi/default/linear_16.c index 221891bf20..6028699bbc 100644 --- a/src/mesa/drivers/ggi/default/linear_16.c +++ b/src/mesa/drivers/ggi/default/linear_16.c @@ -30,6 +30,7 @@ #define FB_TYPE uint16 #define FB_BITS 16 +#define DLOPENFUNC MesaGGIdl_linear_16 #include "linear.c" diff --git a/src/mesa/drivers/ggi/default/linear_24.c b/src/mesa/drivers/ggi/default/linear_24.c index 0d315321f0..7a2236f124 100644 --- a/src/mesa/drivers/ggi/default/linear_24.c +++ b/src/mesa/drivers/ggi/default/linear_24.c @@ -30,6 +30,7 @@ #define FB_TYPE uint32 #define FB_BITS 24 +#define DLOPENFUNC MesaGGIdl_linear_24 #include "linear.c" diff --git a/src/mesa/drivers/ggi/default/linear_32.c b/src/mesa/drivers/ggi/default/linear_32.c index d16a923b35..7cbf945f35 100644 --- a/src/mesa/drivers/ggi/default/linear_32.c +++ b/src/mesa/drivers/ggi/default/linear_32.c @@ -30,6 +30,7 @@ #define FB_TYPE uint32 #define FB_BITS 32 +#define DLOPENFUNC MesaGGIdl_linear_32 #include "linear.c" diff --git a/src/mesa/drivers/ggi/default/linear_8.c b/src/mesa/drivers/ggi/default/linear_8.c index 19a3ee27e4..9c7b5d712f 100644 --- a/src/mesa/drivers/ggi/default/linear_8.c +++ b/src/mesa/drivers/ggi/default/linear_8.c @@ -30,6 +30,7 @@ #define FB_TYPE uint8 #define FB_BITS 8 +#define DLOPENFUNC MesaGGIdl_linear_8 #include "linear.c" diff --git a/src/mesa/drivers/ggi/default/stubs.c b/src/mesa/drivers/ggi/default/stubs.c index df9efb5c40..f377532efd 100644 --- a/src/mesa/drivers/ggi/default/stubs.c +++ b/src/mesa/drivers/ggi/default/stubs.c @@ -399,15 +399,28 @@ triangle_func ggiGetTriangleFunc(GLcontext *ctx) return GGItriangle_flat; } -int GGIdlinit(ggi_visual_t vis, const char *version, void *argptr) +static int GGIopen(ggi_visual_t vis, struct ggi_dlhandle *dlh, + const char *args, void *argptr, uint32 *dlret) { LIBGGI_MESAEXT(vis)->update_state = GGIupdate_state; LIBGGI_MESAEXT(vis)->setup_driver = GGIsetup_driver; + *dlret = GGI_DL_OPDRAW; return 0; } -int GGIdlcleanup(ggi_visual_t vis) +int MesaGGIdl_stubs(int func, void **funcptr) { - return 0; + switch (func) { + case GGIFUNC_open: + *funcptr = GGIopen; + return 0; + case GGIFUNC_exit: + case GGIFUNC_close: + *funcptr = NULL; + return 0; + default: + *funcptr = NULL; + } + return GGI_ENOTFOUND; } diff --git a/src/mesa/drivers/ggi/display/fbdev_visual.c b/src/mesa/drivers/ggi/display/fbdev_visual.c index 8a375da66b..a861d815a6 100644 --- a/src/mesa/drivers/ggi/display/fbdev_visual.c +++ b/src/mesa/drivers/ggi/display/fbdev_visual.c @@ -1,4 +1,4 @@ -/* $Id: fbdev_visual.c,v 1.5 2000/01/07 08:34:44 jtaylor Exp $ +/* $Id: fbdev_visual.c,v 1.6 2000/06/11 20:11:55 jtaylor Exp $ ****************************************************************************** display-fbdev-mesa: visual handling @@ -39,6 +39,8 @@ #include #include +#define GGI_SYMNAME_PREFIX "MesaGGIdl_" + #ifdef HAVE_SYS_VT_H #include #else @@ -95,7 +97,7 @@ static int changed(ggi_visual_t vis, int whatchanged) continue; } - lib = ggiExtensionLoadDL(vis, fname, args, NULL); + lib = ggiExtensionLoadDL(vis, fname, args, NULL, GGI_SYMNAME_PREFIX); } } break; diff --git a/src/mesa/drivers/ggi/ggimesa.c b/src/mesa/drivers/ggi/ggimesa.c index ddd280931c..6e8dd47e74 100644 --- a/src/mesa/drivers/ggi/ggimesa.c +++ b/src/mesa/drivers/ggi/ggimesa.c @@ -552,7 +552,7 @@ static int changed(ggi_visual_t vis, int whatchanged) /* No special implementation for this sublib */ continue; } - lib = ggiExtensionLoadDL(vis, fname, args, NULL); + lib = ggiExtensionLoadDL(vis, fname, args, NULL, GGI_SYMNAME_PREFIX); } } break; diff --git a/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h index 0589991ce9..ae4a3c5825 100644 --- a/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h +++ b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h @@ -4,6 +4,8 @@ #include #include "ggimesa.h" +#define GGI_SYMNAME_PREFIX "MesaGGIdl_" + extern ggi_extid ggiMesaID; ggifunc_setmode GGIMesa_setmode; -- cgit v1.2.3