Howdy,
I have been reading the Adreno GPU developer Guide and I'm a little uncertain about the performance when using Alpha Blend and Alpha Test (discard). In this particular case I only care about the 650 as im working on a Quest 2 but trying to work out if the statement in the FAQ is correct (partially as it appears to have spelling mistakes and mostly I dont understand why this would be the case, also a tiny bit of hope that maybe its different for the 650).
In the FAQ it says:
https://developer.qualcomm.com/sites/default/files/docs/adreno-gpu/developer-guide/gpu/faq.html#which-has-better-performance-alpha-test-vs-alpha-blend
Which has better performance, alpha test vs alpha blend?From a throughput point of view, they are the same. For a single sample they are both conservatively rejected. However, due to BW limitations, tjeu are not rejected as soon as you turn on MSAA and only get a late Z test.
- So are shaders that are using alpha blend, not doing z write to a MSAA target using a late Z test only?
- Is LRZ disabled for shaders using alpha blend but dont write into the z buffer? if it is that because a alpha blend considered Direct Rendering?
- Is there a different behaviour or caveats between the Adreno 5xx and Andreno 6xx that I should be aware of?
Basically I get why for a alpha test may have to be a late z test, but I dont understand why a alpha blend might require one if its not writing to depth.