X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fllvmpipe%2Flp_bld_depth.h;h=d169c896711475abac98e7b1767720f3057525f6;hb=01ab218bbc5c8058a99077a6bc3dc9884e9d218a;hp=79d6981bb51f114e24d872df3dd2460f69778900;hpb=9fd7e9ef05955834e3c4de8a1dfa7ea1a868d762;p=mesa.git diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.h b/src/gallium/drivers/llvmpipe/lp_bld_depth.h index 79d6981bb51..d169c896711 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_depth.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.h @@ -36,10 +36,14 @@ #define LP_BLD_DEPTH_H -#include +#include "pipe/p_compiler.h" +#include "pipe/p_state.h" + +#include "gallivm/lp_bld.h" struct pipe_depth_state; +struct gallivm_state; struct util_format_description; struct lp_type; struct lp_build_mask_context; @@ -51,13 +55,51 @@ lp_depth_type(const struct util_format_description *format_desc, void -lp_build_depth_test(LLVMBuilderRef builder, - const struct pipe_depth_state *state, - struct lp_type type, - const struct util_format_description *format_desc, - struct lp_build_mask_context *mask, - LLVMValueRef src, - LLVMValueRef dst_ptr); +lp_build_depth_stencil_test(struct gallivm_state *gallivm, + const struct pipe_depth_state *depth, + const struct pipe_stencil_state stencil[2], + struct lp_type z_src_type, + const struct util_format_description *format_desc, + struct lp_build_mask_context *mask, + LLVMValueRef stencil_refs[2], + LLVMValueRef z_src, + LLVMValueRef z_fb, + LLVMValueRef s_fb, + LLVMValueRef face, + LLVMValueRef *z_value, + LLVMValueRef *s_value, + boolean do_branch); + +void +lp_build_depth_stencil_load_swizzled(struct gallivm_state *gallivm, + struct lp_type z_src_type, + const struct util_format_description *format_desc, + boolean is_1d, + LLVMValueRef depth_ptr, + LLVMValueRef depth_stride, + LLVMValueRef *z_fb, + LLVMValueRef *s_fb, + LLVMValueRef loop_counter); +void +lp_build_depth_stencil_write_swizzled(struct gallivm_state *gallivm, + struct lp_type z_src_type, + const struct util_format_description *format_desc, + boolean is_1d, + struct lp_build_mask_context *mask, + LLVMValueRef z_fb, + LLVMValueRef s_fb, + LLVMValueRef loop_counter, + LLVMValueRef depth_ptr, + LLVMValueRef depth_stride, + LLVMValueRef z_value, + LLVMValueRef s_value); + + +void +lp_build_occlusion_count(struct gallivm_state *gallivm, + struct lp_type type, + LLVMValueRef maskvalue, + LLVMValueRef counter); #endif /* !LP_BLD_DEPTH_H */