4 #ifndef __UTIL_HASH_H__
5 #define __UTIL_HASH_H__
15 #define rot(x, k) (((x) << (k)) | ((x) >> (32 - (k))))
17 #define mix(a, b, c) \
40 #define final(a, b, c) \
62 a =
b =
c = 0xdeadbeef + (1 << 2) + 13;
73 a =
b =
c = 0xdeadbeef + (2 << 2) + 13;
85 a =
b =
c = 0xdeadbeef + (3 << 2) + 13;
98 a =
b =
c = 0xdeadbeef + (4 << 2) + 13;
207 #ifdef __KERNEL_SSE2__
208 # define rot(x, k) (((x) << (k)) | (srl(x, 32 - (k))))
210 # define mix(a, b, c) \
232 # define final(a, b, c) \
253 a =
b =
c = ssei(0xdeadbeef + (1 << 2) + 13);
264 a =
b =
c = ssei(0xdeadbeef + (2 << 2) + 13);
276 a =
b =
c = ssei(0xdeadbeef + (3 << 2) + 13);
289 a =
b =
c = ssei(0xdeadbeef + (4 << 2) + 13);
302 # if defined(__KERNEL_AVX__)
306 a =
b =
c =
avxi(0xdeadbeef + (1 << 2) + 13);
317 a =
b =
c =
avxi(0xdeadbeef + (2 << 2) + 13);
329 a =
b =
c =
avxi(0xdeadbeef + (3 << 2) + 13);
342 a =
b =
c =
avxi(0xdeadbeef + (4 << 2) + 13);
362 #ifndef __KERNEL_GPU__
typedef float(TangentPoint)[2]
#define ccl_device_inline
#define CCL_NAMESPACE_END
static uint hash_string(const char *str)
ccl_device_inline uint hash_uint2(uint kx, uint ky)
ccl_device_inline float hash_uint_to_float(uint kx)
ccl_device_inline float3 hash_float_to_float3(float k)
ccl_device_inline float3 hash_float4_to_float3(float4 k)
ccl_device_inline float hash_float_to_float(float k)
ccl_device_inline float3 hash_float2_to_float3(float2 k)
ccl_device_inline float2 hash_float2_to_float2(float2 k)
ccl_device_inline float hash_float2_to_float(float2 k)
ccl_device_inline uint hash_uint3(uint kx, uint ky, uint kz)
ccl_device_inline float hash_float4_to_float(float4 k)
ccl_device_inline uint hash_uint4(uint kx, uint ky, uint kz, uint kw)
ccl_device_inline float hash_uint4_to_float(uint kx, uint ky, uint kz, uint kw)
ccl_device_inline float4 hash_float4_to_float4(float4 k)
ccl_device_inline uint hash_uint(uint kx)
ccl_device_inline float hash_uint2_to_float(uint kx, uint ky)
ccl_device_inline float hash_float3_to_float(float3 k)
ccl_device_inline float3 hash_float3_to_float3(float3 k)
ccl_device_inline float hash_uint3_to_float(uint kx, uint ky, uint kz)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
ccl_device_inline uint __float_as_uint(float f)