Skip to content
Snippets Groups Projects
Commit df62c8fb authored by Timur Kristóf's avatar Timur Kristóf
Browse files

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: default avatarTimur Kristóf <timur.kristof@gmail.com>
Reviewed-by: default avatarRhys Perry <pendingchaos02@gmail.com>
Part-of: <mesa/mesa!6964>
parent 1129575d
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment