summaryrefslogtreecommitdiff
path: root/src/gallium/include/state_tracker/xlib_sw_winsys.h
blob: 13dc83771263bca846a53f00e4e99831aa6f1d5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef XLIB_SW_WINSYS_H
#define XLIB_SW_WINSYS_H

#include "state_tracker/sw_winsys.h"
#include <X11/Xlib.h>


struct pipe_screen;
struct pipe_surface;

/* This is what the xlib software winsys expects to find in the
 * "private" field of flush_frontbuffers().  Xlib-based state trackers
 * somehow need to know this.
 */
struct xlib_drawable {
   Visual *visual;
   int depth;
   Drawable drawable;
};

/* This is the interface required by the glx/xlib state tracker.  Why
 * is it being defined in this file?
 */
struct xm_driver {
   struct pipe_screen *(*create_pipe_screen)( Display *display );
};

/* This is the public interface to the ws/xlib module.  Why isn't it
 * being defined in that directory?
 */
struct sw_winsys *xlib_create_sw_winsys( Display *display );


#endif