gallium: add condition parameter to render_condition
authorRoland Scheidegger <sroland@vmware.com>
Fri, 14 Jun 2013 17:48:57 +0000 (19:48 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Tue, 18 Jun 2013 16:01:24 +0000 (18:01 +0200)
commit793e8e3d7ed816cc9a066245dde798afdcf8b581
treeb71d5597d0d8669df8ed896b989bc519c82659d2
parent443dc15cf77edcaa7804c4277f0cce5d7c1d6b25
gallium: add condition parameter to render_condition

For conditional rendering this makes it possible to skip rendering
if either the predicate is true or false, as supported by d3d10
(in fact previously it was sort of implied skip rendering if predicate
is false for occlusion predicate, and true for so_overflow predicate).
There's no cap bit for this as presumably all drivers could do it trivially
(but this patch does not implement it for the drivers using true
hw predicates, nvxx, r600, radeonsi, no change is expected for OpenGL
functionality).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
42 files changed:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/cso_cache/cso_context.h
src/gallium/auxiliary/hud/hud_context.c
src/gallium/auxiliary/postprocess/pp_run.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/auxiliary/util/u_blitter.h
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/docs/source/context.rst
src/gallium/drivers/galahad/glhd_context.c
src/gallium/drivers/ilo/ilo_3d.c
src/gallium/drivers/ilo/ilo_3d.h
src/gallium/drivers/llvmpipe/lp_context.c
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/llvmpipe/lp_query.c
src/gallium/drivers/llvmpipe/lp_surface.c
src/gallium/drivers/nv30/nv30_context.h
src/gallium/drivers/nv30/nv30_miptree.c
src/gallium/drivers/nv30/nv30_query.c
src/gallium/drivers/nv50/nv50_context.h
src/gallium/drivers/nv50/nv50_query.c
src/gallium/drivers/nv50/nv50_surface.c
src/gallium/drivers/nvc0/nvc0_context.h
src/gallium/drivers/nvc0/nvc0_query.c
src/gallium/drivers/nvc0/nvc0_surface.c
src/gallium/drivers/r300/r300_query.c
src/gallium/drivers/r600/r600_blit.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/r600/r600_query.c
src/gallium/drivers/radeonsi/r600_blit.c
src/gallium/drivers/radeonsi/r600_query.c
src/gallium/drivers/radeonsi/radeonsi_pipe.c
src/gallium/drivers/radeonsi/radeonsi_pipe.h
src/gallium/drivers/softpipe/sp_context.c
src/gallium/drivers/softpipe/sp_context.h
src/gallium/drivers/softpipe/sp_query.c
src/gallium/drivers/softpipe/sp_surface.c
src/gallium/drivers/svga/svga_pipe_blit.c
src/gallium/drivers/trace/tr_context.c
src/gallium/include/pipe/p_context.h
src/mesa/state_tracker/st_cb_condrender.c