Search Issue Tracker
Third Party Issue
Votes
1
Found in
2020.3.40f1
2021.3.11f1
2022.1.18f1
2022.2.0b10
2023.1.0a13
Issue ID
UUM-16504
Regression
No
Error "Shader compiler: Compile marchingCubesGridProcessing.compute - CSMain: Internal error communicating with the shader compiler process" occurs when entering Play mode
Steps to reproduce:
1. Open the user’s project
2. Open the “SampleScene” Scene
3. Enter Play mode
4. Observe the Console
Expected result: There is no “Shader compiler: Compile marchingCubesGridProcessing.compute - CSMain: Internal error communicating with the shader compiler process” error
Actual result: Error “Shader compiler: Compile marchingCubesGridProcessing.compute - CSMain: Internal error communicating with the shader compiler process” occurs
Reproducible with: 2020.3.40f1, 2021.3.11f1, 2022.1.18f1, 2022.2.0b10, 2023.1.0a13
Reproduced on: macOS Monterey 12.5.1 (Intel)
Notes:
- The shader is attached to the “GameObject” GameObject
- The Shader is in the Assets → Shaders folder
- The project does not build because of compiler errors
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
- [Android] [iOS] [UnityWebRequest] Requests with "UnityWebRequest" are open for SSL Proxying
- SetWindowsHookEx does not prevent Windows key input when Editor or Player Window is focused and Active Input Handling is set to “Input System Package (New)” or “Both”
- Crash on GetEffectiveBc7TextureCompressor() when loading and unloading all Assets in the Project
- Terrain Masks do not ignore the mipmap limit
- "Build And Run" the project for Web is allowed even though the directory for the non-default browser is not selected
Resolution Note:
The compute shader uses more than 64 KiB data in a single constant buffer. "int triTable[256][16]" is exactly 64 KiB, and there's other data as well.
The D3D compiler that we use crashes when this happens, so we can't fix the issue. A workaround is to pack the table data into arrays of int4, or to put the table into a separate constant buffer and fill it from C#.