struct cso_context *cso_create_context(struct pipe_context *pipe,
unsigned u_vbuf_flags);
void cso_destroy_context( struct cso_context *cso );
+struct pipe_context *cso_get_pipe_context(struct cso_context *cso);
enum pipe_error cso_set_blend( struct cso_context *cso,
const struct pipe_rasterizer_state *rasterizer );
-enum pipe_error
+void
cso_set_samplers(struct cso_context *cso,
enum pipe_shader_type shader_stage,
unsigned count,
/* Alternate interface to support state trackers that like to modify
* samplers one at a time:
*/
-enum pipe_error
+void
cso_single_sampler(struct cso_context *cso, enum pipe_shader_type shader_stage,
unsigned idx, const struct pipe_sampler_state *states);
unsigned start_slot, unsigned count,
const struct pipe_vertex_buffer *buffers);
-/* One vertex buffer slot is provided with the save/restore functionality.
- * cso_context chooses the slot, it can be non-zero. */
-unsigned cso_get_aux_vertex_buffer_slot(struct cso_context *ctx);
-
-
void cso_set_stream_outputs(struct cso_context *ctx,
unsigned num_targets,
struct pipe_stream_output_target **targets,
enum pipe_shader_type shader_stage,
unsigned index,
struct pipe_resource *buffer);
+void cso_set_constant_user_buffer(struct cso_context *cso,
+ enum pipe_shader_type shader_stage,
+ unsigned index, void *ptr, unsigned size);
void cso_save_constant_buffer_slot0(struct cso_context *cso,
enum pipe_shader_type shader_stage);
void cso_restore_constant_buffer_slot0(struct cso_context *cso,
/* drawing */
-void
-cso_set_index_buffer(struct cso_context *cso,
- const struct pipe_index_buffer *ib);
-
void
cso_draw_vbo(struct cso_context *cso,
const struct pipe_draw_info *info);