summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-06-01 12:04:29 -0700
committerCorbin Simpson <[email protected]>2009-06-01 12:04:29 -0700
commit1fa023ae48c31176434f5ad4691eae347e7a395f (patch)
tree249b9ed4e1d55557c768a810269690158f0847f8 /src
parentbc302b2a33ceffe454bcf443daa0ac1edc118e9b (diff)
r300-gallium: Slightly hacky fix for glxgears-style TCL.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/r300/r300_state_derived.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index 7ae339cf972..2477b30822b 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -163,6 +163,13 @@ static void r300_vs_tab_routes(struct r300_context* r300,
vinfo->hwfmt[3] |= (4 << (3 * i));
}
+ /* Handle the case where the vertex shader will be generating some of
+ * the attribs based on its inputs. */
+ if (r300screen->caps->has_tcl &&
+ info->num_inputs < info->num_outputs) {
+ vinfo->num_attribs = info->num_inputs;
+ }
+
draw_compute_vertex_size(vinfo);
}