X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fauxiliary%2Fdraw%2Fdraw_pt.h;h=29e5499f383eec0eeb1184c6efb759394b8b44ec;hb=2f13f28120fdfe2f5a64e87b4ec19db94bf63713;hp=5fbb424291572c2c522f95323e7984132c2851c5;hpb=695cc370a280a637f411f5ff3877b3fd1c05e424;p=mesa.git diff --git a/src/gallium/auxiliary/draw/draw_pt.h b/src/gallium/auxiliary/draw/draw_pt.h index 5fbb4242915..29e5499f383 100644 --- a/src/gallium/auxiliary/draw/draw_pt.h +++ b/src/gallium/auxiliary/draw/draw_pt.h @@ -73,7 +73,7 @@ struct draw_pt_front_end { unsigned start, unsigned count ); - void (*finish)( struct draw_pt_front_end * ); + void (*flush)( struct draw_pt_front_end *, unsigned flags ); void (*destroy)( struct draw_pt_front_end * ); }; @@ -93,6 +93,13 @@ struct draw_pt_middle_end { unsigned opt, unsigned *max_vertices ); + /** + * Bind/update parameter state such as constants, viewport dims + * and clip planes. Basically, stuff which isn't "baked" into the + * shader or pipeline state. + */ + void (*bind_parameters)(struct draw_pt_middle_end *); + void (*run)( struct draw_pt_middle_end *, const unsigned *fetch_elts, unsigned fetch_count, @@ -178,7 +185,7 @@ struct pt_emit *draw_pt_emit_create( struct draw_context *draw ); */ struct pt_so_emit; -void draw_pt_so_emit_prepare( struct pt_so_emit *emit ); +void draw_pt_so_emit_prepare(struct pt_so_emit *emit, boolean use_pre_clip_pos); void draw_pt_so_emit( struct pt_so_emit *emit, const struct draw_vertex_info *vert_info, @@ -218,14 +225,16 @@ struct pt_fetch *draw_pt_fetch_create( struct draw_context *draw ); struct pt_post_vs; boolean draw_pt_post_vs_run( struct pt_post_vs *pvs, - struct draw_vertex_info *info ); + struct draw_vertex_info *info, + const struct draw_prim_info *prim_info ); void draw_pt_post_vs_prepare( struct pt_post_vs *pvs, boolean clip_xy, boolean clip_z, boolean clip_user, + boolean guard_band, boolean bypass_viewport, - boolean opengl, + boolean clip_halfz, boolean need_edgeflags ); struct pt_post_vs *draw_pt_post_vs_create( struct draw_context *draw );