summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/cell/ppu/cell_state.h
blob: 3a71ba14fa8f30265d6132db3a77558e1598cdcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115


#ifndef CELL_STATE_H
#define CELL_STATE_H


#define CELL_NEW_VIEWPORT      0x1
#define CELL_NEW_RASTERIZER    0x2
#define CELL_NEW_FS            0x4
#define CELL_NEW_BLEND         0x8
#define CELL_NEW_CLIP          0x10
#define CELL_NEW_SCISSOR       0x20
#define CELL_NEW_STIPPLE       0x40
#define CELL_NEW_FRAMEBUFFER   0x80
#define CELL_NEW_ALPHA_TEST    0x100
#define CELL_NEW_DEPTH_STENCIL 0x200
#define CELL_NEW_SAMPLER       0x400
#define CELL_NEW_TEXTURE       0x800
#define CELL_NEW_VERTEX        0x1000
#define CELL_NEW_VS            0x2000
#define CELL_NEW_CONSTANTS     0x4000
#define CELL_NEW_VERTEX_INFO   0x8000



extern void
cell_set_framebuffer_state( struct pipe_context *,
                            const struct pipe_framebuffer_state * );



extern void *
cell_create_blend_state(struct pipe_context *, const struct pipe_blend_state *);
extern void cell_bind_blend_state(struct pipe_context *, void *);
extern void cell_delete_blend_state(struct pipe_context *, void *);

extern void cell_set_blend_color( struct pipe_context *pipe,
                                  const struct pipe_blend_color *blend_color );


void *
cell_create_sampler_state(struct pipe_context *,
                          const struct pipe_sampler_state *);

extern void
cell_bind_sampler_state(struct pipe_context *, unsigned, void *);

extern void
cell_delete_sampler_state(struct pipe_context *, void *);


extern void *
cell_create_depth_stencil_alpha_state(struct pipe_context *,
                                const struct pipe_depth_stencil_alpha_state *);

extern void
cell_bind_depth_stencil_alpha_state(struct pipe_context *, void *);

extern void
cell_delete_depth_stencil_alpha_state(struct pipe_context *, void *);


void *cell_create_fs_state(struct pipe_context *,
                               const struct pipe_shader_state *);
void cell_bind_fs_state(struct pipe_context *, void *);
void cell_delete_fs_state(struct pipe_context *, void *);
void *cell_create_vs_state(struct pipe_context *,
                               const struct pipe_shader_state *);
void cell_bind_vs_state(struct pipe_context *, void *);
void cell_delete_vs_state(struct pipe_context *, void *);


void *
cell_create_rasterizer_state(struct pipe_context *,
                             const struct pipe_rasterizer_state *);
void cell_bind_rasterizer_state(struct pipe_context *, void *);
void cell_delete_rasterizer_state(struct pipe_context *, void *);


void cell_set_clip_state( struct pipe_context *,
                          const struct pipe_clip_state * );

void cell_set_constant_buffer(struct pipe_context *pipe,
                              uint shader, uint index,
                              const struct pipe_constant_buffer *buf);

void cell_set_polygon_stipple( struct pipe_context *,
                               const struct pipe_poly_stipple * );

void
cell_set_sampler_texture(struct pipe_context *pipe,
                         unsigned sampler,
                         struct pipe_texture *texture);

void cell_set_scissor_state( struct pipe_context *,
                             const struct pipe_scissor_state * );

void cell_set_texture_state( struct pipe_context *,
                             unsigned unit, struct pipe_texture * );

void cell_set_vertex_element(struct pipe_context *,
                             unsigned index,
                             const struct pipe_vertex_element *);

void cell_set_vertex_buffer(struct pipe_context *,
                            unsigned index,
                            const struct pipe_vertex_buffer *);

void cell_set_viewport_state( struct pipe_context *,
                              const struct pipe_viewport_state * );


void cell_update_derived( struct cell_context *softpipe );

#endif