From: Roland Scheidegger Date: Tue, 21 May 2013 21:10:53 +0000 (+0200) Subject: llvmpipe: (trivial) remove confusing code in stencil test X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3c91ef0f297d7dd619c02c03b01a6d99c018ad8d;p=mesa.git llvmpipe: (trivial) remove confusing code in stencil test This was meant to disable some code which isn't needed when depth/stencil isn't written. However, there's more code which wouldn't be needed in that case so having the condition there was just odd (llvm will drop all the code anyway). Reviewed-by: Jose Fonseca --- diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c index 08138f0ad7d..5ef99473e4d 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c @@ -1097,23 +1097,18 @@ lp_build_depth_stencil_test(struct gallivm_state *gallivm, stencil_shift, ""); /* Finally, merge the z/stencil values */ - if ((depth->enabled && depth->writemask) || - (stencil[0].enabled && (stencil[0].writemask || - (stencil[1].enabled && stencil[1].writemask)))) { - - if (format_desc->block.bits <= 32) { - if (have_z && have_s) - *z_value = LLVMBuildOr(builder, z_dst, stencil_vals, ""); - else if (have_z) - *z_value = z_dst; - else - *z_value = stencil_vals; - *s_value = *z_value; - } - else { + if (format_desc->block.bits <= 32) { + if (have_z && have_s) + *z_value = LLVMBuildOr(builder, z_dst, stencil_vals, ""); + else if (have_z) *z_value = z_dst; - *s_value = stencil_vals; - } + else + *z_value = stencil_vals; + *s_value = *z_value; + } + else { + *z_value = z_dst; + *s_value = stencil_vals; } if (s_pass_mask)