freedreno/ir3: const_state rework
On top of @cwabbott0's !5500 (merged), with one small fixup for something that looks like an unintentional leftover. This moves const_state
back to ir3_shader_variant
, but makes the binning and draw pass VS share the same const_state
. This lets use share the same const emit between binning and draw passes (which was the original motivation for having const_state
in ir3_shader
), but prepares for some upcoming changes:
- shader variants that have smaller constlen, to handle the case where no individual shader goes over a limit, but the combination of shader stages does
- shader-cache, where we'll need to serialize the
const_state
and immediates alongside with the rest of the variant.