Mesa (master): nv50: fix depth comparison func TSC bits

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Sat Dec 12 09:54:26 PST 2009


Module: Mesa
Branch: master
Commit: cc0ffaba7d1df234b3c62769ade9dee712117d2f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc0ffaba7d1df234b3c62769ade9dee712117d2f

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Dec 10 20:54:18 2009 +0100

nv50: fix depth comparison func TSC bits

Unfortunately it seems that if depth comparison is
active and we read a 2D texture, i.e. provide only
2 inputs, the second is used for comparison ...

---

 src/gallium/drivers/nv50/nv50_state.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c
index 9c8c0c2..88aef52 100644
--- a/src/gallium/drivers/nv50/nv50_state.c
+++ b/src/gallium/drivers/nv50/nv50_state.c
@@ -196,8 +196,9 @@ nv50_sampler_state_create(struct pipe_context *pipe,
 	}
 
 	if (cso->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) {
-		tsc[0] |= (1 << 8);
-		tsc[0] |= (nvgl_comparison_op(cso->compare_func) & 0x7);
+		/* XXX: must be deactivated for non-shadow textures */
+		tsc[0] |= (1 << 9);
+		tsc[0] |= (nvgl_comparison_op(cso->compare_func) & 0x7) << 10;
 	}
 
 	limit = CLAMP(cso->lod_bias, -16.0, 15.0);



More information about the mesa-commit mailing list