Page MenuHome

Cycles limits textures at 62 inside one material
Closed, ArchivedPublic

Description

System Information
Ryzen7 1700, GTX 1050Ti, 16 GB RAM, Win10

Blender Version
Broken: 2.79

Short description of error
Can't utilize more than 62 textures inside one material

Exact steps for others to reproduce the error
Open file, hit f12 - rendering OK
Unmute muted node, hit f12 - textures disappear. Intersting thing, that enabling Open Shading Language solves this problem.

File with packed images:

Details

Type
Bug

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Confirmed priority.Apr 11 2018, 3:03 PM

Just a first note: can confirm this.

Hm, it's running against the stack size limit, see here

Cycles: out of SVM stack space, shader "Material.001" too big.

If I increase SVM_STACK_SIZE from 255 to something bigger like 511 I can actually render this OK.

(but I really have not enough experience to judge which consequences might arise from that...)

Will read the code a bit further, but maybe @Brecht Van Lommel (brecht) can take over and share his wisdom?

Sergey Sharybin (sergey) closed this task as Archived.Apr 12 2018, 3:33 PM

Increasing SVM stack size will marginally increase GPU memory usage.

Some time ago iv'e tried to use more adaptively allocated memory for SVM evaluation, but that causes slowdown since the memory was no longer on stack.

This is an issue in general, which doesn't have simple solution. Doing something like D1676 could help here, but then still would need some heuristic to deduct execution groups for cases when there are no node groups.

Would rather consider this a TODO.

Thanks for the report anyway!

Could you explain please, why does Open Shading Language help in this situation? Enabling this thing was kind of desperate move, but helpfull in this case, so I am intersted in a bit more info

When rendering with OSL it compiles the shaders to native code and executes that, the SVM shader stack isn't used