I'm investigating replacing our pixel shader discards with alpha tests (through the QCOM_alpha_test extension). I found that using alpha test gives worse performance than doing a discard on a Galaxy S7 (Adreno 530), which I didn't expect. Why would that be? My guess is that the existence of the extension doesn't actually guarantee a dedicated alpha test hardware unit, like I expected.
QCOM_alpha_test extension on Adreno 530
Posted: Tue, 2016-05-10 13:51
The alpha test hardware is supported on the Adreno 530 chip.
Performance improvements using the extension depend on a few things, but mostly how your pixel shader is constructed.
Is the pixel shader your primary bottleneck in the application?
The Alpha test hardware works after the pixel shader has completed. Therefore comparing performance differences (with using discard) need to account for the addtiional computation done after the discard statement. (If discard is the final command in the fragment shader, performance should be similar).
It would be good to know how performance is being measured and how much slower the application is when using the alpha test.