diff options
author | Karol Herbst <[email protected]> | 2020-06-14 11:46:46 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-22 11:41:31 +0000 |
commit | aecca24d03a84fda14dc86b548304e6aaf250984 (patch) | |
tree | e4e6b32368e682321c3392df434480f7727a274a | |
parent | 83d2a73b73a58006d9835a93a64c3946a5923cda (diff) |
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 <[email protected]>
Tested-by: Ben Skeggs <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512>
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
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: |