Search Issue Tracker
In Progress
Under Consideration for 2021.3.X, 2022.3.X
Won't Fix in 2023.2.X
Votes
0
Found in
2021.3.35f1
2022.3.20f1
2023.2.10f1
2023.3.0b7
2024.1.0a1
6000.0.0b11
Issue ID
UUM-64323
Regression
No
HLSLcc generates suboptimal code that involves meaningless double conversions
*Steps to reproduce:*
1. Create a new unlit shader
2. Put the following code in the fragment function:
```
int x[3][3][3] = {
{ { -1, -2, -1 }, { -2, -4, -2 }, { -1, -2, -1 } },
{ { +0, +0, +0 }, { +0, +0, +0 }, { +0, +0, +0 } },
{ { +1, +2, +1 }, { +2, +4, +2 }, { +1, +2, +1 } }
};
half4 col = tex2D(_MainTex, i.uv);
return col * half4(x[0][0][0], x[1][1][1], x[2][2][2], 1.0);
```
3. Inspect the shader code compiled for GLES3 (same code is used for Vulkan and WebGL/WebGPU).
*Actual results:*
The data from the array 'x' gets stored as floats using 'intBitsToFloat', then gets converted back to int using 'floatBitsToInt', then gets converted to float using the regular cast.
*Expected results:*
No interim conversions between bit representations happen.
*Reproducible with versions:*
2024.1, 2023.3, 2023.2, 2022.3, 2021.3
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
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
Resolution Note (2023.2.X):
Closing as Won't fix due to 2023.2 reaching it's EOL.