nv50: fix GP state bind and validate
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Mon, 27 Sep 2010 17:35:50 +0000 (19:35 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Tue, 28 Sep 2010 09:22:59 +0000 (11:22 +0200)
src/gallium/drivers/nv50/nv50_shader_state.c
src/gallium/drivers/nv50/nv50_state.c

index 1a2fe75..6c41e8f 100644 (file)
@@ -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);
index 3afce06..f42fa2d 100644 (file)
@@ -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;
 }