Merge branch 'mesa_7_6_branch'
[mesa.git] / src / gallium / state_trackers / xorg / xorg_exa_tgsi.h
1 #ifndef XORG_EXA_TGSI_H
2 #define XORG_EXA_TGSI_H
3
4 #include "xorg_exa.h"
5
6 enum xorg_vs_traits {
7 VS_COMPOSITE = 1 << 0,
8 VS_MASK = 1 << 1,
9 VS_SOLID_FILL = 1 << 2,
10 VS_LINGRAD_FILL = 1 << 3,
11 VS_RADGRAD_FILL = 1 << 4,
12 VS_FILL = (VS_SOLID_FILL |
13 VS_LINGRAD_FILL |
14 VS_RADGRAD_FILL)
15 /*VS_TRANSFORM = 1 << 5*/
16 };
17
18 enum xorg_fs_traits {
19 FS_COMPOSITE = 1 << 0,
20 FS_MASK = 1 << 1,
21 FS_SOLID_FILL = 1 << 2,
22 FS_LINGRAD_FILL = 1 << 3,
23 FS_RADGRAD_FILL = 1 << 4,
24 FS_FILL = (FS_SOLID_FILL |
25 FS_LINGRAD_FILL |
26 FS_RADGRAD_FILL)
27 };
28
29 struct xorg_shader {
30 void *fs;
31 void *vs;
32 };
33
34 struct xorg_shaders;
35
36 struct xorg_shaders *xorg_shaders_create(struct exa_context *exa);
37 void xorg_shaders_destroy(struct xorg_shaders *shaders);
38
39 struct xorg_shader xorg_shaders_get(struct xorg_shaders *shaders,
40 unsigned vs_traits,
41 unsigned fs_traits);
42
43 #endif