Search Issue Tracker
By Design
Votes
0
Found in
2017.4.0f1
2018.4.0f1
2018.4.2f1
2019.1.0a1
2019.2.0a1
Issue ID
1168683
Regression
No
[Metal][iOS] HDR and DepthOnly cause extra render passes
To reproduce:
1. Open attached project "mem-ref.zip"
2. Build for iOS
3. Deploy the Xcode project to an iOS device
4. After the project is loaded in Xcode menu bar press Debug > Capture GPU Frame
5. On the left column select FPS tab
6. Observe as there are three Blit operators (Hidden/BlitCopy, Final Blit, Hidden/BlitCopy)
7. In the same column observe that in CommandBuffer there are four RenderCommandEncoders
Expected: no extra RenderCommandEncoders and Bit operators can be seen
Actual: extra RenderCommandEncoders and Bit operators can be seen
Reproduced on:
2017.4.0f1 2017.4.30f1 2018.4.4f1 2019.1.10f1 2019.2.0b10
Notes:
- The button to take GPU capture is not available after building with 2019.3.0a10
- On 2019.1 - 2019.2 there are three RenderCommandEncoders in CommandBuffer
- Disabling HDR on the Mian Camera there is one RenderCommandEncoder in CommandBuffer
- Setting Camera Clear Flags to Skybox there is one Blit in the FPS tab and two RenderCommandEncoders in CommandBuffer
- Only reproduces on Metal. Getting very different GPU frame capture results on OpenGLES3.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
Resolution Note (2019.3.X):
when the first camera in frame is rendered and clear flags are depth only it *might* happen that intent of the user was to actually preserve color (like, they did manual rendering before or smth), thats why there are extra passes in the beginning - to copy contents of current RT
as for HDR: it will render to 11.11.10 RT which needs to be be blit to system backbuffer (hence one extra blit in the end)