Search Issue Tracker
Not Reproducible
Votes
4
Found in [Package]
6.7.1
Issue ID
1157019
Regression
No
[VFX Graph] VFX Graph doesn't work on iOS 12, Metal Error is thrown
1. Open the attached project;
2. Build and run the "Attributes" scene on iOS devices.
Results:
1. Sometimes scene VFX Graph effects crash in DrawIndexedNullGeometryIndirect when using on iOS devices with iOS 12.
2. If the app doesn't crash, effects are still not rendered, an error is being spammed to the XCode console (also only devices with iOS 12):
Metal: Error creating compute pipeline state: Compiler encountered an internal error
(null)
Devices under testing:
Reproduced with:
VLNQA00245, iPhone 6 Plus, A8, 12.0.1
VLNQA00157, iPhone X, A11, 12.2
258, iPhone XS Max, A12, 12.3
Not reproduced with:
VLNQA00161, iPad Mini 4, A8, 11.4.1
VLNQA00199, iPhone SE, A9, 10.0.1
HELA0167, iPad 10’’, A10, 11.4.1
VLNQA00162, iPad Pro 10.5’’, A10X, 11.3
189, iPhone SE, A9, 11.4.1
500, iPhone 6, A8, 10.2
Reproduced with package versions: 6.7.1, 7.0.0
Comments (2)
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
weiping-toh
Aug 22, 2019 07:47
I recently discovered another issue with the VFX graph on metal devices.
If you use [〇〇 over Life] blocks, where the parameters accepted is the type of AnimationCurve, metal will fail to compile on runtime, I suspect that the compiler on fail-occurring devices, does not contain a valid translation for sampling single float curves. After replacing the [〇〇 over Life] blocks with just [Set 〇〇 blocks] with the operators to sample gradient over time, it works
weiping-toh
Aug 16, 2019 09:08
I suspect that primitive geometry outputs utilized in the vfx graph outputs to standard geometry shaders which metal does not support.
You might want to try replacing all the primitive outputs with mesh outputs using primitive meshes instead.