1 #include "pipe/p_state.h"
2 #include "pipe/p_defines.h"
3 #include "pipe/p_util.h"
5 #include "nv50_context.h"
6 #include "nv50_state.h"
9 nv50_blend_state_create(struct pipe_context
*pipe
,
10 const struct pipe_blend_state
*cso
)
16 nv50_blend_state_bind(struct pipe_context
*pipe
, void *hwcso
)
21 nv50_blend_state_delete(struct pipe_context
*pipe
, void *hwcso
)
26 nv50_sampler_state_create(struct pipe_context
*pipe
,
27 const struct pipe_sampler_state
*cso
)
33 nv50_sampler_state_bind(struct pipe_context
*pipe
, unsigned unit
,
39 nv50_sampler_state_delete(struct pipe_context
*pipe
, void *hwcso
)
44 nv50_set_sampler_texture(struct pipe_context
*pipe
, unsigned unit
,
45 struct pipe_texture
*pt
)
50 nv50_rasterizer_state_create(struct pipe_context
*pipe
,
51 const struct pipe_rasterizer_state
*cso
)
57 nv50_rasterizer_state_bind(struct pipe_context
*pipe
, void *hwcso
)
62 nv50_rasterizer_state_delete(struct pipe_context
*pipe
, void *hwcso
)
67 nv50_depth_stencil_alpha_state_create(struct pipe_context
*pipe
,
68 const struct pipe_depth_stencil_alpha_state
*cso
)
74 nv50_depth_stencil_alpha_state_bind(struct pipe_context
*pipe
, void *hwcso
)
79 nv50_depth_stencil_alpha_state_delete(struct pipe_context
*pipe
, void *hwcso
)
84 nv50_vp_state_create(struct pipe_context
*pipe
,
85 const struct pipe_shader_state
*cso
)
91 nv50_vp_state_bind(struct pipe_context
*pipe
, void *hwcso
)
96 nv50_vp_state_delete(struct pipe_context
*pipe
, void *hwcso
)
101 nv50_fp_state_create(struct pipe_context
*pipe
,
102 const struct pipe_shader_state
*cso
)
108 nv50_fp_state_bind(struct pipe_context
*pipe
, void *hwcso
)
113 nv50_fp_state_delete(struct pipe_context
*pipe
, void *hwcso
)
118 nv50_set_blend_color(struct pipe_context
*pipe
,
119 const struct pipe_blend_color
*bcol
)
124 nv50_set_clip_state(struct pipe_context
*pipe
,
125 const struct pipe_clip_state
*clip
)
130 nv50_set_constant_buffer(struct pipe_context
*pipe
, uint shader
, uint index
,
131 const struct pipe_constant_buffer
*buf
)
136 nv50_set_framebuffer_state(struct pipe_context
*pipe
,
137 const struct pipe_framebuffer_state
*fb
)
142 nv50_set_polygon_stipple(struct pipe_context
*pipe
,
143 const struct pipe_poly_stipple
*stipple
)
148 nv50_set_scissor_state(struct pipe_context
*pipe
,
149 const struct pipe_scissor_state
*s
)
154 nv50_set_viewport_state(struct pipe_context
*pipe
,
155 const struct pipe_viewport_state
*vpt
)
160 nv50_set_vertex_buffer(struct pipe_context
*pipe
, unsigned index
,
161 const struct pipe_vertex_buffer
*vb
)
166 nv50_set_vertex_element(struct pipe_context
*pipe
, unsigned index
,
167 const struct pipe_vertex_element
*ve
)
172 nv50_init_state_functions(struct nv50_context
*nv50
)
174 nv50
->pipe
.create_blend_state
= nv50_blend_state_create
;
175 nv50
->pipe
.bind_blend_state
= nv50_blend_state_bind
;
176 nv50
->pipe
.delete_blend_state
= nv50_blend_state_delete
;
178 nv50
->pipe
.create_sampler_state
= nv50_sampler_state_create
;
179 nv50
->pipe
.bind_sampler_state
= nv50_sampler_state_bind
;
180 nv50
->pipe
.delete_sampler_state
= nv50_sampler_state_delete
;
181 nv50
->pipe
.set_sampler_texture
= nv50_set_sampler_texture
;
183 nv50
->pipe
.create_rasterizer_state
= nv50_rasterizer_state_create
;
184 nv50
->pipe
.bind_rasterizer_state
= nv50_rasterizer_state_bind
;
185 nv50
->pipe
.delete_rasterizer_state
= nv50_rasterizer_state_delete
;
187 nv50
->pipe
.create_depth_stencil_alpha_state
=
188 nv50_depth_stencil_alpha_state_create
;
189 nv50
->pipe
.bind_depth_stencil_alpha_state
=
190 nv50_depth_stencil_alpha_state_bind
;
191 nv50
->pipe
.delete_depth_stencil_alpha_state
=
192 nv50_depth_stencil_alpha_state_delete
;
194 nv50
->pipe
.create_vs_state
= nv50_vp_state_create
;
195 nv50
->pipe
.bind_vs_state
= nv50_vp_state_bind
;
196 nv50
->pipe
.delete_vs_state
= nv50_vp_state_delete
;
198 nv50
->pipe
.create_fs_state
= nv50_fp_state_create
;
199 nv50
->pipe
.bind_fs_state
= nv50_fp_state_bind
;
200 nv50
->pipe
.delete_fs_state
= nv50_fp_state_delete
;
202 nv50
->pipe
.set_blend_color
= nv50_set_blend_color
;
203 nv50
->pipe
.set_clip_state
= nv50_set_clip_state
;
204 nv50
->pipe
.set_constant_buffer
= nv50_set_constant_buffer
;
205 nv50
->pipe
.set_framebuffer_state
= nv50_set_framebuffer_state
;
206 nv50
->pipe
.set_polygon_stipple
= nv50_set_polygon_stipple
;
207 nv50
->pipe
.set_scissor_state
= nv50_set_scissor_state
;
208 nv50
->pipe
.set_viewport_state
= nv50_set_viewport_state
;
210 nv50
->pipe
.set_vertex_buffer
= nv50_set_vertex_buffer
;
211 nv50
->pipe
.set_vertex_element
= nv50_set_vertex_element
;