Search Issue Tracker
Won't Fix
Votes
3
Found in
5.4.0b8
Issue ID
774176
Regression
No
[Shaders] D3DCompiler crashes with too large shader arrays (_CxxThrowException - need more recent D3DCompiler)
Shaders that try to use arrays larger than 64kb in size crash the shader compiler. Missing _CxxThrowException implementation in the underlying wrapper library.
Steps to reproduce:
1. Open Unity on Windows;
2. Open attached project and 'test.unity' scene;
3. Open 'DynamicIndexing.shader' file in shader code Editor (MonoDevelop/Visual Studio);
4. Set uniform shader to some big value (in my case uniform float _Floats[10000]; at line 38);
5. Save shader file and return to Editor.
Actual result:
Shader compiler crashes when overflowing shader array (see attached gif video).
Expected result:
Shader compiler should not crash when overflowing shader array.
Notes:
- Reproducible in Windows 10;
- Reproducible in: 5.4.0b8, 5.4.0b7, 5.3.3f1, 5.3.2f1, 5.3.1f1, 5.2.0f3;
- Not reproducible in OSX 10.11.3.
Comments (1)
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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Quilan1
Jun 07, 2017 10:09
Hi there,
I have the same problem on the 5.6.1 version, I can't use arrays that are 20 000 long (float). Is there any known fixes for this ?