r600g: take into account PSIZE output for spi mapping

Skip PSIZE and POSITION when counting VS outputs.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=42435

Tested without regressions on evergreen.

NOTE: this is a candidate for the 7.11 branch.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Vadim Girlin 2011-11-02 11:50:59 +04:00 committed by Alex Deucher
parent e8f646fa7e
commit 16c0a3a972
1 changed files with 6 additions and 3 deletions

View File

@ -62,12 +62,15 @@ int r600_find_vs_semantic_index(struct r600_shader *vs,
struct r600_shader *ps, int id)
{
struct r600_shader_io *input = &ps->input[id];
int index = 0;
for (int i = 0; i < vs->noutput; i++) {
if (input->name == vs->output[i].name &&
input->sid == vs->output[i].sid) {
return i - 1;
}
input->sid == vs->output[i].sid)
return index;
else if (vs->output[i].name != TGSI_SEMANTIC_POSITION &&
vs->output[i].name != TGSI_SEMANTIC_PSIZE)
index++;
}
return 0;
}