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

Package: Visual Effect Graph

-

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)

  1. 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

  2. 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.

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.