Merge commit 'origin/gallium-0.1' into gallium-0.1
[mesa.git] / src / gallium / drivers / cell / ppu / cell_state.h
1
2
3 #ifndef CELL_STATE_H
4 #define CELL_STATE_H
5
6
7 #define CELL_NEW_VIEWPORT 0x1
8 #define CELL_NEW_RASTERIZER 0x2
9 #define CELL_NEW_FS 0x4
10 #define CELL_NEW_BLEND 0x8
11 #define CELL_NEW_CLIP 0x10
12 #define CELL_NEW_SCISSOR 0x20
13 #define CELL_NEW_STIPPLE 0x40
14 #define CELL_NEW_FRAMEBUFFER 0x80
15 #define CELL_NEW_ALPHA_TEST 0x100
16 #define CELL_NEW_DEPTH_STENCIL 0x200
17 #define CELL_NEW_SAMPLER 0x400
18 #define CELL_NEW_TEXTURE 0x800
19 #define CELL_NEW_VERTEX 0x1000
20 #define CELL_NEW_VS 0x2000
21 #define CELL_NEW_CONSTANTS 0x4000
22 #define CELL_NEW_VERTEX_INFO 0x8000
23
24
25
26 extern void
27 cell_set_framebuffer_state( struct pipe_context *,
28 const struct pipe_framebuffer_state * );
29
30
31
32 extern void *
33 cell_create_blend_state(struct pipe_context *, const struct pipe_blend_state *);
34 extern void cell_bind_blend_state(struct pipe_context *, void *);
35 extern void cell_delete_blend_state(struct pipe_context *, void *);
36
37 extern void cell_set_blend_color( struct pipe_context *pipe,
38 const struct pipe_blend_color *blend_color );
39
40
41 void *
42 cell_create_sampler_state(struct pipe_context *,
43 const struct pipe_sampler_state *);
44
45 extern void
46 cell_bind_sampler_state(struct pipe_context *, unsigned, void *);
47
48 extern void
49 cell_delete_sampler_state(struct pipe_context *, void *);
50
51
52 extern void *
53 cell_create_depth_stencil_alpha_state(struct pipe_context *,
54 const struct pipe_depth_stencil_alpha_state *);
55
56 extern void
57 cell_bind_depth_stencil_alpha_state(struct pipe_context *, void *);
58
59 extern void
60 cell_delete_depth_stencil_alpha_state(struct pipe_context *, void *);
61
62
63 void *cell_create_fs_state(struct pipe_context *,
64 const struct pipe_shader_state *);
65 void cell_bind_fs_state(struct pipe_context *, void *);
66 void cell_delete_fs_state(struct pipe_context *, void *);
67 void *cell_create_vs_state(struct pipe_context *,
68 const struct pipe_shader_state *);
69 void cell_bind_vs_state(struct pipe_context *, void *);
70 void cell_delete_vs_state(struct pipe_context *, void *);
71
72
73 void *
74 cell_create_rasterizer_state(struct pipe_context *,
75 const struct pipe_rasterizer_state *);
76 void cell_bind_rasterizer_state(struct pipe_context *, void *);
77 void cell_delete_rasterizer_state(struct pipe_context *, void *);
78
79
80 void cell_set_clip_state( struct pipe_context *,
81 const struct pipe_clip_state * );
82
83 void cell_set_constant_buffer(struct pipe_context *pipe,
84 uint shader, uint index,
85 const struct pipe_constant_buffer *buf);
86
87 void cell_set_polygon_stipple( struct pipe_context *,
88 const struct pipe_poly_stipple * );
89
90 void
91 cell_set_sampler_texture(struct pipe_context *pipe,
92 unsigned sampler,
93 struct pipe_texture *texture);
94
95 void cell_set_scissor_state( struct pipe_context *,
96 const struct pipe_scissor_state * );
97
98 void cell_set_texture_state( struct pipe_context *,
99 unsigned unit, struct pipe_texture * );
100
101 void cell_set_vertex_element(struct pipe_context *,
102 unsigned index,
103 const struct pipe_vertex_element *);
104
105 void cell_set_vertex_buffer(struct pipe_context *,
106 unsigned index,
107 const struct pipe_vertex_buffer *);
108
109 void cell_set_viewport_state( struct pipe_context *,
110 const struct pipe_viewport_state * );
111
112
113 void cell_update_derived( struct cell_context *softpipe );
114
115 #endif