forked from bartvdbraak/blender
CLeanup: clang-format
This commit is contained in:
parent
452674db30
commit
baa4b5e93c
@ -83,7 +83,7 @@ ccl_device float curve_attribute_float(
|
||||
|
||||
return (1.0f - sd->u) * f0 + sd->u * f1;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
# ifdef __RAY_DIFFERENTIALS__
|
||||
if (dx)
|
||||
*dx = 0.0f;
|
||||
@ -143,7 +143,7 @@ ccl_device float2 curve_attribute_float2(KernelGlobals *kg,
|
||||
|
||||
return (1.0f - sd->u) * f0 + sd->u * f1;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
# ifdef __RAY_DIFFERENTIALS__
|
||||
if (dx)
|
||||
*dx = make_float2(0.0f, 0.0f);
|
||||
@ -203,7 +203,7 @@ ccl_device float3 curve_attribute_float3(KernelGlobals *kg,
|
||||
|
||||
return (1.0f - sd->u) * f0 + sd->u * f1;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
# ifdef __RAY_DIFFERENTIALS__
|
||||
if (dx)
|
||||
*dx = make_float3(0.0f, 0.0f, 0.0f);
|
||||
|
@ -217,7 +217,7 @@ ccl_device_noinline float subd_triangle_attribute_float(
|
||||
|
||||
return sd->u * a + sd->v * b + (1.0f - sd->u - sd->v) * c;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = 0.0f;
|
||||
if (dy)
|
||||
@ -360,7 +360,7 @@ ccl_device_noinline float2 subd_triangle_attribute_float2(KernelGlobals *kg,
|
||||
|
||||
return sd->u * a + sd->v * b + (1.0f - sd->u - sd->v) * c;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = make_float2(0.0f, 0.0f);
|
||||
if (dy)
|
||||
@ -502,7 +502,7 @@ ccl_device_noinline float3 subd_triangle_attribute_float3(KernelGlobals *kg,
|
||||
|
||||
return sd->u * a + sd->v * b + (1.0f - sd->u - sd->v) * c;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = make_float3(0.0f, 0.0f, 0.0f);
|
||||
if (dy)
|
||||
@ -608,7 +608,7 @@ ccl_device_noinline float4 subd_triangle_attribute_float4(KernelGlobals *kg,
|
||||
|
||||
return sd->u * a + sd->v * b + (1.0f - sd->u - sd->v) * c;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
if (dy)
|
||||
|
@ -153,7 +153,7 @@ ccl_device float triangle_attribute_float(
|
||||
|
||||
return sd->u * f0 + sd->v * f1 + (1.0f - sd->u - sd->v) * f2;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = 0.0f;
|
||||
if (dy)
|
||||
@ -220,7 +220,7 @@ ccl_device float2 triangle_attribute_float2(KernelGlobals *kg,
|
||||
|
||||
return sd->u * f0 + sd->v * f1 + (1.0f - sd->u - sd->v) * f2;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = make_float2(0.0f, 0.0f);
|
||||
if (dy)
|
||||
@ -288,7 +288,7 @@ ccl_device float3 triangle_attribute_float3(KernelGlobals *kg,
|
||||
|
||||
return sd->u * f0 + sd->v * f1 + (1.0f - sd->u - sd->v) * f2;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = make_float3(0.0f, 0.0f, 0.0f);
|
||||
if (dy)
|
||||
@ -328,7 +328,7 @@ ccl_device float4 triangle_attribute_float4(KernelGlobals *kg,
|
||||
|
||||
return sd->u * f0 + sd->v * f1 + (1.0f - sd->u - sd->v) * f2;
|
||||
}
|
||||
else if(desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
else if (desc.element == ATTR_ELEMENT_OBJECT || desc.element == ATTR_ELEMENT_MESH) {
|
||||
if (dx)
|
||||
*dx = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
if (dy)
|
||||
|
@ -19,4 +19,3 @@
|
||||
#if defined(i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
|
||||
# include "util_avxf_test.h"
|
||||
#endif
|
||||
|
||||
|
@ -24,177 +24,170 @@ bool validate_cpu_capabilities()
|
||||
{
|
||||
|
||||
#ifdef __KERNEL_AVX2__
|
||||
return system_cpu_support_avx2();
|
||||
return system_cpu_support_avx2();
|
||||
#else
|
||||
# ifdef __KERNEL_AVX__
|
||||
return system_cpu_support_avx();
|
||||
return system_cpu_support_avx();
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#define VALIDATECPU \
|
||||
if (!validate_cpu_capabilities()) \
|
||||
return;
|
||||
#define VALIDATECPU \
|
||||
if (!validate_cpu_capabilities()) \
|
||||
return;
|
||||
|
||||
#define compare_vector_scalar(a, b) \
|
||||
for (size_t index = 0; index < a.size; index++) \
|
||||
EXPECT_FLOAT_EQ(a[index], b);
|
||||
#define compare_vector_scalar(a, b) \
|
||||
for (size_t index = 0; index < a.size; index++) \
|
||||
EXPECT_FLOAT_EQ(a[index], b);
|
||||
|
||||
#define compare_vector_vector(a, b) \
|
||||
for (size_t index = 0; index < a.size; index++) \
|
||||
EXPECT_FLOAT_EQ(a[index], b[index]);
|
||||
#define compare_vector_vector(a, b) \
|
||||
for (size_t index = 0; index < a.size; index++) \
|
||||
EXPECT_FLOAT_EQ(a[index], b[index]);
|
||||
|
||||
#define basic_test_vv(a, b, op) \
|
||||
VALIDATECPU \
|
||||
avxf c = a op b; \
|
||||
for (size_t i = 0; i < a.size; i++) \
|
||||
EXPECT_FLOAT_EQ(c[i], a[i] op b[i]);
|
||||
#define basic_test_vv(a, b, op) \
|
||||
VALIDATECPU \
|
||||
avxf c = a op b; \
|
||||
for (size_t i = 0; i < a.size; i++) \
|
||||
EXPECT_FLOAT_EQ(c[i], a[i] op b[i]);
|
||||
|
||||
/* vector op float tests */
|
||||
#define basic_test_vf(a, b, op) \
|
||||
VALIDATECPU \
|
||||
avxf c = a op b; \
|
||||
for (size_t i = 0; i < a.size; i++) \
|
||||
EXPECT_FLOAT_EQ(c[i], a[i] op b);
|
||||
#define basic_test_vf(a, b, op) \
|
||||
VALIDATECPU \
|
||||
avxf c = a op b; \
|
||||
for (size_t i = 0; i < a.size; i++) \
|
||||
EXPECT_FLOAT_EQ(c[i], a[i] op b);
|
||||
|
||||
const avxf avxf_a(0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f);
|
||||
const avxf avxf_b(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f);
|
||||
const avxf avxf_c(1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f);
|
||||
const float float_b = 1.5f;
|
||||
|
||||
TEST(util_avx, avxf_add_vv){basic_test_vv(avxf_a, avxf_b, +)}
|
||||
TEST(util_avx, avxf_sub_vv){basic_test_vv(avxf_a, avxf_b, -)}
|
||||
TEST(util_avx, avxf_mul_vv){basic_test_vv(avxf_a, avxf_b, *)}
|
||||
TEST(util_avx, avxf_div_vv){basic_test_vv(avxf_a, avxf_b, /)}
|
||||
TEST(util_avx, avxf_add_vf){basic_test_vf(avxf_a, float_b, +)}
|
||||
TEST(util_avx, avxf_sub_vf){basic_test_vf(avxf_a, float_b, -)}
|
||||
TEST(util_avx, avxf_mul_vf){basic_test_vf(avxf_a, float_b, *)}
|
||||
TEST(util_avx, avxf_div_vf){basic_test_vf(avxf_a, float_b, /)}
|
||||
TEST(util_avx, avxf_add_vv){basic_test_vv(avxf_a, avxf_b, +)} TEST(util_avx, avxf_sub_vv){
|
||||
basic_test_vv(avxf_a, avxf_b, -)} TEST(util_avx, avxf_mul_vv){
|
||||
basic_test_vv(avxf_a, avxf_b, *)} TEST(util_avx, avxf_div_vv){
|
||||
basic_test_vv(avxf_a, avxf_b, /)} TEST(util_avx, avxf_add_vf){
|
||||
basic_test_vf(avxf_a, float_b, +)} TEST(util_avx, avxf_sub_vf){
|
||||
basic_test_vf(avxf_a, float_b, -)} TEST(util_avx, avxf_mul_vf){
|
||||
basic_test_vf(avxf_a, float_b, *)} TEST(util_avx,
|
||||
avxf_div_vf){basic_test_vf(avxf_a, float_b, /)}
|
||||
|
||||
TEST(util_avx, avxf_ctor)
|
||||
{
|
||||
VALIDATECPU
|
||||
compare_vector_scalar(avxf(7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f, 0.0f),
|
||||
static_cast<float>(index));
|
||||
compare_vector_scalar(avxf(1.0f), 1.0f);
|
||||
compare_vector_vector(avxf(1.0f, 2.0f),
|
||||
avxf(1.0f, 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f, 2.0f));
|
||||
compare_vector_vector(avxf(1.0f, 2.0f, 3.0f, 4.0f),
|
||||
avxf(1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f));
|
||||
compare_vector_vector(avxf(make_float3(1.0f, 2.0f, 3.0f)),
|
||||
avxf(0.0f, 3.0f, 2.0f, 1.0f, 0.0f, 3.0f, 2.0f, 1.0f));
|
||||
VALIDATECPU
|
||||
compare_vector_scalar(avxf(7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f, 0.0f),
|
||||
static_cast<float>(index));
|
||||
compare_vector_scalar(avxf(1.0f), 1.0f);
|
||||
compare_vector_vector(avxf(1.0f, 2.0f), avxf(1.0f, 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f, 2.0f));
|
||||
compare_vector_vector(avxf(1.0f, 2.0f, 3.0f, 4.0f),
|
||||
avxf(1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f));
|
||||
compare_vector_vector(avxf(make_float3(1.0f, 2.0f, 3.0f)),
|
||||
avxf(0.0f, 3.0f, 2.0f, 1.0f, 0.0f, 3.0f, 2.0f, 1.0f));
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_sqrt)
|
||||
{
|
||||
VALIDATECPU
|
||||
compare_vector_vector(
|
||||
mm256_sqrt(
|
||||
avxf(1.0f, 4.0f, 9.0f, 16.0f, 25.0f, 36.0f, 49.0f, 64.0f)),
|
||||
avxf(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f));
|
||||
VALIDATECPU
|
||||
compare_vector_vector(mm256_sqrt(avxf(1.0f, 4.0f, 9.0f, 16.0f, 25.0f, 36.0f, 49.0f, 64.0f)),
|
||||
avxf(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f));
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_min_max)
|
||||
{
|
||||
VALIDATECPU
|
||||
compare_vector_vector(min(avxf_a, avxf_b), avxf_a);
|
||||
compare_vector_vector(max(avxf_a, avxf_b), avxf_b);
|
||||
VALIDATECPU
|
||||
compare_vector_vector(min(avxf_a, avxf_b), avxf_a);
|
||||
compare_vector_vector(max(avxf_a, avxf_b), avxf_b);
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_set_sign)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = set_sign_bit<1, 0, 0, 0, 0, 0, 0, 0>(avxf_a);
|
||||
compare_vector_vector(
|
||||
res, avxf(0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, -0.8f));
|
||||
VALIDATECPU
|
||||
avxf res = set_sign_bit<1, 0, 0, 0, 0, 0, 0, 0>(avxf_a);
|
||||
compare_vector_vector(res, avxf(0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, -0.8f));
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_msub)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = msub(avxf_a, avxf_b, avxf_c);
|
||||
avxf exp = avxf((avxf_a[7] * avxf_b[7]) - avxf_c[7],
|
||||
(avxf_a[6] * avxf_b[6]) - avxf_c[6],
|
||||
(avxf_a[5] * avxf_b[5]) - avxf_c[5],
|
||||
(avxf_a[4] * avxf_b[4]) - avxf_c[4],
|
||||
(avxf_a[3] * avxf_b[3]) - avxf_c[3],
|
||||
(avxf_a[2] * avxf_b[2]) - avxf_c[2],
|
||||
(avxf_a[1] * avxf_b[1]) - avxf_c[1],
|
||||
(avxf_a[0] * avxf_b[0]) - avxf_c[0]);
|
||||
compare_vector_vector(res, exp);
|
||||
VALIDATECPU
|
||||
avxf res = msub(avxf_a, avxf_b, avxf_c);
|
||||
avxf exp = avxf((avxf_a[7] * avxf_b[7]) - avxf_c[7],
|
||||
(avxf_a[6] * avxf_b[6]) - avxf_c[6],
|
||||
(avxf_a[5] * avxf_b[5]) - avxf_c[5],
|
||||
(avxf_a[4] * avxf_b[4]) - avxf_c[4],
|
||||
(avxf_a[3] * avxf_b[3]) - avxf_c[3],
|
||||
(avxf_a[2] * avxf_b[2]) - avxf_c[2],
|
||||
(avxf_a[1] * avxf_b[1]) - avxf_c[1],
|
||||
(avxf_a[0] * avxf_b[0]) - avxf_c[0]);
|
||||
compare_vector_vector(res, exp);
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_madd)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = madd(avxf_a, avxf_b, avxf_c);
|
||||
avxf exp = avxf((avxf_a[7] * avxf_b[7]) + avxf_c[7],
|
||||
(avxf_a[6] * avxf_b[6]) + avxf_c[6],
|
||||
(avxf_a[5] * avxf_b[5]) + avxf_c[5],
|
||||
(avxf_a[4] * avxf_b[4]) + avxf_c[4],
|
||||
(avxf_a[3] * avxf_b[3]) + avxf_c[3],
|
||||
(avxf_a[2] * avxf_b[2]) + avxf_c[2],
|
||||
(avxf_a[1] * avxf_b[1]) + avxf_c[1],
|
||||
(avxf_a[0] * avxf_b[0]) + avxf_c[0]);
|
||||
compare_vector_vector(res, exp);
|
||||
VALIDATECPU
|
||||
avxf res = madd(avxf_a, avxf_b, avxf_c);
|
||||
avxf exp = avxf((avxf_a[7] * avxf_b[7]) + avxf_c[7],
|
||||
(avxf_a[6] * avxf_b[6]) + avxf_c[6],
|
||||
(avxf_a[5] * avxf_b[5]) + avxf_c[5],
|
||||
(avxf_a[4] * avxf_b[4]) + avxf_c[4],
|
||||
(avxf_a[3] * avxf_b[3]) + avxf_c[3],
|
||||
(avxf_a[2] * avxf_b[2]) + avxf_c[2],
|
||||
(avxf_a[1] * avxf_b[1]) + avxf_c[1],
|
||||
(avxf_a[0] * avxf_b[0]) + avxf_c[0]);
|
||||
compare_vector_vector(res, exp);
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_nmadd)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = nmadd(avxf_a, avxf_b, avxf_c);
|
||||
avxf exp = avxf(avxf_c[7] - (avxf_a[7] * avxf_b[7]),
|
||||
avxf_c[6] - (avxf_a[6] * avxf_b[6]),
|
||||
avxf_c[5] - (avxf_a[5] * avxf_b[5]),
|
||||
avxf_c[4] - (avxf_a[4] * avxf_b[4]),
|
||||
avxf_c[3] - (avxf_a[3] * avxf_b[3]),
|
||||
avxf_c[2] - (avxf_a[2] * avxf_b[2]),
|
||||
avxf_c[1] - (avxf_a[1] * avxf_b[1]),
|
||||
avxf_c[0] - (avxf_a[0] * avxf_b[0]));
|
||||
compare_vector_vector(res, exp);
|
||||
VALIDATECPU
|
||||
avxf res = nmadd(avxf_a, avxf_b, avxf_c);
|
||||
avxf exp = avxf(avxf_c[7] - (avxf_a[7] * avxf_b[7]),
|
||||
avxf_c[6] - (avxf_a[6] * avxf_b[6]),
|
||||
avxf_c[5] - (avxf_a[5] * avxf_b[5]),
|
||||
avxf_c[4] - (avxf_a[4] * avxf_b[4]),
|
||||
avxf_c[3] - (avxf_a[3] * avxf_b[3]),
|
||||
avxf_c[2] - (avxf_a[2] * avxf_b[2]),
|
||||
avxf_c[1] - (avxf_a[1] * avxf_b[1]),
|
||||
avxf_c[0] - (avxf_a[0] * avxf_b[0]));
|
||||
compare_vector_vector(res, exp);
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_compare)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf a(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f);
|
||||
avxf b(7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f, 0.0f);
|
||||
avxb res = a <= b;
|
||||
int exp[8] = {
|
||||
a[0] <= b[0] ? -1 : 0,
|
||||
a[1] <= b[1] ? -1 : 0,
|
||||
a[2] <= b[2] ? -1 : 0,
|
||||
a[3] <= b[3] ? -1 : 0,
|
||||
a[4] <= b[4] ? -1 : 0,
|
||||
a[5] <= b[5] ? -1 : 0,
|
||||
a[6] <= b[6] ? -1 : 0,
|
||||
a[7] <= b[7] ? -1 : 0,
|
||||
};
|
||||
compare_vector_vector(res, exp);
|
||||
VALIDATECPU
|
||||
avxf a(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f);
|
||||
avxf b(7.0f, 6.0f, 5.0f, 4.0f, 3.0f, 2.0f, 1.0f, 0.0f);
|
||||
avxb res = a <= b;
|
||||
int exp[8] = {
|
||||
a[0] <= b[0] ? -1 : 0,
|
||||
a[1] <= b[1] ? -1 : 0,
|
||||
a[2] <= b[2] ? -1 : 0,
|
||||
a[3] <= b[3] ? -1 : 0,
|
||||
a[4] <= b[4] ? -1 : 0,
|
||||
a[5] <= b[5] ? -1 : 0,
|
||||
a[6] <= b[6] ? -1 : 0,
|
||||
a[7] <= b[7] ? -1 : 0,
|
||||
};
|
||||
compare_vector_vector(res, exp);
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_permute)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = permute<3, 0, 1, 7, 6, 5, 2, 4>(avxf_b);
|
||||
compare_vector_vector(res,
|
||||
avxf(4.0f, 6.0f, 3.0f, 2.0f, 1.0f, 7.0f, 8.0f, 5.0f));
|
||||
VALIDATECPU
|
||||
avxf res = permute<3, 0, 1, 7, 6, 5, 2, 4>(avxf_b);
|
||||
compare_vector_vector(res, avxf(4.0f, 6.0f, 3.0f, 2.0f, 1.0f, 7.0f, 8.0f, 5.0f));
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_blend)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = blend<0, 0, 1, 0, 1, 0, 1, 0>(avxf_a, avxf_b);
|
||||
compare_vector_vector(res,
|
||||
avxf(0.1f, 0.2f, 3.0f, 0.4f, 5.0f, 0.6f, 7.0f, 0.8f));
|
||||
VALIDATECPU
|
||||
avxf res = blend<0, 0, 1, 0, 1, 0, 1, 0>(avxf_a, avxf_b);
|
||||
compare_vector_vector(res, avxf(0.1f, 0.2f, 3.0f, 0.4f, 5.0f, 0.6f, 7.0f, 0.8f));
|
||||
}
|
||||
|
||||
TEST(util_avx, avxf_shuffle)
|
||||
{
|
||||
VALIDATECPU
|
||||
avxf res = shuffle<0, 1, 2, 3, 1, 3, 2, 0>(avxf_a);
|
||||
compare_vector_vector(res,
|
||||
avxf(0.4f, 0.2f, 0.1f, 0.3f, 0.5f, 0.6f, 0.7f, 0.8f));
|
||||
VALIDATECPU
|
||||
avxf res = shuffle<0, 1, 2, 3, 1, 3, 2, 0>(avxf_a);
|
||||
compare_vector_vector(res, avxf(0.4f, 0.2f, 0.1f, 0.3f, 0.5f, 0.6f, 0.7f, 0.8f));
|
||||
}
|
||||
|
||||
/* XXX Test Fails on AVX2, needs further investigation before it can be enabled */
|
||||
@ -217,11 +210,11 @@ TEST(util_avx, avxf_cross)
|
||||
|
||||
TEST(util_avx, avxf_dot3)
|
||||
{
|
||||
VALIDATECPU
|
||||
float den, den2;
|
||||
dot3(avxf_a, avxf_b, den, den2);
|
||||
EXPECT_FLOAT_EQ(den, 14.9f);
|
||||
EXPECT_FLOAT_EQ(den2, 2.9f);
|
||||
VALIDATECPU
|
||||
float den, den2;
|
||||
dot3(avxf_a, avxf_b, den, den2);
|
||||
EXPECT_FLOAT_EQ(den, 14.9f);
|
||||
EXPECT_FLOAT_EQ(den2, 2.9f);
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
@ -1060,7 +1060,7 @@ IDOverrideLibraryProperty *RNA_property_override_property_find(PointerRNA *ptr,
|
||||
char *rna_path = RNA_path_from_ID_to_property(ptr, prop);
|
||||
if (rna_path) {
|
||||
IDOverrideLibraryProperty *op = BKE_lib_override_library_property_find(id->override_library,
|
||||
rna_path);
|
||||
rna_path);
|
||||
MEM_freeN(rna_path);
|
||||
return op;
|
||||
}
|
||||
|
@ -1297,14 +1297,14 @@ static int rna_property_override_diff_propptr(Main *bmain,
|
||||
if (op != NULL && (created || rna_itemname_a != NULL || rna_itemname_b != NULL ||
|
||||
rna_itemindex_a != -1 || rna_itemindex_b != -1)) {
|
||||
BKE_lib_override_library_property_operation_get(op,
|
||||
IDOVERRIDE_LIBRARY_OP_REPLACE,
|
||||
rna_itemname_b,
|
||||
rna_itemname_a,
|
||||
rna_itemindex_b,
|
||||
rna_itemindex_a,
|
||||
true,
|
||||
NULL,
|
||||
&created);
|
||||
IDOVERRIDE_LIBRARY_OP_REPLACE,
|
||||
rna_itemname_b,
|
||||
rna_itemname_a,
|
||||
rna_itemindex_b,
|
||||
rna_itemindex_a,
|
||||
true,
|
||||
NULL,
|
||||
&created);
|
||||
if (r_override_changed) {
|
||||
*r_override_changed = created;
|
||||
}
|
||||
@ -1814,14 +1814,14 @@ int rna_property_override_diff_default(Main *bmain,
|
||||
}
|
||||
|
||||
BKE_lib_override_library_property_operation_get(op,
|
||||
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
|
||||
NULL,
|
||||
prev_propname_a,
|
||||
-1,
|
||||
idx_a - 1,
|
||||
true,
|
||||
NULL,
|
||||
NULL);
|
||||
IDOVERRIDE_LIBRARY_OP_INSERT_AFTER,
|
||||
NULL,
|
||||
prev_propname_a,
|
||||
-1,
|
||||
idx_a - 1,
|
||||
true,
|
||||
NULL,
|
||||
NULL);
|
||||
# if 0
|
||||
printf("%s: Adding insertion op override after '%s'/%d\n",
|
||||
rna_path,
|
||||
|
Loading…
Reference in New Issue
Block a user