Search Issue Tracker
Won't Fix
Votes
0
Found in
2019.4
2020.3
2021.1.27f1
2021.2
2022.1
Issue ID
1378113
Regression
No
Multiple Shader Compiler errors are thrown when compiling a Shader
How to reproduce:
1. Open the user-submitted project
2. In the project window, search for and select the shader "VoronoiFragment"
3. In the Inspector window, select "Compile and show code"
4. Inspect the Console window (Window > General > Console)
Expected result: No errors are seen in the Console
Actual result: Multiple errors are seen in the Console
Reproducible with: 2019.4.33f1, 2020.3.24f1, 2021.2.4f1, 2022.1.0a16
Errors:
Shader Compiler IPC Exception: Terminating shader compiler process
Shader compiler: Compile Unlit/VornoiFragment - <Unnamed Pass>, Fragment Program: Internal error communicating with the shader compiler process. Please report a bug including this shader and the editor log.
-
domportera
Nov 25, 2021 08:53
Hi, I am the one who reported this bug.
We were able to circumvent it because we found the specific cause of it - trying to sample a Texture2D variable. We had created a function for returning one of several textures, then sampled the result of that function after storing it in a variable. This caused the compiler to fail. I forget the specific line, though.
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
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note:
This is dying inside the DirectX shader compiler.
The reason it's crashing is because you're assigning textures in branches which is illegal in FXC (around line 572).
This can also be seen by commenting out the line: finalCol = contentTex.Sample(my_point_clamp_sampler, samplerValue);
which is what reads the texture that is assigned in the conditional.
As this is code we don't own we can't fix this. There's also no way to pre-emptively check this.