summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/ggi
diff options
context:
space:
mode:
authorJon Taylor <taylorj@ggi-project.org>2000-06-11 20:11:55 +0000
committerJon Taylor <taylorj@ggi-project.org>2000-06-11 20:11:55 +0000
commitffd561e4b5dcc0f13d30519f08af0f2b5aba1419 (patch)
treed692d043e7d3702081eec3456b1040d1f26127ee /src/mesa/drivers/ggi
parent7b2c0f9148eb7eb30326173899ed366fcef8d437 (diff)
Lots of small updates to GGIMesa, tracking LibGGI internals changes
Diffstat (limited to 'src/mesa/drivers/ggi')
-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 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 <ggi/internal/ggidlinit.h>
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 <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 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 <ggi/internal/internal.h>
#include "ggimesa.h"
+#define GGI_SYMNAME_PREFIX "MesaGGIdl_"
+
extern ggi_extid ggiMesaID;
ggifunc_setmode GGIMesa_setmode;