Mesa (master): nv50: fix GP state bind and validate

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Tue Sep 28 09:25:17 UTC 2010


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

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Sep 27 19:35:50 2010 +0200

nv50: fix GP state bind and validate

---

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

diff --git a/src/gallium/drivers/nv50/nv50_shader_state.c b/src/gallium/drivers/nv50/nv50_shader_state.c
index 1a2fe75..6c41e8f 100644
--- a/src/gallium/drivers/nv50/nv50_shader_state.c
+++ b/src/gallium/drivers/nv50/nv50_shader_state.c
@@ -362,6 +362,10 @@ nv50_geomprog_validate(struct nv50_context *nv50)
    struct nv50_program *p = nv50->geomprog;
    struct nouveau_stateobj *so = NULL;
 
+   /* GP may be NULL, but VP and FP may not */
+   if (!p)
+      return NULL; /* GP is deactivated in linkage validation */
+
    if (!p->translated) {
       if (nv50_program_validate(p))
          nv50_gp_update_stateobj(nv50, p);
diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c
index 3afce06..f42fa2d 100644
--- a/src/gallium/drivers/nv50/nv50_state.c
+++ b/src/gallium/drivers/nv50/nv50_state.c
@@ -663,7 +663,7 @@ nv50_gp_state_bind(struct pipe_context *pipe, void *hwcso)
 {
 	struct nv50_context *nv50 = nv50_context(pipe);
 
-	nv50->fragprog = hwcso;
+	nv50->geomprog = hwcso;
 	nv50->dirty |= NV50_NEW_GEOMPROG;
 }
 




More information about the mesa-commit mailing list