summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCooper Yuan <cooperyuan@gmail.com>2009-09-28 17:55:38 +0800
committerCooper Yuan <cooperyuan@gmail.com>2009-09-28 17:55:38 +0800
commit99e1745af9a6a1fe1ebc65b17afb5f1a975348d2 (patch)
treea54c9eb914363adf73852790863467fc31af7b77
parent70c44073ad3f333ed40c5c297a934a359c839e94 (diff)
r300g: fix r300g cause GPU hang issue.
why there are two input position semantic tags is that ureg doesn't set vs input semantic due to commit: 6d8dbd3d1ec888 so use vs input index instead of semantic name.
-rw-r--r--src/gallium/drivers/r300/r300_state_derived.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index 5026afc830..02b7ab9107 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -50,12 +50,11 @@ static void r300_vs_tab_routes(struct r300_context* r300,
assert(info->num_inputs <= 16);
- if (!r300screen->caps->has_tcl)
+ if (!r300screen->caps->has_tcl || !r300->rs_state->enable_vte)
{
for (i = 0; i < info->num_inputs; i++) {
- switch (info->input_semantic_name[i]) {
+ switch (r300->vs->code.inputs[i]) {
case TGSI_SEMANTIC_POSITION:
- assert(pos == FALSE);
pos = TRUE;
tab[i] = 0;
break;