Search Issue Tracker

Fixed in 2022.2.X

Fixed in 2019.4.X, 2020.3.X, 2021.2.X, 2022.1.X

Votes

0

Found in

2019.4

2020.3

2021.2

2022.1

2022.2

Issue ID

1383901

Regression

No

FP32 is used for a temporary variable when compiling a shader

Shader System

-

Reproduction steps:
1. Create a new project
2. Import the attached "NewUnlitShader.shader" Shader
3. Select the "NewUnlitShader.shader" Shader
4. In the Inspector view click on the "Compile and show code" button
5. In the opened Code Editor scroll down
6. Observe the variable to which any "texture" call is assigned

Expected result: The variable name is "u_xlat16_N"
Actual result: The variable name is "u_xlat0"

Reproducible with: 2019.4.33f1, 2020.3.24f1, 2021.2.5f1, 2022.1.0a16

Notes:
- Couldn't test with Vulkan and Direct3D11 Graphics APIs (the script doesn't have variables "u_xlat16_N" or "u_xlat0")
- Reproduced with OpenGLCore and OpenGLes3 Graphics APIs

  1. Resolution Note (fix version 2022.2):

    HLSLcc had overly conservative register usage checks that prevented propagating sampler precision to their respective output temps. Fix incoming.

  2. Resolution Note (fix version 2022.1):

    Fixed in 2022.1.0b15

  3. Resolution Note (fix version 2021.2):

    Fixed in 2021.2.19f1

  4. Resolution Note (fix version 2020.3):

    Fixed in 2020.3.34f1

  5. Resolution Note (fix version 2019.4):

    Fixed in 2019.4.39f1

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.