summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/nouveau/nv10_swtcl.c
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2007-02-06 13:49:39 +1100
committerBen Skeggs <darktama@iinet.net.au>2007-02-06 14:01:19 +1100
commitf46c19d965fb05a49d361aa251e37b5ef32dd839 (patch)
tree9e160130ba52028e37373d118aad5f7f539d8aac /src/mesa/drivers/dri/nouveau/nv10_swtcl.c
parent8518ddda7b5f8e43de4859042fe59f55aa0c2760 (diff)
nouveau: a couple of NV3x fixes
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nv10_swtcl.c')
-rw-r--r--src/mesa/drivers/dri/nouveau/nv10_swtcl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nv10_swtcl.c b/src/mesa/drivers/dri/nouveau/nv10_swtcl.c
index eec67bd805..32da40661b 100644
--- a/src/mesa/drivers/dri/nouveau/nv10_swtcl.c
+++ b/src/mesa/drivers/dri/nouveau/nv10_swtcl.c
@@ -527,6 +527,16 @@ static void nv10ChooseVertexState( GLcontext *ctx )
nv10OutputVertexFormat(nmesa);
}
+ if (nmesa->screen->card->type == NV_30) {
+ nouveauShader *fp;
+
+ if (ctx->FragmentProgram.Enabled) {
+ fp = (nouveauShader *) ctx->FragmentProgram.Current;
+ nvsUpdateShader(ctx, fp);
+ } else
+ nvsUpdateShader(ctx, nmesa->passthrough_fp);
+ }
+
if (nmesa->screen->card->type >= NV_40) {
/* Ensure passthrough shader is being used, and mvp matrix
* is up to date