My Temporary RenderTexture become UnityDefault2D on visionOS

I am facing a weird bug. Th have 3 custom passes and 3 custom RTs. The 3 passes are like: pass1 renders item to RenderTexture A. Pass2 reads RenderTextureA and writes to B. Finally Pass3 reads B and writes to C. Later, a custom shader to render objects will read C to achieve some visual effects.

The procedure works well on PC. However, on visionOS, RenderTextureC becomes UnityDefault2D when rendering objects. From XCode, I can see RenderTextureC is successfully rendered. However, it seems binding between RT name and the actually shader parameter get lost. I have added cmd.SetGlobalTexture(“RenderTextureC Name”, RenderTextureCHandle.Identifier()) to the third pass. It does not work.