pan/mdg: Analyze helper invocations (fixes derivatives)
Midgard has flags controlling the behaviour of helper invocations, allowing texture/deriv ops to terminate the invocation or to suppress the execution of the op itself to improve performance slightly. We need to do proper dataflow analysis to set these flags correctly, so let's do so.
Also included in the series are the derivative fixing patches from my other branch since the primary beneficiary of this analysis is code like dFdx(texture(..))
, tested in dEQP-GLES3.functional.shaders.derivate.*.texture.*
. Derivatives should now work. Cc @icecream95