Search Issue Tracker
Fixed in 2017.1.X
Votes
0
Found in
2017.1.0a5
Issue ID
894284
Regression
No
Shader compiler considers '//' after #pragma directive as an input variant
Steps to repro:
1. Open attached project;
2. In the Project folder go to Assets -> Materials;
3. Open 'StandardTest' shader;
4. Notice that in the Inspector warning "multi_compile keywords must start with a letter or underscore, ignoring '//' " is displayed.
5. Delete comment in line 88;
6. Save shader file;
7. Notice that shader compiled successfully. See attached video for clarity.
Expected result:
Shader compiler should treat '//' symbols coming after #pragma directive as a start of a comment, not as an input variant.
In this case, shader should compile with a line like that: ' #pragma multi_compile _ LOD_FADE_CROSSFADE // uncomment to enable dithering LOD crossfade'.
Notes:
- Reproducible on Windows 10 and OSX 10.12.3;
- Reproducible in 2017.1.0a5, 5.6.0f2, 5.5.2p1.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on PluginManager::RefreshPlugins when closing the Editor without making any changes with JetBrains Rider selected as the External Code Editor and Google Mobile Ads third-party plugin imported
- GetMainLight() returns incorrect distanceAttenuation value for a Custom Shader when URP Forward+ Rendering Path is used
- Standalone Profiler crash on GuidReservations::Reserve when it is opened on a specific project
- m_RenderPipelineGlobalSettingsMap or m_SRPDefaultSettings is pointing to UnityEngine.Rendering.HighDefinition.HDRenderPipeline when High Definition RP package is removed
- Rendering Debugger fields have no padding at the bottom of the fields list
Add comment