Search Issue Tracker
By Design
By Design in 2023.2.X
Votes
0
Found in
2021.3.29f1
2022.3.6f1
2023.1.7f1
2023.2.0b3
Issue ID
UUM-44345
Regression
No
Shader errors while using Vulkan Graphics API when shaders use native 16-bit precision
How to reproduce:
1. Open the “IN-49199_min16float 23(2).zip“ project
2. Open the “SampleScene“
Expected result: No error can be seen in the Console
Actual result: Error is observed in the Console
Reproducible with: 2021.3.29f1, 2022.3.6f1, 2023.1.7f1, 2023.2.0b3
Reproducible on: Windows 10, M1 Apple Silicon and Android devices (Samsung S21).
Error:
Shader error in 'Custom/HalfTextureColor': SV_Position must be a 4-component 32-bit float vector or a composite which recursively contains only such a vector at line 44 (on vulkan)
(in 2022.3.X versions and older)
Shader error in 'Custom/HalfTextureColor': Program 'Frag', fatal error: generated SPIR-V is invalid: According to the Vulkan spec BuiltIn FragCoord variable needs to be a 4-component 32-bit float vector. ID <3> (OpVariable) has components with bit width 16. (on vulkan)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Custom Function" Node "Input" type changes do not immediately show mistmatch errors when set to an incompatible type in Shader Graph
- My Assets list is populated with Asset Packages when setting how many Packages to display before clicking the Load button
- Hub shows 6.0 as Latest LTS when opening a project after deleting its 6.3 Editor version
- Localization Group Rules bypasses Locale logic when SharedGroup asset provided
- UI Toolkit World UI Text Field unfocuses immediately when clicking on it using XR Controller
Resolution Note:
This is expected and the shader errors actually tell the reason. The problem shader is trying to use half typed SV_POSITION, which is not valid. Changing that specific varying to float4 fixes the errors.
Resolution Note (2023.2.X):
This is expected and the shader errors actually tell the reason. The problem shader is trying to use half typed SV_POSITION, which is not valid. Changing that specific varying to float4 fixes the errors.