Merge branch '7.8'
[mesa.git] / src / gallium / include / state_tracker / graw.h
1 #ifndef GALLIUM_RAW_H
2 #define GALLIUM_RAW_H
3
4 /* This is an API for exercising gallium functionality in a
5 * platform-neutral fashion. Whatever platform integration is
6 * necessary to implement this interface is orchestrated by the
7 * individual target building this entity.
8 *
9 * For instance, the graw-xlib target includes code to implent these
10 * interfaces on top of the X window system.
11 *
12 * Programs using this interface may additionally benefit from some of
13 * the utilities currently in the libgallium.a library, especially
14 * those for parsing text representations of TGSI shaders.
15 */
16
17 #include "pipe/p_format.h"
18
19 struct pipe_screen;
20
21 struct pipe_screen *graw_init( void );
22
23 /* Returns a handle to be used with flush_frontbuffer()/present().
24 *
25 * Query format support with screen::is_format_supported and usage
26 * XXX.
27 */
28 void *graw_create_window( int x,
29 int y,
30 unsigned width,
31 unsigned height,
32 enum pipe_format format );
33
34 void graw_destroy_window( void *handle );
35
36 #endif