gallium: introduce target directory
[mesa.git] / src / gallium / include / state_tracker / xlib_sw_winsys.h
1 #ifndef XLIB_SW_WINSYS_H
2 #define XLIB_SW_WINSYS_H
3
4 #include "state_tracker/sw_winsys.h"
5 #include <X11/Xlib.h>
6
7
8 struct pipe_screen;
9 struct pipe_surface;
10
11 /* This is what the xlib software winsys expects to find in the
12 * "private" field of flush_frontbuffers(). Xlib-based state trackers
13 * somehow need to know this.
14 */
15 struct xlib_drawable {
16 Visual *visual;
17 int depth;
18 Drawable drawable;
19 GC gc; /* temporary? */
20 };
21
22
23 struct xm_driver {
24 struct pipe_screen *(*create_pipe_screen)( Display *display );
25
26 void (*display_surface)( struct xlib_drawable *,
27 struct pipe_surface * );
28 };
29
30 /* Called by the libgl-xlib target code to build the rendering stack.
31 */
32 struct xm_driver *xlib_sw_winsys_init( void );
33
34 #endif