Blender V4.3
types_int8.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#pragma once
6
7#ifndef __UTIL_TYPES_H__
8# error "Do not include this file directly, include util/types.h instead."
9#endif
10
12
13struct vfloat8;
14
15#ifdef __KERNEL_GPU__
16struct vint8
17#else
18struct ccl_try_align(32) vint8
19#endif
20{
21#ifdef __KERNEL_AVX__
22 union {
23 __m256i m256;
24 struct {
25 int a, b, c, d, e, f, g, h;
26 };
27 };
28
29 __forceinline vint8();
30 __forceinline vint8(const vint8 &a);
31 __forceinline explicit vint8(const __m256i &a);
32
33 __forceinline operator const __m256i &() const;
34 __forceinline operator __m256i &();
35
36 __forceinline vint8 &operator=(const vint8 &a);
37#else /* __KERNEL_AVX__ */
38 int a, b, c, d, e, f, g, h;
39#endif /* __KERNEL_AVX__ */
40
41#ifndef __KERNEL_GPU__
42 __forceinline int operator[](int i) const;
43 __forceinline int &operator[](int i);
44#endif
45};
46
47ccl_device_inline vint8 make_vint8(int a, int b, int c, int d, int e, int f, int g, int h);
48ccl_device_inline vint8 make_vint8(int i);
49ccl_device_inline vint8 make_vint8(const vfloat8 f);
50ccl_device_inline vint8 make_vint8(const int4 a, const int4 b);
51
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
btGeneric6DofConstraint & operator=(btGeneric6DofConstraint &other)
SIMD_FORCE_INLINE btVector3 & operator[](int i)
Get a mutable reference to a row of the matrix as a vector.
local_group_size(16, 16) .push_constant(Type b
#define ccl_device_inline
#define CCL_NAMESPACE_END
#define ccl_try_align(...)
#define __forceinline
ccl_device_inline vint8 make_vint8(int a, int b, int c, int d, int e, int f, int g, int h)