Search Issue Tracker

Fixed in 2017.1.0f3

Fixed in 2017.1.X

Votes

0

Found in

5.6.1p4

Issue ID

920781

Regression

Yes

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

Mobile

-

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.

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.