On 1 April 2016 at 01:48, Matteo Bruni matteo.mystral@gmail.com wrote:
The advantage is to avoid creating two shader variants for alpha test enabled vs disabled and flipping between the two when the WINED3D_RS_ALPHATESTENABLE state is toggled. I only have some limited empiric evidence but it seems like changing the alpha test function is very rare in practice while toggling the alpha test enabled / disabled is relatively common.
Does that happen with a lot of different shaders though? I.e., if the draws with enabled alpha test use different shaders than the ones with disabled alpha test it doesn't really matter. Perhaps more importantly though, are you sure having discard() in the shader doesn't end up disabling HiZ/HiS in some cases?