ir3: Add bar to beginning of HS with tess_use_shared
authorConnor Abbott <cwabbott0@gmail.com>
Thu, 9 Sep 2021 12:16:08 +0000 (14:16 +0200)
committerMarge Bot <eric+marge@anholt.net>
Fri, 10 Sep 2021 10:05:52 +0000 (10:05 +0000)
commit9033916d84e11cc8272b89411a9ec74b8f642685
treedbfeb9081208d6da0bc0ea3c18d4411a2040c5c8
parent6c286edc535d2769a6de071c700b33d44a63e056
ir3: Add bar to beginning of HS with tess_use_shared

This matches the blob. In theory, this is necessary only because the
VS/HS workgroup can now span more than one wave and a patch may be
assigned to different waves in the VS and HS. However I've seen it fix
tests where the entire draw should fit in one wave, so there may some
other sort of waiting this does or the HW dispatch may be inefficient
sometimes.

Fixes
EQP-VK.tessellation.user_defined_io.per_patch.vertex_io_array_size_implicit.*
when run immediately after
dEQP-VK.tessellation.invariance.outer_triangle_set.quads_fractional_even_spacing
or when all of dEQP-VK.tessellation.* is run in sequence on a650.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12791>
src/freedreno/ir3/ir3_compiler_nir.c