Cycles OpenCL: use AoS rather than SoA storage for ShaderData.
Fixes part of the performance regressions compared to 2.76b, see T49046, T48876.
This commit is contained in:
parent
e484fe84cd
commit
d99c513afa
Notes:
blender-bot
2023-02-14 08:59:10 +01:00
Referenced by issue #49152, Segfault at launch possible driver issue Referenced by issue #48876, Firepro w8100 2.77a render time problem
|
@ -745,7 +745,7 @@ enum ShaderDataFlag {
|
|||
|
||||
#ifdef __SPLIT_KERNEL__
|
||||
# define SD_THREAD (get_global_id(1) * get_global_size(0) + get_global_id(0))
|
||||
# if defined(__SPLIT_KERNEL_AOS__)
|
||||
# if !defined(__SPLIT_KERNEL_SOA__)
|
||||
/* ShaderData is stored as an Array-of-Structures */
|
||||
# define ccl_soa_member(type, name) type soa_##name
|
||||
# define ccl_fetch(s, t) (s[SD_THREAD].soa_##t)
|
||||
|
|
Loading…
Reference in New Issue