Cycles: use packed float3 back for oneAPI

This fixes a 15% performance regression silently introduced by
79ab76e156 that aligned the compact
float3 on 16 bytes for oneAPI.
Current change is minimalist, there are further cleanup opportunities
such as removing packed_float3 definition for oneAPI but for some
reason, it cuts the recovered speedup in half, so we're starting with
this small fix for now.

Reviewed by: brecht

Differential Revision: https://developer.blender.org/D16340
This commit is contained in:
Xavier Hallade 2022-10-26 10:35:18 +02:00
parent 633d314b75
commit 4b14b33ea8
1 changed files with 5 additions and 0 deletions

View File

@ -10,7 +10,12 @@
CCL_NAMESPACE_BEGIN
#ifndef __KERNEL_NATIVE_VECTOR_TYPES__
# ifdef __KERNEL_ONEAPI__
/* Define float3 as packed for oneAPI. */
struct float3
# else
struct ccl_try_align(16) float3
# endif
{
# ifdef __KERNEL_GPU__
/* Compact structure for GPU. */