diff options
Diffstat (limited to 'intern/cycles/util/types_int3_impl.h')
-rw-r--r-- | intern/cycles/util/types_int3_impl.h | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/intern/cycles/util/types_int3_impl.h b/intern/cycles/util/types_int3_impl.h index 1c49e97ad32..abc0f4e4309 100644 --- a/intern/cycles/util/types_int3_impl.h +++ b/intern/cycles/util/types_int3_impl.h @@ -1,20 +1,15 @@ /* SPDX-License-Identifier: Apache-2.0 * Copyright 2011-2022 Blender Foundation */ -#ifndef __UTIL_TYPES_INT3_IMPL_H__ -#define __UTIL_TYPES_INT3_IMPL_H__ +#pragma once #ifndef __UTIL_TYPES_H__ # error "Do not include this file directly, include util/types.h instead." #endif -#ifndef __KERNEL_GPU__ -# include <cstdio> -#endif - CCL_NAMESPACE_BEGIN -#if !defined(__KERNEL_GPU__) || defined(__KERNEL_ONEAPI__) +#ifndef __KERNEL_NATIVE_VECTOR_TYPES__ # ifdef __KERNEL_SSE__ __forceinline int3::int3() { @@ -45,6 +40,7 @@ __forceinline int3 &int3::operator=(const int3 &a) } # endif /* __KERNEL_SSE__ */ +# ifndef __KERNEL_GPU__ __forceinline int int3::operator[](int i) const { util_assert(i >= 0); @@ -58,25 +54,33 @@ __forceinline int &int3::operator[](int i) util_assert(i < 3); return *(&x + i); } +# endif ccl_device_inline int3 make_int3(int i) { -# ifdef __KERNEL_SSE__ - int3 a(_mm_set1_epi32(i)); +# ifdef __KERNEL_GPU__ + int3 a = {i, i, i}; # else +# ifdef __KERNEL_SSE__ + int3 a(_mm_set1_epi32(i)); +# else int3 a = {i, i, i, i}; +# endif # endif return a; } ccl_device_inline int3 make_int3(int x, int y, int z) { -# ifdef __KERNEL_SSE__ - int3 a(_mm_set_epi32(0, z, y, x)); +# ifdef __KERNEL_GPU__ + int3 a = {x, y, z}; # else +# ifdef __KERNEL_SSE__ + int3 a(_mm_set_epi32(0, z, y, x)); +# else int3 a = {x, y, z, 0}; +# endif # endif - return a; } @@ -84,8 +88,6 @@ ccl_device_inline void print_int3(const char *label, const int3 &a) { printf("%s: %d %d %d\n", label, a.x, a.y, a.z); } -#endif /* !defined(__KERNEL_GPU__) || defined(__KERNEL_ONEAPI__) */ +#endif /* __KERNEL_NATIVE_VECTOR_TYPES__ */ CCL_NAMESPACE_END - -#endif /* __UTIL_TYPES_INT3_IMPL_H__ */ |