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
- VFX Graph Documentation dropdown button does nothing when clicked on the right side
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
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)