Search Issue Tracker
Won't Fix
Votes
0
Found in
2017.4.0f1
2018.2.15f1
Issue ID
1103997
Regression
No
[Metal][iOS] Rendering Material with GrabPass into RenderTexture results Black Image other than GrabPass Material Mesh
To reproduce:
1. Download attached project “iOSTest.zip" and open in Unity
2. Open “Sample” scene
3. Set Graphics API to Metal
4. Build for iOS
5. Deploy the Xcode project to iPhone 6 or iPhone 5s
6. Observe that there is Black Image but not GrabPass Material Mesh
Notes:
- This issue does not appear on Windows, macOS, and Android - OpenGLES2 and OpenGLES3
- This issue appears only on iOS - Metal
- Results are shared in the Comments section
Tested with:
- iPod Touch 5th Gen, iOS: 9.3.5 - Not Reproduced
- iPhone 5, iOS: 10.1.1 - Not Reproduced
- iPhone 5C, iOS: 9.3.2 - Not Reproduced
- iPhone 5s, iOS: 9.3.3 - Reproduced
- iPhone 6, iOS: 10.3.3 - Reproduced
- iPhone 6 Plus, iOS: 12.0.1 - Reproduced
- iPhone 6 Plus, iOS: 8 - Reproduced
- iPhone 6s Plus, iOS: 11.4.1 - Not Reproduced
- iPhone 7s Plus, iOS: 12.0 - Not Reproduced
- iPhone X, iOS: 11.3.1 - Not Reproduced
Reproduced on Unity 2017.4.0f1, 2017.4.17f1, 2018.1.9f2, 2018.2.19f1, 2018.3.0f2 and 2019.1.0a11
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
- [macOS] forward and backward mouse buttons are recognized as middle mouse button
- NavMeshModifier.OnEnable/OnDisable gets progressively slower when called repeatedly
- "System.Net.CookieContainer" throws an "ArgumentException" error when using a non-UTF-8 machine locale and hostname
- Crash on ModelImporter::ImportSkinnedMesh when disabling "Strip Bones" on a specific FBX model
- WebGL Development builds ignore the "Compression Format" setting when using "Gzip" compression
Resolution Note (2019.1.X):
you cannot have grabpass + MSAA unless you run on A9+ and iOS10+, because it is impossible to
1. store render target AND resolve it at the same time (you need store to continue rendering and resolve to get texture you can sample)
2. you cannot delay this decision - you must specify this upfront when setting render target, and this obviously dont quite work with GrabPass
I will add some sort of warning/error for that but we wont be able to make it work (The workaround is to NOT do grabpass but rather render what you need separately and then use this texture)