Search Issue Tracker
Third Party Issue
Votes
0
Found in
2019.4
2020.3
2020.3.19f1
2021.1
2021.2
2022.1
Issue ID
1368661
Regression
No
Compute shader cannot compile when using "for loops" on a 2D static array with 255 or more rows
Reproduction steps:
1. Open project "ComputeShaderLoop"
2. If you don't immediately see the errors, open Scripts/MeshGenerator and click "Show compiled code" in the Inspector
Expected result: No errors are shown and the script compiles
Actual result: These errors are shown and the script doesn't compile:
"Shader Compiler IPC Exception: Terminating shader compiler process"
"Shader compiler: Compile MeshGenerator.compute - MarchingCubes: Internal error communicating with the shader compiler process. Please report a bug including this shader and the editor log."
"Shader error in 'MeshGenerator': Compiling MarchingCubes: Internal error communicating with the shader compiler process. Please report a bug including this shader and the editor log."
Reproducible with: 2019.4.31f1, 2020.3.20f1, 2021.1.24f1, 2021.2.0b15, 2022.1.0a13
Notes:
- In the "MeshGenerator" script when uncommenting lines 316-328 and commenting out the "for loop", the bug is not reproducible
- If the row length of the "triTable" array is 254 or lower, the bug is not reproducible
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
- Project window button icons are poorly visible and their shades differ in Light theme
- GC.Alloc called by HDRenderPipeline.LensFlareMergeOcclusionDataDrivenPass() when playing the default HDRP Sample Template project
- Automatic LOD fails and SRP Batcher incompatibility occurs when using spline-based quad-topology meshes
- Editor crashes on D3D12GetInterface when repeatedly enabling and disabling 256 text components
- Flickering bright white dots in the Scene when the Android Platform is selected and DX11 Graphics API is used with Iris(R) Xe Graphics GPU
Resolution Note:
This is related to the limit on the size of a constant buffer (65536 bytes). If the sum of sizes of all uniform variables that are declared outside of a constant buffer (and end up in the implicit global constant buffer) exceeds 64KB, the MS D3D11 compiler (FXC) crashes. We haven't found a workaround for this, nor have a reasonable way to detect this before feeding to the compiler.