nouveau/nv50: Set the primid sysval flag if it's in the sysval list, too.
authorEmma Anholt <emma@anholt.net>
Thu, 14 Apr 2022 18:13:14 +0000 (11:13 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 20 Apr 2022 21:58:33 +0000 (21:58 +0000)
It's declared an input in TGSI, even though it's an SV in the backend.  In
NIR, it shows up as an SV, so it's in this list.  Fixes NIR regressions in
primitive-id-in and primitive-id-restart.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063>

src/gallium/drivers/nouveau/nv50/nv50_program.c

index dd67a19..7c4cf06 100644 (file)
@@ -71,6 +71,9 @@ nv50_vertprog_assign_slots(struct nv50_ir_prog_info_out *info)
          prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID;
          prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID_DRAW_ARRAYS_ADD_START;
          continue;
+      case TGSI_SEMANTIC_PRIMID:
+         prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID;
+         break;
       default:
          break;
       }