broadcom/compiler: fix early fragment tests setup
When early fragment tests are mandated by the shader, we must use the Z value produced by the FEP even if there are elements that would typically require late fragment tests (such as discards, sample to coverage, etc).
This change means we also need to be a bit more careful when we promote shaders to use early fragment tests so we don't promote anything with discards for example.
Fixes:
dEQP-VK.fragment_operations.early_fragment.discard_early_fragment_tests_depth
dEQP-VK.fragment_operations.early_fragment.discard_early_fragment_tests_stencil
Edited by Iago Toral