diff options
author | Keith Whitwell <[email protected]> | 2010-10-09 11:28:00 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2010-10-09 11:44:45 +0100 |
commit | 5b7eb868fde98388d80601d8dea39e679828f42f (patch) | |
tree | c97e8a511ec7cf3bb6df50098b8cb22d2b3e5277 /src/gallium/drivers/llvmpipe/lp_bld_depth.h | |
parent | aa4cb5e2d8d48c7dcc9653c61a9e25494e3e7b2a (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.h | 15 |
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 2a63bb9378b..0f89668123a 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 */ |