diff options
Diffstat (limited to 'src/gallium')
| -rw-r--r-- | src/gallium/drivers/nv50/nv50_shader_state.c | 4 | ||||
| -rw-r--r-- | 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 1a2fe758a8..6c41e8f456 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 3afce06557..f42fa2d4d2 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;  }  | 
