1 #ifndef _GGI_MESA_INT_H
2 #define _GGI_MESA_INT_H
4 #include <ggi/internal/internal.h>
8 extern ggi_extid _ggiMesaID
;
10 ggifunc_setmode GGIMesa_setmode
;
11 ggifunc_getapi GGIMesa_getapi
;
13 typedef struct ggi_mesa_ext
16 * How mesa extends this visual; i.e., size of the depth buffer etc.
18 * By default (upon attaching) this structure is initialized to what
19 * libggi is guaranteed to handle without any help: single buffered
20 * visual without any ancilary buffers.
22 struct ggi_mesa_visual mesa_visual
;
25 * Mesa framebuffer is a collection of all ancilary buffers required.
27 * This structure contains the ancilary buffers provided in in
28 * software. On each mode change it is loaded with the list of
29 * required buffers and the target is expected to clear the ones
30 * it can provide in hw. The remaining ones are then provided in sw.
33 GLframebuffer mesa_buffer
;
35 void (*update_state
)(ggi_mesa_context_t ctx
);
36 int (*setup_driver
)(ggi_mesa_context_t ctx
);
41 #define LIBGGI_MESAEXT(vis) ((ggi_mesa_ext_t *)LIBGGI_EXT(vis,_ggiMesaID))
42 #define GGIMESA_PRIV(vis) ((LIBGGI_MESAEXT(vis)->priv))
44 #endif /* _GGI_MISC_INT_H */