buffer binding used by a subsequent pipeline that does not use push constants.
This error was previously introduced in 2a17f75, where a push constants
binding could override the Metal buffer binding 0 of a subsequent pipeline
that does not use push constants.
When pipeline binding is encoded, track which stages use push constants
and only encode push constants if the pipeline and stage uses them.
(unrelated) Make use of MVKResourcesCommandEncoderState::getPipeline() consistent.