Search Issue Tracker

Fixed in 2020.2.X

Fixed in 2020.3.X

Fix In Review for 2021.1.X

Votes

0

Found in

2020.1.0a2

2020.2

2020.2.0b12

2021.1

Issue ID

1298799

Regression

Yes

[iOS] CopyDepth pass is present in the legacy deferred render pipeline and results in extra render target memory and GPU time

Metal

-

How to reproduce:
1. Open the attached 'CopyDepthPass2020.zip'
2. Switch Platform to iOS in Build Settings
3. Build the Xcode project and open it
4. Enable GPU Frame Capture for Metal and set API Validation to Metal in Menu Bar > Product > Scheme > Edit Scheme
5. Deploy Xcode project to an iOS device
6. Capture a frame

Expected result: There is no Copy Depth pass in the legacy deferred render pipeline
Actual result: Copy Depth pass is present in the legacy deferred render pipeline therefore GPU time is added and consumes extra render target memory

Reproducible with: 2020.1.0a2, 2020.1.16f1, 2020.2.0b14, 2020.1.0a10
Not reproducible with: 2018.4.30f1, 2019.4.17f1, 2020.1.0a1

Reproducible with:
iPhone XR (iOS 13.4.1)
iPad 9.7’ 6th gen (iOS 14.2)

Notes:
- Screenshots of the memory captures and frame captures are attached in Edit (CopyDepthPass2019-Memory.png, CopyDepthPass2019-PIpelineState.png, CopyDepthPass2020-Memory.png CopyDepthPass2020-PipelineState.png)

  1. Response avatar

    Resolution Note (fix version 2020.2):

    A CopyDepth pass was previously included which allowed users script access to _CameraDepthTarget but this has been removed on the metal GPU families that use Tile-based renderers (iOS, Silicon-GPU), fixing the performance decrease that this was causing. If shader access to _CameraDepthTarget is necessary, users should make a copy beforehand.
    Fixed in 2021.2.0a6

  2. Response avatar

    Resolution Note (fix version 2020.3):

    Fixed in 2020.3.0f1

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.