freedreno/a6xx: Fix VS primid with tess + GS.
authorConnor Abbott <cwabbott0@gmail.com>
Wed, 8 Sep 2021 13:05:20 +0000 (15:05 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 9 Sep 2021 11:17:53 +0000 (11:17 +0000)
Analogous to the previous commit.

Fixes: 8115cde3ba6 ("tu, freedreno/a6xx, ir3: Rewrite tess PrimID handling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12768>

src/gallium/drivers/freedreno/a6xx/fd6_program.c

index 20fe9699dc2ee358c98001f66330e7d77e8974f2..13e8d1d3b2bce5a2a30bc40a426828289436d9b7 100644 (file)
@@ -364,10 +364,10 @@ setup_stateobj(struct fd_ringbuffer *ring, struct fd_context *ctx,
    layer_regid = ir3_find_output_regid(vs, VARYING_SLOT_LAYER);
    vertex_regid = ir3_find_sysval_regid(vs, SYSTEM_VALUE_VERTEX_ID);
    instance_regid = ir3_find_sysval_regid(vs, SYSTEM_VALUE_INSTANCE_ID);
-   if (gs)
-      vs_primitive_regid = ir3_find_sysval_regid(gs, SYSTEM_VALUE_PRIMITIVE_ID);
-   else if (hs)
+   if (hs)
       vs_primitive_regid = ir3_find_sysval_regid(hs, SYSTEM_VALUE_PRIMITIVE_ID);
+   else if (gs)
+      vs_primitive_regid = ir3_find_sysval_regid(gs, SYSTEM_VALUE_PRIMITIVE_ID);
    else
       vs_primitive_regid = regid(63, 0);