Reproduction steps:
1. Open a directory of the attached project “GraphicsCorruption2“ in File Explorer
2. Fix up the paths in RunRepro.py line 17 to point at your Unity install of 2021.3.15f1
3. Plug in Quest 2 and Run RunRepro.bat - it should take about 25 minutes to build and run on the device
4. At the end you should have two screenshots of the Quest 2: scr-vectors-False.png and scr-vectors-True.png
Expected result: Unity doesn't return a render target which can corrupt VRAM if used
Actual result: The Scene is black in the screenshot scr-vectors-True.png
Project is Vulkan/Multiview
Reproducible with: 2021.3.15f1
Could not test with: 2020.3.46f1, 2021.3.20f1, 2022.2.2f1, 2023.1.0b5, 2023.2.0a5 (text in the CMD “retcode is 1 after 0.1 minutes” and exited without successfully building)
Reproducible with devices:
VLNQA00379, Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650
Testing environment: Windows 10 Enterprise 21H2
Notes:
- To confirm it is the ClearRenderTarget call / the corrupt RenderTarget, if you repeat the experiment but change bool clearDepth = true; on line 1118 from true to false, the bug won't happen
- When the code renders to the Motion Vectors buffer, it corrupts all textures to black