11675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell#ifndef XLIB_SW_WINSYS_H
21675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell#define XLIB_SW_WINSYS_H
31675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell
41675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell#include "state_tracker/sw_winsys.h"
51675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell#include <X11/Xlib.h>
61675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell
799f11d0e18e1ff5a433c84d52ffc13b9684c2650Keith Whitwell
899f11d0e18e1ff5a433c84d52ffc13b9684c2650Keith Whitwellstruct pipe_screen;
94c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheideggerstruct pipe_resource;
101675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell
111675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell/* This is what the xlib software winsys expects to find in the
12d0aea650320fec0b8e01110eeee22b1f3700d587Keith Whitwell * "private" field of flush_frontbuffers().
13d0aea650320fec0b8e01110eeee22b1f3700d587Keith Whitwell *
14d0aea650320fec0b8e01110eeee22b1f3700d587Keith Whitwell * Xlib-based state trackers somehow need to know this.
151675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell */
161675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwellstruct xlib_drawable {
171675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell   Visual *visual;
181675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell   int depth;
191675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell   Drawable drawable;
201675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell};
211675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell
2299f11d0e18e1ff5a433c84d52ffc13b9684c2650Keith Whitwell
233c57c01a44c294e69d902207b2ec94d28a397a51Keith Whitwell/* This is the public interface to the ws/xlib module.  Why isn't it
243c57c01a44c294e69d902207b2ec94d28a397a51Keith Whitwell * being defined in that directory?
2599f11d0e18e1ff5a433c84d52ffc13b9684c2650Keith Whitwell */
263c57c01a44c294e69d902207b2ec94d28a397a51Keith Whitwellstruct sw_winsys *xlib_create_sw_winsys( Display *display );
273c57c01a44c294e69d902207b2ec94d28a397a51Keith Whitwell
281675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell
291675d05f911fbd569efb5248674aa71cb755c75bKeith Whitwell#endif
30