void draw_flush(struct draw_context *draw);
-void draw_set_viewport_state( struct draw_context *draw,
- const struct pipe_viewport_state *viewport );
+void draw_set_viewport_states( struct draw_context *draw,
+ unsigned start_slot,
+ unsigned num_viewports,
+ const struct pipe_viewport_state *viewports );
void draw_set_clip_state( struct draw_context *pipe,
const struct pipe_clip_state *clip );
void draw_enable_point_sprites(struct draw_context *draw, boolean enable);
-void draw_set_mrd(struct draw_context *draw, double mrd);
+void draw_set_zs_format(struct draw_context *draw, enum pipe_format format);
boolean
draw_install_aaline_stage(struct draw_context *draw, struct pipe_context *pipe);
struct tgsi_shader_info *
draw_get_shader_info(const struct draw_context *draw);
+void
+draw_prepare_shader_outputs(struct draw_context *draw);
+
int
draw_find_shader_output(const struct draw_context *draw,
uint semantic_name, uint semantic_index);
+boolean
+draw_will_inject_frontface(const struct draw_context *draw);
+
uint
draw_num_shader_outputs(const struct draw_context *draw);
+uint
+draw_total_vs_outputs(const struct draw_context *draw);
+
+uint
+draw_total_gs_outputs(const struct draw_context *draw);
void
draw_texture_sampler(struct draw_context *draw,
const struct pipe_vertex_element *elements);
void draw_set_indexes(struct draw_context *draw,
- const void *elements, unsigned elem_size);
+ const void *elements, unsigned elem_size,
+ unsigned available_space);
void draw_set_mapped_vertex_buffer(struct draw_context *draw,
- unsigned attr, const void *buffer);
+ unsigned attr, const void *buffer,
+ size_t size);
void
draw_set_mapped_constant_buffer(struct draw_context *draw,
void draw_vbo(struct draw_context *draw,
const struct pipe_draw_info *info);
-void draw_arrays(struct draw_context *draw, unsigned prim,
- unsigned start, unsigned count);
-
-void
-draw_arrays_instanced(struct draw_context *draw,
- unsigned mode,
- unsigned start,
- unsigned count,
- unsigned startInstance,
- unsigned instanceCount);
-
/*******************************************************************************
* Driver backend interface
void draw_set_driver_clipping( struct draw_context *draw,
boolean bypass_clip_xy,
boolean bypass_clip_z,
- boolean guard_band_xy);
+ boolean guard_band_xy,
+ boolean bypass_clip_points);
void draw_set_force_passthrough( struct draw_context *draw,
boolean enable );