projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
draw: check for an integer overflow when computing stride
[mesa.git]
/
src
/
gallium
/
auxiliary
/
draw
/
draw_pt.h
diff --git
a/src/gallium/auxiliary/draw/draw_pt.h
b/src/gallium/auxiliary/draw/draw_pt.h
index 5fbb424291572c2c522f95323e7984132c2851c5..29e5499f383eec0eeb1184c6efb759394b8b44ec 100644
(file)
--- 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 );
unsigned start,
unsigned count );
- void (*f
inish)( struct draw_pt_front_end *
);
+ void (*f
lush)( struct draw_pt_front_end *, unsigned flags
);
void (*destroy)( struct draw_pt_front_end * );
};
void (*destroy)( struct draw_pt_front_end * );
};
@@
-93,6
+93,13
@@
struct draw_pt_middle_end {
unsigned opt,
unsigned *max_vertices );
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,
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;
*/
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,
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 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,
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 bypass_viewport,
-
boolean opengl
,
+
boolean clip_halfz
,
boolean need_edgeflags );
struct pt_post_vs *draw_pt_post_vs_create( struct draw_context *draw );
boolean need_edgeflags );
struct pt_post_vs *draw_pt_post_vs_create( struct draw_context *draw );