Page MenuHome

Viewport shading mode "Material" can't render complex material & hang Blender 2.78rc2 for a while.
Closed, ArchivedPublic

Description

System Information
Windows 10 with GTX 1070 (driver version 372.70).

Blender Version
Broken in 2.78rc2 (see splash screen https://dl.dropboxusercontent.com/u/91696727/Blender_2.78_rc2.png )

Short description of error
When complex material assigned to mesh and I'm trying switch viewport shading mode to "Material" - Blender hangs for a minute and a half, than outputs pure black mesh; no matter what settings was set in material properties.

Exact steps for others to reproduce the error

  1. Open attached scene.
  2. Switch viewport shading mode to "Material".

Details

Type
Bug

Event Timeline

Lex (Lex4art) updated the task description. (Show Details)

the nvidia shader compiler is not having happy thoughts about this monster of a shader and calls it quits

Fragment info
-------------
Internal error: assembly compile error for fragment shader at offset 1617046:
-- error message --
line 65811, column 1:  error: too many instructions
Lex (Lex4art) added a comment.EditedSep 17 2016, 10:17 AM

the nvidia shader compiler is not having happy thoughts about this monster of a shader and calls it quits

The strange thing about "Material" viewport rendering mode is that even with simplest material settings it's behave absolutley same (1.5 minute stall, than black mesh in viewport):
https://dl.dropboxusercontent.com/u/91696727/Blender_2.78_rc2_UV_density_checker_experiment.png
Seems that "Material" mode ignores "Mix shader" node Fac inputs like strict "1" or "0" (that's cut off rendering whole complicated brunches of nodes). In "Rendered" view port mode that cut-off works and no problems with rendering here...

P.S. Thanks for your spring blender build with pascal GPU support, saved my summer ).

Sergey Sharybin (sergey) closed this task as Archived.
Sergey Sharybin (sergey) claimed this task.

GLSL code for this shader consists of 5708 lines of code, and that's not counting all the functions which are likely being inlined in there. It's a bit too much for GPU.

Perhaps improvements to the code generation, but this is something which belongs to the new viewport.

So thanks for the report, but considering it a TODO for now.