diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-11-12 18:43:43 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-11-12 22:03:46 +0300 |
commit | b4d9b8b7f8d69165bec0c0006cbc1cd03e769081 (patch) | |
tree | 1aee76caaac483c2b103a8a1cb092965c4458f03 /intern/cycles/scene/osl.cpp | |
parent | ef0b8d6306e5e1cddf1d7a2087e5589adcf74172 (diff) |
Fix T91893, T92455: wrong transmission pass with hair and multiscatter glass
We need to increase GPU memory usage a bit. Unfortunately we can't get away
with writing either reflection or transmission passes because these BSDFs may
scatter in either direction but still must be in a fixed reflection or
transmission category to match up with the color passes.
Diffstat (limited to 'intern/cycles/scene/osl.cpp')
-rw-r--r-- | intern/cycles/scene/osl.cpp | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/intern/cycles/scene/osl.cpp b/intern/cycles/scene/osl.cpp index c5f38d4f270..0844bff7d4a 100644 --- a/intern/cycles/scene/osl.cpp +++ b/intern/cycles/scene/osl.cpp @@ -274,19 +274,26 @@ void OSLShaderManager::shading_system_init() "diffuse_ancestor", /* PATH_RAY_DIFFUSE_ANCESTOR */ - "__unused__", /* PATH_RAY_SINGLE_PASS_DONE */ - "__unused__", /* PATH_RAY_TRANSPARENT_BACKGROUND */ - "__unused__", /* PATH_RAY_TERMINATE_IMMEDIATE */ - "__unused__", /* PATH_RAY_TERMINATE_AFTER_TRANSPARENT */ - "__unused__", /* PATH_RAY_EMISSION */ - "__unused__", /* PATH_RAY_SUBSURFACE */ - "__unused__", /* PATH_RAY_DENOISING_FEATURES */ - "__unused__", /* PATH_RAY_REFLECT_PASS */ - "__unused__", /* PATH_RAY_TRANSMISSION_PASS */ - "__unused__", /* PATH_RAY_VOLUME_PASS */ - "__unused__", /* PATH_RAY_SHADOW_FOR_LIGHT */ - "__unused__", /* PATH_RAY_SHADOW_CATCHER_HIT */ - "__unused__", /* PATH_RAY_SHADOW_CATCHER_PASS */ + /* Remaining irrelevant bits up to 32. */ + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", + "__unused__", }; const int nraytypes = sizeof(raytypes) / sizeof(raytypes[0]); |