blender/intern/cycles
Patrick Mours 4635dd6aed Fix T104157: Deleting an active OSL node causes issues
Removing all OSL script nodes from the shader graph would cause that
graph to no longer report it using `KERNEL_FEATURE_SHADER_RAYTRACE`
via `ShaderManager::get_graph_kernel_features`, but the shader object
itself still would have the `has_surface_raytrace` field set.
This caused kernels to be reloaded without shader raytracing support, but
later the `DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE`
kernel would still be invoked since the shader continued to report it
requiring that through the `SD_HAS_RAYTRACE` flag set because of
`has_surface_raytrace`.
Fix that by ensuring `has_surface_raytrace` is reset on every shader update,
so that when all OSL script nodes are deleted it is set to false, and only
stays true when there are still OSL script nodes (or other nodes using it).

Maniphest Tasks: T104157

Differential Revision: https://developer.blender.org/D17140
2023-01-27 16:14:25 +01:00
..
app Cycles: apply basic gamma correction in stadalone OpenImageIO output driver 2022-12-07 18:34:57 +01:00
blender Cycles: update Intel Graphics compiler to 101.4032 on Windows 2023-01-23 19:36:34 +01:00
bvh Cleanup: spelling, punctuation & repeated words in comments 2022-09-17 15:08:40 +10:00
cmake CMake: quiet references to undeclared variable warnings 2023-01-19 17:10:42 +11:00
device Cycles: update Intel Graphics compiler to 101.4032 on Windows 2023-01-23 19:36:34 +01:00
doc Cleanup: cmake formatting 2022-12-17 13:33:27 +11:00
graph CMake: quiet references to undeclared variable warnings 2023-01-19 17:10:42 +11:00
hydra Cleanup: spelling in comments 2022-12-17 13:15:33 +11:00
integrator CMake: quiet references to undeclared variable warnings 2023-01-19 17:10:42 +11:00
kernel Cleanup: remove unused KernelGlobals in microfacet BSDF 2023-01-25 11:26:51 +01:00
scene Fix T104157: Deleting an active OSL node causes issues 2023-01-27 16:14:25 +01:00
session CMake: quiet references to undeclared variable warnings 2023-01-19 17:10:42 +11:00
subd License headers: use SPDX for remaining files in Cycles 2022-02-15 17:52:38 +11:00
test Cycles: remove SSE3 and AVX kernel optimization levels 2023-01-16 17:53:36 +01:00
util Cycles: Use faster and exact GGX VNDF sampling algorithm 2023-01-24 17:59:29 +01:00
CMakeLists.txt Cycles: remove SSE3 and AVX kernel optimization levels 2023-01-16 17:53:36 +01:00