Search Issue Tracker

By Design

Votes

0

Found in

2021.2

2021.2.19f1

2021.3

2022.1

2022.2

Issue ID

1424847

Regression

No

[iOS] "Command buffer is aborted" error is thrown when using DXC compiler

Shader System

-

Reproduction steps:
1. Download and open "ShaderDXCBug.zip" project
2. Build the project for iOS
3. Observe the Xcode console

Expected result: No errors are printed
Actual result: A "ShaderGLES3Bug[5771:6333767] Execution of the command buffer was aborted due to an error during execution. Caused GPU Address Fault Error (IOAF code 11)" error is printed

Reproducible with: 2021.2.19f1, 2021.3.2f1, 2022.1.0f1, 2022.2.0a12
Could not test with: 2019.4, 2020.3 (Project breaks when downgrading)
Reproduced with: iPhone 12 Pro (iOS 14.2.1), iPhone 6S (iOS 13.3.1)

  1. Resolution Note:

    As correctly noted in the original forum thread https://forum.unity.com/threads/conditional-order-issues-with-hlsl-to-metal-opengles-compute-shader-compiler.1273919/, this behavior is currently by design.

    The HLSL spec states: "Unlike short-circuit evaluation of &&, ||, and ?: in C, HLSL expressions never short-circuit an evaluation because they are vector operations. All sides of the expression are always evaluated." https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-operators#boolean-math-operators

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.