mesa/src/amd
Timur Kristóf df62c8fbea aco/ngg: Place workgroup barrier outside control flow for NGG GS.
Merged shaders have a workgroup barrier which makes sure that
the first half is completed in every wave before the 2nd half
is started.

This barrier is located in divergent control flow, so that waves
that don't have any invocations in the 2nd half can finish as early
as possible. This is problematic for NGG GS because it has more
workgroup barriers after the 2nd half.

So, for NGG GS we need to put the barrier outside
control flow because otherwise the waves that have 0 GS threads
won't be able to wait for the waves which have non-zero GS threads.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6964>
2020-10-09 15:26:15 +02:00
..
addrlib amd: add VanGogh support 2020-09-22 16:50:07 +00:00
common ac/gpu_info: add detection of TMZ support 2020-09-24 14:51:16 +00:00
compiler aco/ngg: Place workgroup barrier outside control flow for NGG GS. 2020-10-09 15:26:15 +02:00
llvm ac/nir: implement nir_op_fsat 2020-10-08 12:38:04 +00:00
registers amd/registers: switch to new generated register definitions 2020-09-01 08:45:54 -04:00
vulkan radv/aco: Use new GS lowering options for ACO with NGG GS. 2020-10-09 15:26:14 +02:00
Android.addrlib.mk android: amd/addrlib: add gfx10 support 2019-07-10 09:03:55 +02:00
Android.common.mk android: amd/registers: switch to new generated register definitions 2020-09-06 20:20:34 +02:00
Android.compiler.mk android: aco/isel: Move context initialization code to a dedicated file 2020-09-14 21:26:53 +02:00
Android.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Makefile.sources android: aco/isel: Move context initialization code to a dedicated file 2020-09-14 21:26:53 +02:00
meson.build aco: add framework for unit testing 2020-07-30 16:13:08 +00:00