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>
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;
}