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.
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
- Crash when trying to force Shader to interpret 1/30 as a floating point operation
- Terrain is flickering when adjusting "Compatibility Mode" and "Use Rendering Layers" Settings
- Isometric tiles are flickering and overlapping each other when entering Play Mode with Tilemap Renderer mode set to "Chunk"
- Crash on ParticleSystemParticles::array_reserve when particle system starts
- Docking Text Property Preview Window next to UI Builder breaks the window and causes NullReferenceException
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 ?