summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2013-05-21 23:10:53 +0200
committerRoland Scheidegger <[email protected]>2013-05-22 22:57:27 +0200
commit3c91ef0f297d7dd619c02c03b01a6d99c018ad8d (patch)
treed9f66cf00d02e26708e378a2708f34d4bb18c87a /src/gallium
parent5314f5d82972a1a7a8ccd9d828e66db3fcdbd412 (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.c27
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)