summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/ggi/include
diff options
context:
space:
mode:
authorJon Taylor <taylorj@ggi-project.org>1999-08-21 05:57:17 +0000
committerJon Taylor <taylorj@ggi-project.org>1999-08-21 05:57:17 +0000
commit95dcb43951b5d3c99514d1f2a50ea797217d328d (patch)
treefc9785a78f2febf89bbd867532da8606793cc344 /src/mesa/drivers/ggi/include
parent212ce73b08acf36354b61e03be311323c88063c4 (diff)
*** empty log message ***
Diffstat (limited to 'src/mesa/drivers/ggi/include')
-rw-r--r--src/mesa/drivers/ggi/include/ggi/mesa/debug.h1
-rw-r--r--src/mesa/drivers/ggi/include/ggi/mesa/display_fbdev.h20
-rw-r--r--src/mesa/drivers/ggi/include/ggi/mesa/ggimesa.h90
-rw-r--r--src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h22
4 files changed, 133 insertions, 0 deletions
diff --git a/src/mesa/drivers/ggi/include/ggi/mesa/debug.h b/src/mesa/drivers/ggi/include/ggi/mesa/debug.h
new file mode 100644
index 00000000000..d14c6e4a1d1
--- /dev/null
+++ b/src/mesa/drivers/ggi/include/ggi/mesa/debug.h
@@ -0,0 +1 @@
+/* Nothing here yet */
diff --git a/src/mesa/drivers/ggi/include/ggi/mesa/display_fbdev.h b/src/mesa/drivers/ggi/include/ggi/mesa/display_fbdev.h
new file mode 100644
index 00000000000..eee65339782
--- /dev/null
+++ b/src/mesa/drivers/ggi/include/ggi/mesa/display_fbdev.h
@@ -0,0 +1,20 @@
+#ifndef _GGIMESA_DISPLAY_FBDEV_H
+#define _GGIMESA_DISPLAY_FBDEV_H
+
+#include <ggi/internal/ggi-dl.h>
+#include <ggi/display/fbdev.h>
+
+ggifunc_setmode GGIMesa_fbdev_setmode;
+ggifunc_getapi GGIMesa_fbdev_getapi;
+
+#define FBDEV_PRIV_MESA(vis) ((fbdev_hook_mesa *)(FBDEV_PRIV(vis)->accelpriv))
+
+typedef struct fbdev_hook_mesa
+{
+ char *accel;
+ int have_accel;
+ void *accelpriv;
+ fbdev_hook *oldpriv; // Hooks back to the LibGGI fbdev target's private data
+} fbdev_hook_mesa;
+
+#endif /* _GGIMESA_DISPLAY_FBDEV_H */
diff --git a/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa.h b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa.h
new file mode 100644
index 00000000000..c4611fa01b5
--- /dev/null
+++ b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa.h
@@ -0,0 +1,90 @@
+/* GGI-Driver for MESA
+ *
+ * Copyright (C) 1997 Uwe Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * ---------------------------------------------------------------------
+ * This code was derived from the following source of information:
+ *
+ * svgamesa.c and ddsample.c by Brian Paul
+ *
+ */
+
+#ifndef _GGIMESA_H
+#define _GGIMESA_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include "config.h"
+#include "context.h"
+#include "matrix.h"
+#include "types.h"
+#include "vb.h"
+#include "macros.h"
+#include "depth.h"
+
+#undef ASSERT /* ASSERT is redefined */
+
+#include <ggi/internal/internal.h>
+#include <ggi/ggi_ext.h>
+#include <ggi/ggi.h>
+#include "GL/ggimesa.h"
+
+struct ggi_mesa_info;
+
+struct ggi_mesa_context
+{
+ GLcontext *gl_ctx;
+ GLvisual *gl_vis;
+ GLframebuffer *gl_buffer;
+
+ ggi_visual_t ggi_vis;
+ ggi_coord origin;
+ int flip_y;
+ int width, height, stride; /* Stride is in pixels */
+ ggi_pixel color; /* Current color or index*/
+ ggi_pixel clearcolor;
+ void *lfb; /* Linear frame buffer*/
+ int viewport_init;
+};
+
+struct ggi_mesa_info
+{
+ GLboolean rgb_flag;
+ GLboolean db_flag;
+ GLboolean alpha_flag;
+ GLint index_bits;
+ GLint red_bits, green_bits, blue_bits, alpha_bits;
+ GLint depth_bits, stencil_bits, accum_bits;
+};
+
+extern GGIMesaContext GGIMesa; /* The current context */
+
+#define SHIFT (GGI_COLOR_PRECISION - 8)
+
+#define GGICTX ((GGIMesaContext)ctx->DriverCtx)
+#define VIS (GGICTX->ggi_vis)
+#define FLIP(y) (GGICTX->flip_y-(y))
+
+#define LFB(type,x,y) ((type *)GGICTX->lfb + (x) + (y) * GGICTX->stride)
+
+#define CTX_OPMESA(ctx) \
+((struct mesa_ext *)LIBGGI_EXT(((GGIMesaContext)ctx->DriverCtx)->ggi_vis, \
+ ggiMesaID))
+
+
+#endif
+
diff --git a/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h
new file mode 100644
index 00000000000..0589991ce9d
--- /dev/null
+++ b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h
@@ -0,0 +1,22 @@
+#ifndef _GGI_MESA_INT_H
+#define _GGI_MESA_INT_H
+
+#include <ggi/internal/internal.h>
+#include "ggimesa.h"
+
+extern ggi_extid ggiMesaID;
+
+ggifunc_setmode GGIMesa_setmode;
+ggifunc_getapi GGIMesa_getapi;
+
+typedef struct mesa_ext
+{
+ void (*update_state)(GLcontext *ctx);
+ int (*setup_driver)(GGIMesaContext ctx, struct ggi_mesa_info *info);
+ void *private;
+} mesaext;
+
+#define LIBGGI_MESAEXT(vis) ((mesaext *)LIBGGI_EXT(vis,ggiMesaID))
+#define GGIMESA_PRIVATE(vis) ((LIBGGI_MESAEXT(vis)->private))
+
+#endif /* _GGI_MISC_INT_H */