nv50/ir/nir: add workaround for double vertex attribs

Gallium adjusts the vertrix attrib types for doubles, but can run out of
bounds this way. As the slot is counted from 0 anyway, just fix it.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Tested-by: Ben Skeggs <bskeggs@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512>
This commit is contained in:
Karol Herbst 2020-06-14 11:46:46 +02:00 committed by Marge Bot
parent 83d2a73b73
commit aecca24d03
1 changed files with 2 additions and 0 deletions

View File

@ -989,6 +989,8 @@ bool Converter::assignSlots() {
info->numPatchConstants = MAX2(info->numPatchConstants, index + slots);
break;
case Program::TYPE_VERTEX:
if (slot >= VERT_ATTRIB_GENERIC0)
slot = VERT_ATTRIB_GENERIC0 + vary;
vert_attrib_to_tgsi_semantic((gl_vert_attrib)slot, &name, &index);
switch (name) {
case TGSI_SEMANTIC_EDGEFLAG: