Search Issue Tracker
Fixed in 5.5.X, 5.6.X
[Metal] Half-precision literal in HLSL is translated to float literal by Metal shader compiler
1) Open the attached project (HLSLHalfLiteralBecomesMetalFloatLiteral.zip).
2) Open "MobileBloom.shader".
3) Observe the literal "half4(0.01h, 0.01h, 0.01h, 0.01h)" in "half4 fragBloom ( v2f_simple i ) : SV_Target".
4) Select "MobileBloom.shader".
5) Open drop-down menu of the "Compile and show code" button in the inspector window.
6) Tick "Custom:", then under "Custom:" tick "Metal".
7) Push the "Compile and show code" button to view View "Compiled-Hidden-FastBloom.shader" file.
8) Observe the literal "float4(0.00999999978, 0.00999999978, 0.00999999978, 0.00999999978)" in "fragment Mtl_FragmentOut xlatMtlMain".
This doesn't occur when compiling to OpenGL.
- float4(0.00999999978, 0.00999999978, 0.00999999978, 0.00999999978) is generated in the Metal shader.
- half4(0.01h, 0.01h, 0.01h, 0.01h) is generated in the Metal shader.
2017.1.0f3, 2017.1.0b1, 5.6.0f3, 5.5.0p4
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Dropdown menu covers the button when there is no space for it from below
- WebCamDevice only returns one rear-facing camera when built on Android
- Reimporting a Scripted Importer Asset when Profiler is recording will make it null
- Created Import Issue Asset doesn't show up in the Project window until the Unity Editor is restarted
- [Android] Application name with an ampersand is removed and replaced with an underscore in 2021 LTS and up