v3dv: reduce binning sync points
So far we have been fairly conservative selecting to sync at the binning stage: we would always do a binning sync if we had any semaphores or if we had any barriers involving geometry stages. In this series we track the actual access flags of the barriers and check the resources accessed by the binning shaders to decide if a we need a binning sync point or not. This makes sense because binning shaders are a simpler version of render shaders and may not access the resources affected by the barriers. We also stop enabling binning sync whenever we have a semaphore wait and instead we check whether the wait stage of the semaphores involves a geometry stage to make that decision.
CTS seems to have tests that hit both cases (for barriers and semaphores), UE4 demos hit the barrier case and Sponza hits the semaphore case. I didn't observed a clearly visible performance impact in any of these cases though.