Search Issue Tracker
Fixed in 2021.1.X
Votes
0
Found in
2018.4
2019.4.10f1
2021.1
Issue ID
1281129
Regression
No
[iOS][Metal] Shaders with tessellation are not compiled when displacement feature is removed from #pragma
How to reproduce:
1. Open the attached 'iTestCase.zip' project
2. Switch Platform to iOS in Build Settings
3. Build for iOS and open the Xcode project
4. Deploy Xcode project to an iOS device
Expected result: The blue cube is displayed in the Scene and no errors are thrown to the Xcode console
Actual result: Scene is empty and 'program_source:199:50: error: assigning to 'float4' (vector of 4 'float' values) from incompatible type 'threadgroup half4' (vector of 4 'half' values) output.COLOR0 = input.cp[controlPointID].COLOR0;' error it thrown to the Xcode console
Reproducible with: 2018.4.27f1, 2019.4.13f1, 2020.1.9f1, 2020.2.0b7, 2021.1.0a1
Reproducible with:
iPhone 8+ (iOS 12.0)
iPhone XR (iOS 13.4.1)
iPad 9.7’ 6th gen (iOS 14.2)
Not reproducible:
macOS 11.0 Beta Big Sur
Notes:
- Reproducible on Metal, not reproducible on Open GLES 3
- Shader is taken from the documentation: https://docs.unity3d.com/Manual/SL-SurfaceShaderTessellation.html
- Shader works fine when the displacement feature is included #pragma
- When using displacement, Unity Shader Compiler does not include COLOR semantic to Mtl VertexOut and ControlPoint structs
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
- Rigidbody2D.Slide API does not have the needed configuration when creating a 2D Top-Down character controller
- Opening reference for "Playables"component redirects to a missing page
- Sprite Renderer image is changed when switching Mask Interaction and changing Sprite to a shared Sprite
- An unsigned integer is not compared with an integer correctly in player when using IL2CPP backend
- Graphical artifacts are being rendered in Scenes that are loaded during run-time when GPU Resident Drawer is turned on
Resolution Note (fix version 2021.1):
Fixed in 2021.1.0a5