Search Issue Tracker

Fixed in Unity 2017.1

Votes

0

Found in

5.6.1p4

Issue ID

920781

Regression

Yes

[iOS][Metal] Crash in GetPipeline() at GfxDeviceMetal.mm with ARGBFloat texture

Mobile

-

-

Priority: 2Necessary for shipping a final release

-

Severity: 1Crash or major loss of functionality

Reproduction steps:
1. Open the project form case 920728 (test_ARGBFloat_009_BugReport).
2. Make sure graphics API is set to Metal.
3. Build and run the "test_ARGBFloat" scene into iOS device.
- Application crashes.

...
frame #8: 0x00000001aa19a5b8 MetalTools`-[MTLDebugDevice newRenderPipelineStateWithDescriptor:error:] + 44
* frame #9: 0x000000010046be08 ProductName`::GetPipeline() at GfxDeviceMetal.mm:403 [opt]
frame #10: 0x000000010046d3ac ProductName`::CommonDrawSetup() at GfxDeviceMetal.mm:753 [opt]
frame #11: 0x000000010046d620 ProductName`::DrawBuffers() at GfxDeviceMetal.mm:819 [opt]
frame #12: 0x00000001007e67f4 ProductName`::RunCommand() at GfxDeviceWorker.cpp:1603 [opt]
...

Reproduced with:
5.6.1p4, 2017.2.0a3
iOS(Metal):
iPhone 7+ 10.3.1, i
Phone 6 10.2.1,
iPadMini 4 10.3.2,
iPadAir 2 9.2

Not Reproducible:
5.5.4f1
iOS(GLES)
macOS Standalone(Metal)

Regression introduced in:
5.6.

RESOLUTION: ARGBFloat render textures with blending are not supported on Metal. Instead of letting the Metal driver to crash the program, we now issue a warning and disable blending.

Workaround: don't use ARGBFloat render textures with blending.

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.