diff options
author | Roland Scheidegger <[email protected]> | 2013-05-21 23:10:53 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2013-05-22 22:57:27 +0200 |
commit | 3c91ef0f297d7dd619c02c03b01a6d99c018ad8d (patch) | |
tree | d9f66cf00d02e26708e378a2708f34d4bb18c87a /src/gallium | |
parent | 5314f5d82972a1a7a8ccd9d828e66db3fcdbd412 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_bld_depth.c | 27 |
1 files changed, 11 insertions, 16 deletions
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) |