blender/intern/cycles/device/cpu
Sergey Sharybin a70b34065d Refactor: Cycles: Make kernel_features 64bit
This change adds 32 more bit to store kernel features.

While for a short term it might be possible to make a space for one or
two extra bits, it seems going 64bit is inevitable.

Expanding the field to 64bit might introduce some slowdown due to less
optimal cache, but so is consolidation of existing flags could also
lead to performance drop in certain configurations.

The main tricky part of the change is Metal where function constants
are used to store kernel_features, and 64bit constants are only
available on macOS 12. There is a runtime check for it. On older macOS
versions the flags are stored as a pair of 32bit values. It is slower,
but there are unlikely to be many Cycles users on macOS 11.

Ref #159470

Pull Request: https://projects.blender.org/blender/blender/pulls/162737
2026-08-18 10:41:27 +02:00
..
device.cpp Fix: Stack-buffer-overflow when running the "Save System Info" operator 2025-10-16 20:24:38 +02:00
device.h Refactor: Cycles: Replace new/delete by unique_ptr, in simple cases 2025-01-03 10:23:30 +01:00
device_impl.cpp Refactor: Cycles: Make kernel_features 64bit 2026-08-18 10:41:27 +02:00
device_impl.h Refactor: Cycles: Make kernel_features 64bit 2026-08-18 10:41:27 +02:00
kernel.cpp Cycles: Use RGBE for denoised guiding buffers to reduce memory usage 2025-08-13 10:28:50 +02:00
kernel.h Cycles: Use RGBE for denoised guiding buffers to reduce memory usage 2025-08-13 10:28:50 +02:00
kernel_function.h Cleanup: Cycles: Remove unnecessary SSE4.2 CPU kernel 2025-01-13 10:07:37 +01:00