Search Issue Tracker
Won't Fix
Votes
0
Found in
2017.4
2018.4.16f1
2020.2
Issue ID
1217627
Regression
No
[Mac][Metal] Camera "Clear flags" set to Don't clear still clears in Mac build when using Metal graphics API
Reproduction steps:
1. Open the project from the attached file "1217627.zip"
2. Build and run the project setting the target platform to Mac
3. Inspect the screen
Expected result: while the camera is moving frames are drawn without clearing the last drawn frame
Actual result: while the camera is moving the last frame is cleared before drawing a new frame
Reproducible with: 2017.4.38f1, 2018.4.19f1, 2019.3.6f1, 2020.1.0b2, 2020.2.0a4
Notes:
- Not reproducible in Editor
- Only reproducible when using Metal graphics API
- Not reproducible on VLNQA00160 iPhone 6S iOS 13.3.1 with Metal API
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
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
Resolution Note (2020.2.X):
"Expected result: while the camera is moving frames are drawn without clearing the last drawn frame"
This is NOT an expected behavior. The contents of backbuffer are unspecified after the frame ended. Some apis allows you to have "whatever was rendered in the previous frame" but this is not a general behavior, so backbuffer must be cleared at frame start. It is different in editor simply because we render to RenderTexture, not to the screen. If the same is done in player (but you need an explicit RT, sure) than it will work as expected