From: Karol Herbst Date: Sun, 14 Jun 2020 09:46:46 +0000 (+0200) Subject: nv50/ir/nir: add workaround for double vertex attribs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aecca24d03a84fda14dc86b548304e6aaf250984;p=mesa.git 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 Tested-by: Ben Skeggs Part-of: --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 90ce9ebd2eb..81aa7af63ba 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp @@ -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: