summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h')
-rw-r--r--src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h44
1 files changed, 44 insertions, 0 deletions
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..faafc779e64
--- /dev/null
+++ b/src/mesa/drivers/ggi/include/ggi/mesa/ggimesa_int.h
@@ -0,0 +1,44 @@
+#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 ggi_mesa_ext
+{
+ /*
+ * How mesa extends this visual; i.e., size of the depth buffer etc.
+ *
+ * By default (upon attaching) this structure is initialized to what
+ * libggi is guaranteed to handle without any help: single buffered
+ * visual without any ancilary buffers.
+ */
+ struct ggi_mesa_visual mesa_visual;
+
+ /*
+ * Mesa framebuffer is a collection of all ancilary buffers required.
+ *
+ * This structure contains the ancilary buffers provided in in
+ * software. On each mode change it is loaded with the list of
+ * required buffers and the target is expected to clear the ones
+ * it can provide in hw. The remaining ones are then provided in sw.
+ *
+ */
+ GLframebuffer mesa_buffer;
+
+ void (*update_state)(ggi_mesa_context_t ctx);
+ int (*setup_driver)(ggi_mesa_context_t ctx);
+
+ void *private;
+} ggi_mesa_ext_t;
+
+#define LIBGGI_MESAEXT(vis) ((ggi_mesa_ext_t *)LIBGGI_EXT(vis,_ggiMesaID))
+#define GGIMESA_PRIV(vis) ((LIBGGI_MESAEXT(vis)->priv))
+
+#endif /* _GGI_MISC_INT_H */