summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2014-02-03 23:20:32 -0500
committerIlia Mirkin <imirkin@alum.mit.edu>2014-02-06 18:02:57 -0500
commitc7373b7dc7202b93eecc1072efda7319b1ad0da8 (patch)
tree5ba567c74ed320d899bdc78b0fcafb8cb89b4033 /src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
parentf658150639c36eda351590e757247c56507f494f (diff)
downloadexternal_mesa3d-c7373b7dc7202b93eecc1072efda7319b1ad0da8.zip
external_mesa3d-c7373b7dc7202b93eecc1072efda7319b1ad0da8.tar.gz
external_mesa3d-c7373b7dc7202b93eecc1072efda7319b1ad0da8.tar.bz2
nv50: rework primid logic
Functionally identical but much simpler. Should also better integrate with future layer/viewport changes/fixes. Cc: 10.1 <mesa-stable@lists.freedesktop.org> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Diffstat (limited to 'src/gallium/drivers/nouveau/nv50/nv50_shader_state.c')
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_shader_state.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c b/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
index 9a43502..f8b1c1b 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
@@ -401,8 +401,10 @@ nv50_fp_linkage_validate(struct nv50_context *nv50)
if (vp->out[n].sn == fp->in[i].sn &&
vp->out[n].si == fp->in[i].si)
break;
- if (i == fp->gp.primid) {
+ switch (fp->in[i].sn) {
+ case TGSI_SEMANTIC_PRIMID:
primid = m;
+ break;
}
m = nv50_vec4_map(map, m, lin,
&fp->in[i], (n < vp->out_nr) ? &vp->out[n] : &dummy);