From: Keith Whitwell Date: Tue, 5 Jan 2010 14:13:40 +0000 (+0000) Subject: Merge commit 'origin/gallium-draw-retval' X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c727fa6dbf5a9fca5fc94de06c309f54402449d1;p=mesa.git Merge commit 'origin/gallium-draw-retval' Conflicts: src/gallium/drivers/identity/id_context.c --- c727fa6dbf5a9fca5fc94de06c309f54402449d1 diff --cc src/gallium/drivers/identity/id_context.c index bdbaae59875,37f2700fa14..9f5b4e63236 --- a/src/gallium/drivers/identity/id_context.c +++ b/src/gallium/drivers/identity/id_context.c @@@ -45,7 -45,18 +45,7 @@@ identity_destroy(struct pipe_context *_ free(id_pipe); } - static boolean -static void -identity_set_edgeflags(struct pipe_context *_pipe, - const unsigned *bitfield) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->set_edgeflags(pipe, - bitfield); -} - + static void identity_draw_arrays(struct pipe_context *_pipe, unsigned prim, unsigned start, diff --cc src/gallium/drivers/llvmpipe/lp_draw_arrays.c index a96c2cad9dc,57ce5b17a23..c152b4413fc --- a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c +++ b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c @@@ -133,9 -125,16 +131,9 @@@ llvmpipe_draw_elements(struct pipe_cont unsigned indexSize, unsigned mode, unsigned start, unsigned count) { - return llvmpipe_draw_range_elements( pipe, indexBuffer, - indexSize, - 0, 0xffffffff, - mode, start, count ); + llvmpipe_draw_range_elements( pipe, indexBuffer, + indexSize, + 0, 0xffffffff, + mode, start, count ); } - -void -llvmpipe_set_edgeflags(struct pipe_context *pipe, const unsigned *edgeflags) -{ - struct llvmpipe_context *lp = llvmpipe_context(pipe); - draw_set_edgeflags(lp->draw, edgeflags); -} diff --cc src/gallium/drivers/r300/r300_render.c index a89cb633e02,87ad30ac30b..a4ac9ad9a7b --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@@ -362,10 -361,9 +362,10 @@@ void r300_swtcl_draw_range_elements(str { struct r300_context* r300 = r300_context(pipe); int i; + void* indices; if (!u_trim_pipe_prim(mode, &count)) { - return FALSE; + return; } if (r300_nothing_to_draw(r300)) { diff --cc src/gallium/drivers/softpipe/sp_draw_arrays.c index 7409c3c4881,70a92fd4c6b..3826a9e41a6 --- a/src/gallium/drivers/softpipe/sp_draw_arrays.c +++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c @@@ -192,8 -177,16 +190,8 @@@ softpipe_draw_elements(struct pipe_cont unsigned indexSize, unsigned mode, unsigned start, unsigned count) { - return softpipe_draw_range_elements( pipe, indexBuffer, - indexSize, - 0, 0xffffffff, - mode, start, count ); + softpipe_draw_range_elements( pipe, indexBuffer, + indexSize, + 0, 0xffffffff, + mode, start, count ); } - - -void -softpipe_set_edgeflags(struct pipe_context *pipe, const unsigned *edgeflags) -{ - struct softpipe_context *sp = softpipe_context(pipe); - draw_set_edgeflags(sp->draw, edgeflags); -} diff --cc src/gallium/include/pipe/p_context.h index 60fa9cef824,564c35f7895..d2f8085b421 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@@ -74,24 -82,16 +74,24 @@@ struct pipe_context * Using this to quickly evaluate a specialized path in the draw * module. */ - boolean (*draw_range_elements)( struct pipe_context *pipe, - struct pipe_buffer *indexBuffer, - unsigned indexSize, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count); + void (*draw_range_elements)( struct pipe_context *pipe, + struct pipe_buffer *indexBuffer, + unsigned indexSize, + unsigned minIndex, + unsigned maxIndex, + unsigned mode, + unsigned start, + unsigned count); /*@}*/ + /** + * Predicate subsequent rendering on occlusion query result + * \param query the query predicate, or NULL if no predicate + * \param mode one of PIPE_COND_RENDER_x + */ + void (*render_condition)( struct pipe_context *pipe, + struct pipe_query *query, + uint mode ); /** * Query objects