Search Issue Tracker

Fixed in 2020.2.X

Fixed in 2019.4.X, 2020.1.X

Votes

0

Found in

2017.4

2017.4.7f1

2020.2

Issue ID

1159944

Regression

No

[Metal] Mirror Sharing screen of a Game to AppleTV causes the AppleTV screen to go dark and the Application to crash

Metal

-

Reproduction steps (repro is not 100% consistent):
1. Open user's provided project linked in a reply (look for %20Screen)
2. Build the project for iOS
3. Open and Deploy the created Xcode project for iOS (make sure your device supports Metal)
4. Once the Application fully launches, minimize it, start Screen Mirroring (AirPlay) to an AppleTV
5. Maximize the still running application and press a Button with "Activate 2" on it (this will execute code in ScreenTwo.cs)

Expected result: View from another Camera in Game appears in the monitor of AppleTV
Actual result: AppleTV monitor becomes dark and errors are thrown in Xcode (note 3), after around 10-15 seconds the Application crashes and remains turned on

Reproducible with: 2017.4.39f1, 2020.2.0a5, 2020.2.0a15 (could not repro crash)

The issue does not reproduce with OpenGL ES 2.0, OpenGL ES 3.0 and reproduces with Metal

Reproducible with VLNQA00310 iPad Pro (iOS 12.2.1) with Screen Mirroring to AppleTV (tvOS13.3.1)
Could not test with Phone 5C (10.3.3) because Metal is not available

Could not test on Standalone build on Mac + AppleTV because the ScreenTwo.cs script does nothing upon the click

Notes:
1. Stacktrace with the entire Debugger log can be found in Edits (Stack Trace) and Debug.rtf
2. For older devices, the Shader of the background might be unsupported and the button will be invisible, however, it will still be there (there isn't anything else clickable on the screen and it is located in the middle bottom). You can confirm it does not reproduce by seeing that the screen is not black but actually trying to display the unsupported shader (check IRL image attached)
3. Errors thrown are: SetRenderTargets: Cannot set a depth surface as a color render target

First few lines of the stack after the crash (check note 1 above):
* thread #15, name = 'UnityGfxDeviceWorker', stop reason = signal SIGABRT
frame #0: 0x000000018342c2e8 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x00000001835412f8 libsystem_pthread.dylib`pthread_kill$VARIANT$mp + 396
...
dBuffer*, objc_selector*, id<MTLDrawable>) + 72
* frame #8: 0x0000000100e2d5fc ProductName`::PresentMTL(surface=0x0000000104948b10) at MetalHelper.mm:300:9 [opt]
...

  1. Resolution Note (fix version 2020.2):

    Fixed in 2020.2.0a18.2359

  2. Resolution Note (fix version 2020.1):

    Fixed in 2020.1.5f1.4487

  3. Resolution Note (fix version 2019.4):

    Fixed in 2019.4.10f1 (d9ef6fd7d683)

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.