Search Issue Tracker
Fixed in 2021.2.X
Fixed in 2019.4.X, 2020.3.X, 2021.1.X
GL shader reflection is truncated or crash occurs when struct is used from named CBuffer with at least one other constant
1. Add the attached shader "GLES3_GLCore_struct_name_reflection_truncation.shader" to a project
2. Select the shader
3. In the shader's Inspector Window select the dropdown next to "Compile and show code" and tick "Custom" and "OpenGLCore" or "GLES3x"
4. Click the "Compile and show code" button
The "Compile and show code" output for OpenGLCore and GLES3 contains "Vector4 myStruct.m_Float4" in the 'Constant Buffer "NamedCBuffer"' section
The "Compile and show code" output for OpenGLCore and GLES3 contains "Vector4 myStru.m_Float4" in the 'Constant Buffer "NamedCBuffer"' section (2 chars from the struct name are truncated). Also the following error is printed: "Struct 'myStru' is not found." to the Console Window
Note: if the shader constant "anyConstant" is moved from the "NamedCBuffer" to the global scope (as seen in attached "GLES3_GLCore_compiler_crash.shader"), and "Compile and show code" is run for the mentioned GL targets, it will crash the compiler, resulting in an empty output and error:
"Shader compiler: Compile GLES3_GLCore_struct_name_reflection_truncation - <Unnamed Pass>, Vertex Program: Internal error, unrecognized message from the shader compiler process. Please report a bug including this shader and the editor log."
Reproducible in: 2021.2.0a7, 2021.1.0b9, 2020.2.6f1, 2020.1.17f1, 2019.4.21f1
Couldn't reproduce in: 2018.4.32f1
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- 1 frame long audio clip plays an inconsistent audio sample or does not play at all in the Timeline
- SerializedObject ApplyModifiedProperties is not returning true when editing a List field with custom editor code
- Labels Overlap in NavMeshObstacle Inspector when shape is set to "Box" and Inspector's width is small
- [Enlighten] Server build starts Enlighten worker threads
- Semi transparent particles are incorrect in the game view