summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_bld_depth.h
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2010-10-09 11:28:00 +0100
committerKeith Whitwell <keithw@vmware.com>2010-10-09 11:44:45 +0100
commit5b7eb868fde98388d80601d8dea39e679828f42f (patch)
treec97e8a511ec7cf3bb6df50098b8cb22d2b3e5277 /src/gallium/drivers/llvmpipe/lp_bld_depth.h
parentaa4cb5e2d8d48c7dcc9653c61a9e25494e3e7b2a (diff)
llvmpipe: clean up shader pre/postamble, try to catch more early-z
Specifically, can do early-depth-test even when alpahtest or kill-pixel are active, providing we defer the actual z write until the final mask is avaialable. Improves demos/fire.c especially in the case where you get close to the trees.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_bld_depth.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_bld_depth.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.h b/src/gallium/drivers/llvmpipe/lp_bld_depth.h
index 2a63bb9378..0f89668123 100644
--- a/src/gallium/drivers/llvmpipe/lp_bld_depth.h
+++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.h
@@ -61,8 +61,21 @@ lp_build_depth_stencil_test(LLVMBuilderRef builder,
LLVMValueRef zs_src,
LLVMValueRef zs_dst_ptr,
LLVMValueRef facing,
- LLVMValueRef counter,
+ LLVMValueRef *zs_value,
boolean do_branch);
+void
+lp_build_deferred_depth_write(LLVMBuilderRef builder,
+ struct lp_type z_src_type,
+ const struct util_format_description *format_desc,
+ struct lp_build_mask_context *mask,
+ LLVMValueRef zs_dst_ptr,
+ LLVMValueRef zs_value);
+
+void
+lp_build_occlusion_count(LLVMBuilderRef builder,
+ struct lp_type type,
+ LLVMValueRef maskvalue,
+ LLVMValueRef counter);
#endif /* !LP_BLD_DEPTH_H */