Mesa (nvc0): nv50: fix depth clamp for disabled primitive clipping

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Wed Mar 2 20:01:41 UTC 2011


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

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Mar  2 20:15:01 2011 +0100

nv50: fix depth clamp for disabled primitive clipping

---

 src/gallium/drivers/nv50/nv50_state_validate.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c
index d0b4af6..bf46296 100644
--- a/src/gallium/drivers/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nv50/nv50_state_validate.c
@@ -197,9 +197,19 @@ nv50_validate_clip(struct nv50_context *nv50)
    struct nouveau_channel *chan = nv50->screen->base.channel;
    uint32_t clip;
 
-   clip = nv50->clip.depth_clamp ? 0x0018 : 0x0000;
+   if (nv50->clip.depth_clamp) {
+      clip =
+         NV50_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR |
+         NV50_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR |
+         NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1;
+   } else {
+      clip = 0;
+   }
+
 #ifndef NV50_SCISSORS_CLIPPING
-   clip |= 0x1080;
+   clip |=
+      NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK7 |
+      NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1;
 #endif
 
    BEGIN_RING(chan, RING_3D(VIEW_VOLUME_CLIP_CTRL), 1);




More information about the mesa-commit mailing list