How does the renderer pick depth packing strategies?

I have a custom depth material set for a custom instance material I’ve created. The depth material is a copy of the Mesh Depth Material shader. My shader only seems to work when DEPTH_PACKING is set to RGBADepthPacking but I want it to work in all cases based on what depth packing strategies the built in materials use. How does the renderer switch packing strategies and how can I read this so I can switch the packing strategy in my custom material?