We see, the non-fragment and fragment workloads are not parellel.
"This expression defines the fragment queue utilization compared against the GPU active cycles. For GPU bound content it is expected that the GPU queues will process work in parallel, so the dominant queue should be close to 100% utilized. If no queue is dominant, but the GPU is close to 100% utilized, then there could be a serialization or dependency problem preventing better overlap across the queues." -- This is the document on the official web site. But i can not get the specific meaning of it.
So can you give some specific events to prevent parallel between vs and ps?
And what conditions are satisfied to parellel?
Hi Shawn, First of all, if you are hitting your target framerate, e.g. 30 or 60 FPS, you may not be able to get perfect overlap. In that situation it really depends on the frame GPU load and the available GPU frequencies on that target device. If you are not hitting 60 FPS, you're generally looking to avoid dependencies between render passes. In OpenGL ES the main causes of this are:
In Vulkan:
This might help provide some more background: developer.arm.com/.../workload-pipeliningKind regards, Pete