summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/ggi/default/genkgi_visual.c21
-rw-r--r--src/mesa/drivers/ggi/default/linear.c20
-rw-r--r--src/mesa/drivers/ggi/default/linear_15.c1
-rw-r--r--src/mesa/drivers/ggi/default/linear_16.c1
-rw-r--r--src/mesa/drivers/ggi/default/linear_24.c1
-rw-r--r--src/mesa/drivers/ggi/default/linear_32.c1
-rw-r--r--src/mesa/drivers/ggi/default/linear_8.c1
-rw-r--r--src/mesa/drivers/ggi/default/stubs.c19
-rw-r--r--src/mesa/drivers/ggi/display/fbdev_visual.c6
-rw-r--r--src/mesa/drivers/ggi/ggimesa.c2
-rw-r--r--src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h2
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 c30f15fdb09..17ef9679bb8 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 <ggi/internal/ggidlinit.h>
diff --git a/src/mesa/drivers/ggi/default/linear.c b/src/mesa/drivers/ggi/default/linear.c
index 6acdf4d8012..e15a0db0508 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 05879d10a98..ead7cc58475 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 221891bf20f..6028699bbc9 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 0d315321f02..7a2236f1241 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 d16a923b359..7cbf945f359 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 19a3ee27e46..9c7b5d712f0 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 df9efb5c40c..f377532efd7 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 8a375da66b9..a861d815a6d 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 <fcntl.h>
#include <sys/stat.h>
+#define GGI_SYMNAME_PREFIX "MesaGGIdl_"
+
#ifdef HAVE_SYS_VT_H
#include <sys/vt.h>
#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 ddd280931cc..6e8dd47e747 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 0589991ce9d..ae4a3c5825a 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 <ggi/internal/internal.h>
#include "ggimesa.h"
+#define GGI_SYMNAME_PREFIX "MesaGGIdl_"
+
extern ggi_extid ggiMesaID;
ggifunc_setmode GGIMesa_setmode;