1625e024b186829f199458679921916971a5b00cbGeorge Sapountzis#ifndef _DRISW_API_H_
2625e024b186829f199458679921916971a5b00cbGeorge Sapountzis#define _DRISW_API_H_
3625e024b186829f199458679921916971a5b00cbGeorge Sapountzis
4625e024b186829f199458679921916971a5b00cbGeorge Sapountzis#include "pipe/p_compiler.h"
5625e024b186829f199458679921916971a5b00cbGeorge Sapountzis
6625e024b186829f199458679921916971a5b00cbGeorge Sapountzisstruct pipe_screen;
7625e024b186829f199458679921916971a5b00cbGeorge Sapountzisstruct dri_drawable;
8625e024b186829f199458679921916971a5b00cbGeorge Sapountzis
9625e024b186829f199458679921916971a5b00cbGeorge Sapountzis/**
10625e024b186829f199458679921916971a5b00cbGeorge Sapountzis * This callback struct is intended for the winsys to call the loader.
11625e024b186829f199458679921916971a5b00cbGeorge Sapountzis */
12625e024b186829f199458679921916971a5b00cbGeorge Sapountzisstruct drisw_loader_funcs
13625e024b186829f199458679921916971a5b00cbGeorge Sapountzis{
14625e024b186829f199458679921916971a5b00cbGeorge Sapountzis   void (*put_image) (struct dri_drawable *dri_drawable,
15625e024b186829f199458679921916971a5b00cbGeorge Sapountzis                      void *data, unsigned width, unsigned height);
16625e024b186829f199458679921916971a5b00cbGeorge Sapountzis};
17625e024b186829f199458679921916971a5b00cbGeorge Sapountzis
1853c57191c5f24d3620e2e4ce95dd12b5c6e9109bJakob Bornecrantz/**
1953c57191c5f24d3620e2e4ce95dd12b5c6e9109bJakob Bornecrantz * Implemented by the drisw target.
2053c57191c5f24d3620e2e4ce95dd12b5c6e9109bJakob Bornecrantz */
2153c57191c5f24d3620e2e4ce95dd12b5c6e9109bJakob Bornecrantzstruct pipe_screen * drisw_create_screen(struct drisw_loader_funcs *lf);
22625e024b186829f199458679921916971a5b00cbGeorge Sapountzis
23625e024b186829f199458679921916971a5b00cbGeorge Sapountzis#endif
24