How to inject a renderpass in between two gbuffer groups

I’m looking to make a render feature with 4 passes:

  1. Draws a select group of meshes to the GBuffer.
  2. Copy the depth of these meshes
  3. Build a HiZ buffer
  4. Render the rest of the objects

How exactly should I do the first step, there’s only an option to render before or after the GBuffer.
Should I simply add the pass “before the GBuffer” ( and use cmd.DrawX(); )? How do I make sure my depth copy pass and HiZ generation all happen in the right order?

(Also what’s up with commandBuffer still having DrawProcedural instead of the new RenderPrimitives?)