diff options
author | Stephen Hines <srhines@google.com> | 2014-05-30 13:26:31 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-05-30 13:26:31 -0700 |
commit | e65db135769d1f9fa24c9e1f44edffa2f1871eb4 (patch) | |
tree | b75c14847b0af6467ba9bc878b07b893b97420f0 /renderscript | |
parent | 4b7735d48f999833326496b4ddec4bf770925633 (diff) | |
download | prebuilts_sdk-e65db135769d1f9fa24c9e1f44edffa2f1871eb4.zip prebuilts_sdk-e65db135769d1f9fa24c9e1f44edffa2f1871eb4.tar.gz prebuilts_sdk-e65db135769d1f9fa24c9e1f44edffa2f1871eb4.tar.bz2 |
Linux prebuilts for LLVM 3.5 (r209713) rebase.
Change-Id: I679b24000ba68d6712777d578823b3df5111fd3b
Diffstat (limited to 'renderscript')
31 files changed, 351 insertions, 450 deletions
diff --git a/renderscript/clang-include/Intrin.h b/renderscript/clang-include/Intrin.h index e365abe..ff6d278 100644 --- a/renderscript/clang-include/Intrin.h +++ b/renderscript/clang-include/Intrin.h @@ -100,11 +100,9 @@ static __inline__ unsigned int __popcnt(unsigned int); static __inline__ unsigned short __popcnt16(unsigned short); -static __inline__ -unsigned __int64 __rdtsc(void); -unsigned __int64 __rdtscp(unsigned int *); unsigned long __readcr0(void); unsigned long __readcr2(void); +static __inline__ unsigned long __readcr3(void); unsigned long __readcr4(void); unsigned long __readcr8(void); @@ -119,6 +117,7 @@ unsigned __int64 __readfsqword(unsigned long); static __inline__ unsigned short __readfsword(unsigned long); #endif +static __inline__ unsigned __int64 __readmsr(unsigned long); unsigned __int64 __readpmc(unsigned long); unsigned long __segmentlimit(unsigned long); @@ -143,6 +142,7 @@ void __vmx_off(void); void __vmx_vmptrst(unsigned __int64 *); void __wbinvd(void); void __writecr0(unsigned int); +static __inline__ void __writecr3(unsigned int); void __writecr4(unsigned int); void __writecr8(unsigned int); @@ -825,14 +825,12 @@ _InterlockedCompareExchangePointer(void *volatile *_Destination, return _Comparand; } #endif -#ifdef __x86_64__ static __inline__ __int64 __attribute__((__always_inline__, __nodebug__)) _InterlockedCompareExchange64(__int64 volatile *_Destination, __int64 _Exchange, __int64 _Comparand) { __atomic_compare_exchange(_Destination, &_Comparand, &_Exchange, 0, 0, 0); return _Comparand; } -#endif /*----------------------------------------------------------------------------*\ |* Barriers \*----------------------------------------------------------------------------*/ @@ -981,6 +979,35 @@ __halt(void) { __asm__ volatile ("hlt"); } +/*----------------------------------------------------------------------------*\ +|* Privileged intrinsics +\*----------------------------------------------------------------------------*/ +static __inline__ unsigned __int64 __attribute__((__always_inline__, __nodebug__)) +__readmsr(unsigned long __register) { + // Loads the contents of a 64-bit model specific register (MSR) specified in + // the ECX register into registers EDX:EAX. The EDX register is loaded with + // the high-order 32 bits of the MSR and the EAX register is loaded with the + // low-order 32 bits. If less than 64 bits are implemented in the MSR being + // read, the values returned to EDX:EAX in unimplemented bit locations are + // undefined. + unsigned long __edx; + unsigned long __eax; + __asm__ ("rdmsr" : "=d"(__edx), "=a"(__eax) : "c"(__register)); + return (((unsigned __int64)__edx) << 32) | (unsigned __int64)__eax; +} + +static __inline__ unsigned long __attribute__((always_inline, __nodebug__)) +__readcr3(void) { + unsigned long __cr3_val; + __asm__ __volatile__ ("mov %%cr3, %0" : "=q"(__cr3_val) : : "memory"); + return __cr3_val; +} + +static __inline__ void __attribute__((always_inline, __nodebug__)) +__writecr3(unsigned int __cr3_val) { + __asm__ ("mov %0, %%cr3" : : "q"(__cr3_val) : "memory"); +} + #ifdef __cplusplus } #endif diff --git a/renderscript/clang-include/avx2intrin.h b/renderscript/clang-include/avx2intrin.h index 9574469..394fdfe 100644 --- a/renderscript/clang-include/avx2intrin.h +++ b/renderscript/clang-include/avx2intrin.h @@ -160,7 +160,23 @@ _mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M) #define _mm256_blend_epi16(V1, V2, M) __extension__ ({ \ __m256i __V1 = (V1); \ __m256i __V2 = (V2); \ - (__m256i)__builtin_ia32_pblendw256((__v16hi)__V1, (__v16hi)__V2, (M)); }) + (__m256d)__builtin_shufflevector((__v16hi)__V1, (__v16hi)__V2, \ + (((M) & 0x01) ? 16 : 0), \ + (((M) & 0x02) ? 17 : 1), \ + (((M) & 0x04) ? 18 : 2), \ + (((M) & 0x08) ? 19 : 3), \ + (((M) & 0x10) ? 20 : 4), \ + (((M) & 0x20) ? 21 : 5), \ + (((M) & 0x40) ? 22 : 6), \ + (((M) & 0x80) ? 23 : 7), \ + (((M) & 0x01) ? 24 : 8), \ + (((M) & 0x02) ? 25 : 9), \ + (((M) & 0x04) ? 26 : 10), \ + (((M) & 0x08) ? 27 : 11), \ + (((M) & 0x10) ? 28 : 12), \ + (((M) & 0x20) ? 29 : 13), \ + (((M) & 0x40) ? 30 : 14), \ + (((M) & 0x80) ? 31 : 15)); }) static __inline__ __m256i __attribute__((__always_inline__, __nodebug__)) _mm256_cmpeq_epi8(__m256i __a, __m256i __b) @@ -761,12 +777,24 @@ _mm256_broadcastsi128_si256(__m128i __X) #define _mm_blend_epi32(V1, V2, M) __extension__ ({ \ __m128i __V1 = (V1); \ __m128i __V2 = (V2); \ - (__m128i)__builtin_ia32_pblendd128((__v4si)__V1, (__v4si)__V2, (M)); }) + (__m128i)__builtin_shufflevector((__v4si)__V1, (__v4si)__V2, \ + (((M) & 0x01) ? 4 : 0), \ + (((M) & 0x02) ? 5 : 1), \ + (((M) & 0x04) ? 6 : 2), \ + (((M) & 0x08) ? 7 : 3)); }) #define _mm256_blend_epi32(V1, V2, M) __extension__ ({ \ __m256i __V1 = (V1); \ __m256i __V2 = (V2); \ - (__m256i)__builtin_ia32_pblendd256((__v8si)__V1, (__v8si)__V2, (M)); }) + (__m256i)__builtin_shufflevector((__v8si)__V1, (__v8si)__V2, \ + (((M) & 0x01) ? 8 : 0), \ + (((M) & 0x02) ? 9 : 1), \ + (((M) & 0x04) ? 10 : 2), \ + (((M) & 0x08) ? 11 : 3), \ + (((M) & 0x10) ? 12 : 4), \ + (((M) & 0x20) ? 13 : 5), \ + (((M) & 0x40) ? 14 : 6), \ + (((M) & 0x80) ? 15 : 7)); }) static __inline__ __m256i __attribute__((__always_inline__, __nodebug__)) _mm256_broadcastb_epi8(__m128i __X) diff --git a/renderscript/clang-include/avxintrin.h b/renderscript/clang-include/avxintrin.h index 141c4d9..3d50439 100644 --- a/renderscript/clang-include/avxintrin.h +++ b/renderscript/clang-include/avxintrin.h @@ -308,12 +308,24 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) #define _mm256_blend_pd(V1, V2, M) __extension__ ({ \ __m256d __V1 = (V1); \ __m256d __V2 = (V2); \ - (__m256d)__builtin_ia32_blendpd256((__v4df)__V1, (__v4df)__V2, (M)); }) + (__m256d)__builtin_shufflevector((__v4df)__V1, (__v4df)__V2, \ + (((M) & 0x01) ? 4 : 0), \ + (((M) & 0x02) ? 5 : 1), \ + (((M) & 0x04) ? 6 : 2), \ + (((M) & 0x08) ? 7 : 3)); }) #define _mm256_blend_ps(V1, V2, M) __extension__ ({ \ __m256 __V1 = (V1); \ __m256 __V2 = (V2); \ - (__m256)__builtin_ia32_blendps256((__v8sf)__V1, (__v8sf)__V2, (M)); }) + (__m256)__builtin_shufflevector((__v8sf)__V1, (__v8sf)__V2, \ + (((M) & 0x01) ? 8 : 0), \ + (((M) & 0x02) ? 9 : 1), \ + (((M) & 0x04) ? 10 : 2), \ + (((M) & 0x08) ? 11 : 3), \ + (((M) & 0x10) ? 12 : 4), \ + (((M) & 0x20) ? 13 : 5), \ + (((M) & 0x40) ? 14 : 6), \ + (((M) & 0x80) ? 15 : 7)); }) static __inline __m256d __attribute__((__always_inline__, __nodebug__)) _mm256_blendv_pd(__m256d __a, __m256d __b, __m256d __c) diff --git a/renderscript/clang-include/ia32intrin.h b/renderscript/clang-include/ia32intrin.h index a5985f6..55c2247 100644 --- a/renderscript/clang-include/ia32intrin.h +++ b/renderscript/clang-include/ia32intrin.h @@ -82,9 +82,13 @@ __writeeflags(unsigned int __f) /* __rdtsc */ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__)) __rdtsc(void) { - unsigned int __eax, __edx; - __asm__ ("rdtsc" : "=a" (__eax), "=d" (__edx)); - return ((unsigned long long)__edx << 32) | __eax; + return __builtin_ia32_rdtsc(); +} + +/* __rdtscp */ +static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__)) +__rdtscp(unsigned int *__A) { + return __builtin_ia32_rdtscp(__A); } #define _rdtsc() __rdtsc() diff --git a/renderscript/clang-include/smmintrin.h b/renderscript/clang-include/smmintrin.h index 53b3ccb..6e35734 100644 --- a/renderscript/clang-include/smmintrin.h +++ b/renderscript/clang-include/smmintrin.h @@ -79,12 +79,18 @@ #define _mm_blend_pd(V1, V2, M) __extension__ ({ \ __m128d __V1 = (V1); \ __m128d __V2 = (V2); \ - (__m128d) __builtin_ia32_blendpd ((__v2df)__V1, (__v2df)__V2, (M)); }) + (__m128d)__builtin_shufflevector((__v2df)__V1, (__v2df)__V2, \ + (((M) & 0x01) ? 2 : 0), \ + (((M) & 0x02) ? 3 : 1)); }) #define _mm_blend_ps(V1, V2, M) __extension__ ({ \ __m128 __V1 = (V1); \ __m128 __V2 = (V2); \ - (__m128) __builtin_ia32_blendps ((__v4sf)__V1, (__v4sf)__V2, (M)); }) + (__m128)__builtin_shufflevector((__v4sf)__V1, (__v4sf)__V2, \ + (((M) & 0x01) ? 4 : 0), \ + (((M) & 0x02) ? 5 : 1), \ + (((M) & 0x04) ? 6 : 2), \ + (((M) & 0x08) ? 7 : 3)); }) static __inline__ __m128d __attribute__((__always_inline__, __nodebug__)) _mm_blendv_pd (__m128d __V1, __m128d __V2, __m128d __M) @@ -110,7 +116,15 @@ _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M) #define _mm_blend_epi16(V1, V2, M) __extension__ ({ \ __m128i __V1 = (V1); \ __m128i __V2 = (V2); \ - (__m128i) __builtin_ia32_pblendw128 ((__v8hi)__V1, (__v8hi)__V2, (M)); }) + (__m128i)__builtin_shufflevector((__v8hi)__V1, (__v8hi)__V2, \ + (((M) & 0x01) ? 8 : 0), \ + (((M) & 0x02) ? 9 : 1), \ + (((M) & 0x04) ? 10 : 2), \ + (((M) & 0x08) ? 11 : 3), \ + (((M) & 0x10) ? 12 : 4), \ + (((M) & 0x20) ? 13 : 5), \ + (((M) & 0x40) ? 14 : 6), \ + (((M) & 0x80) ? 15 : 7)); }) /* SSE4 Dword Multiply Instructions. */ static __inline__ __m128i __attribute__((__always_inline__, __nodebug__)) diff --git a/renderscript/clang-include/stddef.h b/renderscript/clang-include/stddef.h index 97126ed..2dfe0a2 100644 --- a/renderscript/clang-include/stddef.h +++ b/renderscript/clang-include/stddef.h @@ -23,9 +23,22 @@ *===-----------------------------------------------------------------------=== */ -#ifndef __STDDEF_H +#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \ + defined(__need_size_t) || defined(__need_wchar_t) || \ + defined(__need_NULL) || defined(__need_wint_t) + +#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ + !defined(__need_wchar_t) && !defined(__need_NULL) && \ + !defined(__need_wint_t) #define __STDDEF_H +#define __need_ptrdiff_t +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +/* __need_wint_t is intentionally not defined here. */ +#endif +#if defined(__need_ptrdiff_t) #if !defined(_PTRDIFF_T) || __has_feature(modules) /* Always define ptrdiff_t when modules are available. */ #if !__has_feature(modules) @@ -33,7 +46,10 @@ #endif typedef __PTRDIFF_TYPE__ ptrdiff_t; #endif +#undef __need_ptrdiff_t +#endif /* defined(__need_ptrdiff_t) */ +#if defined(__need_size_t) #if !defined(_SIZE_T) || __has_feature(modules) /* Always define size_t when modules are available. */ #if !__has_feature(modules) @@ -41,7 +57,10 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; #endif typedef __SIZE_TYPE__ size_t; #endif +#undef __need_size_t +#endif /*defined(__need_size_t) */ +#if defined(__STDDEF_H) /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is * enabled. */ #if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \ @@ -52,7 +71,9 @@ typedef __SIZE_TYPE__ size_t; #endif typedef __SIZE_TYPE__ rsize_t; #endif +#endif /* defined(__STDDEF_H) */ +#if defined(__need_wchar_t) #ifndef __cplusplus /* Always define wchar_t when modules are available. */ #if !defined(_WCHAR_T) || __has_feature(modules) @@ -65,7 +86,10 @@ typedef __SIZE_TYPE__ rsize_t; typedef __WCHAR_TYPE__ wchar_t; #endif #endif +#undef __need_wchar_t +#endif /* defined(__need_wchar_t) */ +#if defined(__need_NULL) #undef NULL #ifdef __cplusplus # if !defined(__MINGW32__) && !defined(_MSC_VER) @@ -76,15 +100,19 @@ typedef __WCHAR_TYPE__ wchar_t; #else # define NULL ((void*)0) #endif - #ifdef __cplusplus #if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) namespace std { typedef decltype(nullptr) nullptr_t; } using ::std::nullptr_t; #endif #endif +#undef __need_NULL +#endif /* defined(__need_NULL) */ + +#if defined(__STDDEF_H) #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L +#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) || __has_feature(modules) #ifndef _MSC_VER typedef struct { long long __clang_max_align_nonce1 @@ -97,10 +125,10 @@ typedef double max_align_t; #endif #define __CLANG_MAX_ALIGN_T_DEFINED #endif +#endif #define offsetof(t, d) __builtin_offsetof(t, d) - -#endif /* __STDDEF_H */ +#endif /* __STDDEF_H */ /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ @@ -114,3 +142,5 @@ typedef __WINT_TYPE__ wint_t; #endif #undef __need_wint_t #endif /* __need_wint_t */ + +#endif diff --git a/renderscript/clang-include/xmmintrin.h b/renderscript/clang-include/xmmintrin.h index c8765a7..e777ec0 100644 --- a/renderscript/clang-include/xmmintrin.h +++ b/renderscript/clang-include/xmmintrin.h @@ -905,7 +905,7 @@ _mm_cvtps_pi16(__m128 __a) __a = _mm_movehl_ps(__a, __a); __c = _mm_cvtps_pi32(__a); - return _mm_packs_pi16(__b, __c); + return _mm_packs_pi32(__b, __c); } static __inline__ __m64 __attribute__((__always_inline__, __nodebug__)) diff --git a/renderscript/include/rs_core.rsh b/renderscript/include/rs_core.rsh index 0d3642e..3489e44 100644 --- a/renderscript/include/rs_core.rsh +++ b/renderscript/include/rs_core.rsh @@ -48,6 +48,8 @@ #define _RS_RUNTIME extern +#define RS_KERNEL __attribute__((kernel)) + #include "rs_types.rsh" #include "rs_allocation.rsh" #include "rs_atomic.rsh" diff --git a/renderscript/include/rs_core_math.rsh b/renderscript/include/rs_core_math.rsh index b6058ee..585b91a 100644 --- a/renderscript/include/rs_core_math.rsh +++ b/renderscript/include/rs_core_math.rsh @@ -2954,812 +2954,812 @@ extern uint4 __attribute__((const, overloadable))convert_uint4(uint4 v); #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to float2 + * Component wise conversion from double2 to double2 * * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))convert_float2(double2 v); +extern double2 __attribute__((const, overloadable))convert_double2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to float3 + * Component wise conversion from double3 to double3 * * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))convert_float3(double3 v); +extern double3 __attribute__((const, overloadable))convert_double3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to float4 + * Component wise conversion from double4 to double4 * * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))convert_float4(double4 v); +extern double4 __attribute__((const, overloadable))convert_double4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to float2 + * Component wise conversion from long2 to double2 * * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))convert_float2(long2 v); +extern double2 __attribute__((const, overloadable))convert_double2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to float3 + * Component wise conversion from long3 to double3 * * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))convert_float3(long3 v); +extern double3 __attribute__((const, overloadable))convert_double3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to float4 + * Component wise conversion from long4 to double4 * * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))convert_float4(long4 v); +extern double4 __attribute__((const, overloadable))convert_double4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to float2 + * Component wise conversion from ulong2 to double2 * * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))convert_float2(ulong2 v); +extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to float3 + * Component wise conversion from ulong3 to double3 * * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))convert_float3(ulong3 v); +extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to float4 + * Component wise conversion from ulong4 to double4 * * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))convert_float4(ulong4 v); +extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to double2 + * Component wise conversion from double2 to long2 * * Supported by API versions 21 and newer. */ -extern double2 __attribute__((const, overloadable))convert_double2(double2 v); +extern long2 __attribute__((const, overloadable))convert_long2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to double3 + * Component wise conversion from double3 to long3 * * Supported by API versions 21 and newer. */ -extern double3 __attribute__((const, overloadable))convert_double3(double3 v); +extern long3 __attribute__((const, overloadable))convert_long3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to double4 + * Component wise conversion from double4 to long4 * * Supported by API versions 21 and newer. */ -extern double4 __attribute__((const, overloadable))convert_double4(double4 v); +extern long4 __attribute__((const, overloadable))convert_long4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to double2 + * Component wise conversion from long2 to long2 * * Supported by API versions 21 and newer. */ -extern double2 __attribute__((const, overloadable))convert_double2(long2 v); +extern long2 __attribute__((const, overloadable))convert_long2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to double3 + * Component wise conversion from long3 to long3 * * Supported by API versions 21 and newer. */ -extern double3 __attribute__((const, overloadable))convert_double3(long3 v); +extern long3 __attribute__((const, overloadable))convert_long3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to double4 + * Component wise conversion from long4 to long4 * * Supported by API versions 21 and newer. */ -extern double4 __attribute__((const, overloadable))convert_double4(long4 v); +extern long4 __attribute__((const, overloadable))convert_long4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to double2 + * Component wise conversion from ulong2 to long2 * * Supported by API versions 21 and newer. */ -extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v); +extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to double3 + * Component wise conversion from ulong3 to long3 * * Supported by API versions 21 and newer. */ -extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v); +extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to double4 + * Component wise conversion from ulong4 to long4 * * Supported by API versions 21 and newer. */ -extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v); +extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to char2 + * Component wise conversion from double2 to ulong2 * * Supported by API versions 21 and newer. */ -extern char2 __attribute__((const, overloadable))convert_char2(double2 v); +extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to char3 + * Component wise conversion from double3 to ulong3 * * Supported by API versions 21 and newer. */ -extern char3 __attribute__((const, overloadable))convert_char3(double3 v); +extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to char4 + * Component wise conversion from double4 to ulong4 * * Supported by API versions 21 and newer. */ -extern char4 __attribute__((const, overloadable))convert_char4(double4 v); +extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to char2 + * Component wise conversion from long2 to ulong2 * * Supported by API versions 21 and newer. */ -extern char2 __attribute__((const, overloadable))convert_char2(long2 v); +extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to char3 + * Component wise conversion from long3 to ulong3 * * Supported by API versions 21 and newer. */ -extern char3 __attribute__((const, overloadable))convert_char3(long3 v); +extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to char4 + * Component wise conversion from long4 to ulong4 * * Supported by API versions 21 and newer. */ -extern char4 __attribute__((const, overloadable))convert_char4(long4 v); +extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to char2 + * Component wise conversion from ulong2 to ulong2 * * Supported by API versions 21 and newer. */ -extern char2 __attribute__((const, overloadable))convert_char2(ulong2 v); +extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to char3 + * Component wise conversion from ulong3 to ulong3 * * Supported by API versions 21 and newer. */ -extern char3 __attribute__((const, overloadable))convert_char3(ulong3 v); +extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to char4 + * Component wise conversion from ulong4 to ulong4 * * Supported by API versions 21 and newer. */ -extern char4 __attribute__((const, overloadable))convert_char4(ulong4 v); +extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to uchar2 + * Component wise conversion from double2 to float2 * * Supported by API versions 21 and newer. */ -extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v); +extern float2 __attribute__((const, overloadable))convert_float2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to uchar3 + * Component wise conversion from double3 to float3 * * Supported by API versions 21 and newer. */ -extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v); +extern float3 __attribute__((const, overloadable))convert_float3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to uchar4 + * Component wise conversion from double4 to float4 * * Supported by API versions 21 and newer. */ -extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v); +extern float4 __attribute__((const, overloadable))convert_float4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to uchar2 + * Component wise conversion from long2 to float2 * * Supported by API versions 21 and newer. */ -extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v); +extern float2 __attribute__((const, overloadable))convert_float2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to uchar3 + * Component wise conversion from long3 to float3 * * Supported by API versions 21 and newer. */ -extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v); +extern float3 __attribute__((const, overloadable))convert_float3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to uchar4 + * Component wise conversion from long4 to float4 * * Supported by API versions 21 and newer. */ -extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v); +extern float4 __attribute__((const, overloadable))convert_float4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to uchar2 + * Component wise conversion from ulong2 to float2 * * Supported by API versions 21 and newer. */ -extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v); +extern float2 __attribute__((const, overloadable))convert_float2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to uchar3 + * Component wise conversion from ulong3 to float3 * * Supported by API versions 21 and newer. */ -extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v); +extern float3 __attribute__((const, overloadable))convert_float3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to uchar4 + * Component wise conversion from ulong4 to float4 * * Supported by API versions 21 and newer. */ -extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v); +extern float4 __attribute__((const, overloadable))convert_float4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to short2 + * Component wise conversion from double2 to char2 * * Supported by API versions 21 and newer. */ -extern short2 __attribute__((const, overloadable))convert_short2(double2 v); +extern char2 __attribute__((const, overloadable))convert_char2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to short3 + * Component wise conversion from double3 to char3 * * Supported by API versions 21 and newer. */ -extern short3 __attribute__((const, overloadable))convert_short3(double3 v); +extern char3 __attribute__((const, overloadable))convert_char3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to short4 + * Component wise conversion from double4 to char4 * * Supported by API versions 21 and newer. */ -extern short4 __attribute__((const, overloadable))convert_short4(double4 v); +extern char4 __attribute__((const, overloadable))convert_char4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to short2 + * Component wise conversion from long2 to char2 * * Supported by API versions 21 and newer. */ -extern short2 __attribute__((const, overloadable))convert_short2(long2 v); +extern char2 __attribute__((const, overloadable))convert_char2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to short3 + * Component wise conversion from long3 to char3 * * Supported by API versions 21 and newer. */ -extern short3 __attribute__((const, overloadable))convert_short3(long3 v); +extern char3 __attribute__((const, overloadable))convert_char3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to short4 + * Component wise conversion from long4 to char4 * * Supported by API versions 21 and newer. */ -extern short4 __attribute__((const, overloadable))convert_short4(long4 v); +extern char4 __attribute__((const, overloadable))convert_char4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to short2 + * Component wise conversion from ulong2 to char2 * * Supported by API versions 21 and newer. */ -extern short2 __attribute__((const, overloadable))convert_short2(ulong2 v); +extern char2 __attribute__((const, overloadable))convert_char2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to short3 + * Component wise conversion from ulong3 to char3 * * Supported by API versions 21 and newer. */ -extern short3 __attribute__((const, overloadable))convert_short3(ulong3 v); +extern char3 __attribute__((const, overloadable))convert_char3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to short4 + * Component wise conversion from ulong4 to char4 * * Supported by API versions 21 and newer. */ -extern short4 __attribute__((const, overloadable))convert_short4(ulong4 v); +extern char4 __attribute__((const, overloadable))convert_char4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to ushort2 + * Component wise conversion from double2 to uchar2 * * Supported by API versions 21 and newer. */ -extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v); +extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to ushort3 + * Component wise conversion from double3 to uchar3 * * Supported by API versions 21 and newer. */ -extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v); +extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to ushort4 + * Component wise conversion from double4 to uchar4 * * Supported by API versions 21 and newer. */ -extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v); +extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to ushort2 + * Component wise conversion from long2 to uchar2 * * Supported by API versions 21 and newer. */ -extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v); +extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to ushort3 + * Component wise conversion from long3 to uchar3 * * Supported by API versions 21 and newer. */ -extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v); +extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to ushort4 + * Component wise conversion from long4 to uchar4 * * Supported by API versions 21 and newer. */ -extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v); +extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to ushort2 + * Component wise conversion from ulong2 to uchar2 * * Supported by API versions 21 and newer. */ -extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v); +extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to ushort3 + * Component wise conversion from ulong3 to uchar3 * * Supported by API versions 21 and newer. */ -extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v); +extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to ushort4 + * Component wise conversion from ulong4 to uchar4 * * Supported by API versions 21 and newer. */ -extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v); +extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to int2 + * Component wise conversion from double2 to short2 * * Supported by API versions 21 and newer. */ -extern int2 __attribute__((const, overloadable))convert_int2(double2 v); +extern short2 __attribute__((const, overloadable))convert_short2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to int3 + * Component wise conversion from double3 to short3 * * Supported by API versions 21 and newer. */ -extern int3 __attribute__((const, overloadable))convert_int3(double3 v); +extern short3 __attribute__((const, overloadable))convert_short3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to int4 + * Component wise conversion from double4 to short4 * * Supported by API versions 21 and newer. */ -extern int4 __attribute__((const, overloadable))convert_int4(double4 v); +extern short4 __attribute__((const, overloadable))convert_short4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to int2 + * Component wise conversion from long2 to short2 * * Supported by API versions 21 and newer. */ -extern int2 __attribute__((const, overloadable))convert_int2(long2 v); +extern short2 __attribute__((const, overloadable))convert_short2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to int3 + * Component wise conversion from long3 to short3 * * Supported by API versions 21 and newer. */ -extern int3 __attribute__((const, overloadable))convert_int3(long3 v); +extern short3 __attribute__((const, overloadable))convert_short3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to int4 + * Component wise conversion from long4 to short4 * * Supported by API versions 21 and newer. */ -extern int4 __attribute__((const, overloadable))convert_int4(long4 v); +extern short4 __attribute__((const, overloadable))convert_short4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to int2 + * Component wise conversion from ulong2 to short2 * * Supported by API versions 21 and newer. */ -extern int2 __attribute__((const, overloadable))convert_int2(ulong2 v); +extern short2 __attribute__((const, overloadable))convert_short2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to int3 + * Component wise conversion from ulong3 to short3 * * Supported by API versions 21 and newer. */ -extern int3 __attribute__((const, overloadable))convert_int3(ulong3 v); +extern short3 __attribute__((const, overloadable))convert_short3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to int4 + * Component wise conversion from ulong4 to short4 * * Supported by API versions 21 and newer. */ -extern int4 __attribute__((const, overloadable))convert_int4(ulong4 v); +extern short4 __attribute__((const, overloadable))convert_short4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to uint2 + * Component wise conversion from double2 to ushort2 * * Supported by API versions 21 and newer. */ -extern uint2 __attribute__((const, overloadable))convert_uint2(double2 v); +extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to uint3 + * Component wise conversion from double3 to ushort3 * * Supported by API versions 21 and newer. */ -extern uint3 __attribute__((const, overloadable))convert_uint3(double3 v); +extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to uint4 + * Component wise conversion from double4 to ushort4 * * Supported by API versions 21 and newer. */ -extern uint4 __attribute__((const, overloadable))convert_uint4(double4 v); +extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to uint2 + * Component wise conversion from long2 to ushort2 * * Supported by API versions 21 and newer. */ -extern uint2 __attribute__((const, overloadable))convert_uint2(long2 v); +extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to uint3 + * Component wise conversion from long3 to ushort3 * * Supported by API versions 21 and newer. */ -extern uint3 __attribute__((const, overloadable))convert_uint3(long3 v); +extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to uint4 + * Component wise conversion from long4 to ushort4 * * Supported by API versions 21 and newer. */ -extern uint4 __attribute__((const, overloadable))convert_uint4(long4 v); +extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to uint2 + * Component wise conversion from ulong2 to ushort2 * * Supported by API versions 21 and newer. */ -extern uint2 __attribute__((const, overloadable))convert_uint2(ulong2 v); +extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to uint3 + * Component wise conversion from ulong3 to ushort3 * * Supported by API versions 21 and newer. */ -extern uint3 __attribute__((const, overloadable))convert_uint3(ulong3 v); +extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to uint4 + * Component wise conversion from ulong4 to ushort4 * * Supported by API versions 21 and newer. */ -extern uint4 __attribute__((const, overloadable))convert_uint4(ulong4 v); +extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to long2 + * Component wise conversion from double2 to int2 * * Supported by API versions 21 and newer. */ -extern long2 __attribute__((const, overloadable))convert_long2(double2 v); +extern int2 __attribute__((const, overloadable))convert_int2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to long3 + * Component wise conversion from double3 to int3 * * Supported by API versions 21 and newer. */ -extern long3 __attribute__((const, overloadable))convert_long3(double3 v); +extern int3 __attribute__((const, overloadable))convert_int3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to long4 + * Component wise conversion from double4 to int4 * * Supported by API versions 21 and newer. */ -extern long4 __attribute__((const, overloadable))convert_long4(double4 v); +extern int4 __attribute__((const, overloadable))convert_int4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to long2 + * Component wise conversion from long2 to int2 * * Supported by API versions 21 and newer. */ -extern long2 __attribute__((const, overloadable))convert_long2(long2 v); +extern int2 __attribute__((const, overloadable))convert_int2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to long3 + * Component wise conversion from long3 to int3 * * Supported by API versions 21 and newer. */ -extern long3 __attribute__((const, overloadable))convert_long3(long3 v); +extern int3 __attribute__((const, overloadable))convert_int3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to long4 + * Component wise conversion from long4 to int4 * * Supported by API versions 21 and newer. */ -extern long4 __attribute__((const, overloadable))convert_long4(long4 v); +extern int4 __attribute__((const, overloadable))convert_int4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to long2 + * Component wise conversion from ulong2 to int2 * * Supported by API versions 21 and newer. */ -extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v); +extern int2 __attribute__((const, overloadable))convert_int2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to long3 + * Component wise conversion from ulong3 to int3 * * Supported by API versions 21 and newer. */ -extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v); +extern int3 __attribute__((const, overloadable))convert_int3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to long4 + * Component wise conversion from ulong4 to int4 * * Supported by API versions 21 and newer. */ -extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v); +extern int4 __attribute__((const, overloadable))convert_int4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to ulong2 + * Component wise conversion from double2 to uint2 * * Supported by API versions 21 and newer. */ -extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v); +extern uint2 __attribute__((const, overloadable))convert_uint2(double2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double3 to ulong3 + * Component wise conversion from double3 to uint3 * * Supported by API versions 21 and newer. */ -extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v); +extern uint3 __attribute__((const, overloadable))convert_uint3(double3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double4 to ulong4 + * Component wise conversion from double4 to uint4 * * Supported by API versions 21 and newer. */ -extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v); +extern uint4 __attribute__((const, overloadable))convert_uint4(double4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to ulong2 + * Component wise conversion from long2 to uint2 * * Supported by API versions 21 and newer. */ -extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v); +extern uint2 __attribute__((const, overloadable))convert_uint2(long2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long3 to ulong3 + * Component wise conversion from long3 to uint3 * * Supported by API versions 21 and newer. */ -extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v); +extern uint3 __attribute__((const, overloadable))convert_uint3(long3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long4 to ulong4 + * Component wise conversion from long4 to uint4 * * Supported by API versions 21 and newer. */ -extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v); +extern uint4 __attribute__((const, overloadable))convert_uint4(long4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong2 to ulong2 + * Component wise conversion from ulong2 to uint2 * * Supported by API versions 21 and newer. */ -extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v); +extern uint2 __attribute__((const, overloadable))convert_uint2(ulong2 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong3 to ulong3 + * Component wise conversion from ulong3 to uint3 * * Supported by API versions 21 and newer. */ -extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v); +extern uint3 __attribute__((const, overloadable))convert_uint3(ulong3 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from ulong4 to ulong4 + * Component wise conversion from ulong4 to uint4 * * Supported by API versions 21 and newer. */ -extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v); +extern uint4 __attribute__((const, overloadable))convert_uint4(ulong4 v); #endif #if (defined(RS_VERSION) && (RS_VERSION >= 21)) @@ -3791,33 +3791,6 @@ extern double4 __attribute__((const, overloadable))convert_double4(float4 v); #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to double2 - * - * Supported by API versions 21 and newer. - */ -extern double2 __attribute__((const, overloadable))convert_double2(double2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from double3 to double3 - * - * Supported by API versions 21 and newer. - */ -extern double3 __attribute__((const, overloadable))convert_double3(double3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from double4 to double4 - * - * Supported by API versions 21 and newer. - */ -extern double4 __attribute__((const, overloadable))convert_double4(double4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* * Component wise conversion from char2 to double2 * * Supported by API versions 21 and newer. @@ -3980,60 +3953,6 @@ extern double4 __attribute__((const, overloadable))convert_double4(uint4 v); #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to double2 - * - * Supported by API versions 21 and newer. - */ -extern double2 __attribute__((const, overloadable))convert_double2(long2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long3 to double3 - * - * Supported by API versions 21 and newer. - */ -extern double3 __attribute__((const, overloadable))convert_double3(long3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long4 to double4 - * - * Supported by API versions 21 and newer. - */ -extern double4 __attribute__((const, overloadable))convert_double4(long4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong2 to double2 - * - * Supported by API versions 21 and newer. - */ -extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong3 to double3 - * - * Supported by API versions 21 and newer. - */ -extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong4 to double4 - * - * Supported by API versions 21 and newer. - */ -extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* * Component wise conversion from float2 to long2 * * Supported by API versions 21 and newer. @@ -4061,33 +3980,6 @@ extern long4 __attribute__((const, overloadable))convert_long4(float4 v); #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to long2 - * - * Supported by API versions 21 and newer. - */ -extern long2 __attribute__((const, overloadable))convert_long2(double2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from double3 to long3 - * - * Supported by API versions 21 and newer. - */ -extern long3 __attribute__((const, overloadable))convert_long3(double3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from double4 to long4 - * - * Supported by API versions 21 and newer. - */ -extern long4 __attribute__((const, overloadable))convert_long4(double4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* * Component wise conversion from char2 to long2 * * Supported by API versions 21 and newer. @@ -4250,60 +4142,6 @@ extern long4 __attribute__((const, overloadable))convert_long4(uint4 v); #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from long2 to long2 - * - * Supported by API versions 21 and newer. - */ -extern long2 __attribute__((const, overloadable))convert_long2(long2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long3 to long3 - * - * Supported by API versions 21 and newer. - */ -extern long3 __attribute__((const, overloadable))convert_long3(long3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long4 to long4 - * - * Supported by API versions 21 and newer. - */ -extern long4 __attribute__((const, overloadable))convert_long4(long4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong2 to long2 - * - * Supported by API versions 21 and newer. - */ -extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong3 to long3 - * - * Supported by API versions 21 and newer. - */ -extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong4 to long4 - * - * Supported by API versions 21 and newer. - */ -extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* * Component wise conversion from float2 to ulong2 * * Supported by API versions 21 and newer. @@ -4331,33 +4169,6 @@ extern ulong4 __attribute__((const, overloadable))convert_ulong4(float4 v); #if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Component wise conversion from double2 to ulong2 - * - * Supported by API versions 21 and newer. - */ -extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from double3 to ulong3 - * - * Supported by API versions 21 and newer. - */ -extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from double4 to ulong4 - * - * Supported by API versions 21 and newer. - */ -extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* * Component wise conversion from char2 to ulong2 * * Supported by API versions 21 and newer. @@ -4518,60 +4329,6 @@ extern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3 v); extern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4 v); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long2 to ulong2 - * - * Supported by API versions 21 and newer. - */ -extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long3 to ulong3 - * - * Supported by API versions 21 and newer. - */ -extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from long4 to ulong4 - * - * Supported by API versions 21 and newer. - */ -extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong2 to ulong2 - * - * Supported by API versions 21 and newer. - */ -extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong3 to ulong3 - * - * Supported by API versions 21 and newer. - */ -extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v); -#endif - -#if (defined(RS_VERSION) && (RS_VERSION >= 21)) -/* - * Component wise conversion from ulong4 to ulong4 - * - * Supported by API versions 21 and newer. - */ -extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v); -#endif - #if (defined(RS_VERSION) && (RS_VERSION >= 9)) /* * Copy the sign bit from y to x. diff --git a/renderscript/include/rs_graphics.rsh b/renderscript/include/rs_graphics.rsh index 782b27f..1fcb7ed 100644 --- a/renderscript/include/rs_graphics.rsh +++ b/renderscript/include/rs_graphics.rsh @@ -23,6 +23,10 @@ #ifndef __RS_GRAPHICS_RSH__ #define __RS_GRAPHICS_RSH__ +#ifdef __LP64__ +//#error "RenderScript graphics is deprecated and not supported in 64bit mode." +#else + #include "rs_mesh.rsh" #include "rs_program.rsh" @@ -417,5 +421,6 @@ rsgMeshComputeBoundingBox(rs_mesh mesh, float3 *bBoxMin, float3 *bBoxMax) { bBoxMax->z = z2; } +#endif //__LP64__ #endif diff --git a/renderscript/include/rs_object.rsh b/renderscript/include/rs_object.rsh index 1fc3f83..ed6423b 100644 --- a/renderscript/include/rs_object.rsh +++ b/renderscript/include/rs_object.rsh @@ -52,6 +52,8 @@ extern void __attribute__((overloadable)) */ extern void __attribute__((overloadable)) rsSetObject(rs_script *dst, rs_script src); + +#ifndef __LP64__ /** * \overload */ @@ -87,6 +89,7 @@ extern void __attribute__((overloadable)) */ extern void __attribute__((overloadable)) rsSetObject(rs_font *dst, rs_font src); +#endif //__LP64__ /** * Sets the object to NULL. @@ -115,6 +118,9 @@ extern void __attribute__((overloadable)) */ extern void __attribute__((overloadable)) rsClearObject(rs_script *dst); + + +#ifndef __LP64__ /** * \overload */ @@ -150,7 +156,7 @@ extern void __attribute__((overloadable)) */ extern void __attribute__((overloadable)) rsClearObject(rs_font *dst); - +#endif //__LP64__ /** @@ -181,6 +187,8 @@ extern bool __attribute__((overloadable)) */ extern bool __attribute__((overloadable)) rsIsObject(rs_script); + +#ifndef __LP64__ /** * \overload */ @@ -216,5 +224,6 @@ extern bool __attribute__((overloadable)) */ extern bool __attribute__((overloadable)) rsIsObject(rs_font); +#endif //__LP64__ #endif diff --git a/renderscript/include/rs_types.rsh b/renderscript/include/rs_types.rsh index de09279..92ec56c 100644 --- a/renderscript/include/rs_types.rsh +++ b/renderscript/include/rs_types.rsh @@ -114,36 +114,44 @@ typedef uint32_t size_t; */ typedef int32_t ssize_t; +#ifndef __LP64__ +#define RS_BASE_OBJ typedef struct { const int* const p; } __attribute__((packed, aligned(4))) +#else +#define RS_BASE_OBJ typedef struct { const int* const p; const int* const r; const int* const v1; const int* const v2; } +#endif + /** * \brief Opaque handle to a RenderScript element. * * See: android.renderscript.Element */ -typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_element; +RS_BASE_OBJ rs_element; /** * \brief Opaque handle to a RenderScript type. * * See: android.renderscript.Type */ -typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_type; +RS_BASE_OBJ rs_type; /** * \brief Opaque handle to a RenderScript allocation. * * See: android.renderscript.Allocation */ -typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_allocation; +RS_BASE_OBJ rs_allocation; /** * \brief Opaque handle to a RenderScript sampler object. * * See: android.renderscript.Sampler */ -typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_sampler; +RS_BASE_OBJ rs_sampler; /** * \brief Opaque handle to a RenderScript script object. * * See: android.renderscript.ScriptC */ -typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_script; +RS_BASE_OBJ rs_script; + +#ifndef __LP64__ /** * \brief Opaque handle to a RenderScript mesh object. * @@ -186,6 +194,7 @@ typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_pr * See: android.renderscript.Font */ typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_font; +#endif // __LP64__ /** * Vector version of the basic float type. @@ -418,6 +427,7 @@ typedef enum { // New API's #if (defined(RS_VERSION) && (RS_VERSION >= 16)) +#ifndef __LP64__ /** * Describes the way mesh vertex data is interpreted when rendering * @@ -456,6 +466,7 @@ typedef enum { */ RS_PRIMITIVE_INVALID = 100, } rs_primitive; +#endif // __LP64__ /** * \brief Enumeration for possible element data types @@ -535,6 +546,7 @@ typedef enum { RS_KIND_INVALID = 100, } rs_data_kind; +#ifndef __LP64__ typedef enum { /** * Always drawn @@ -610,6 +622,7 @@ typedef enum { RS_CULL_INVALID = 100, } rs_cull_mode; +#endif //__LP64__ typedef enum { RS_SAMPLER_NEAREST = 0, diff --git a/renderscript/lib/arm/libRSSupport.so b/renderscript/lib/arm/libRSSupport.so Binary files differindex dc869d7..b414f7c 100755 --- a/renderscript/lib/arm/libRSSupport.so +++ b/renderscript/lib/arm/libRSSupport.so diff --git a/renderscript/lib/arm/libc.so b/renderscript/lib/arm/libc.so Binary files differindex 224559a..f844e7f 100755 --- a/renderscript/lib/arm/libc.so +++ b/renderscript/lib/arm/libc.so diff --git a/renderscript/lib/arm/libclcore.bc b/renderscript/lib/arm/libclcore.bc Binary files differindex e31f645..c918fc8 100644 --- a/renderscript/lib/arm/libclcore.bc +++ b/renderscript/lib/arm/libclcore.bc diff --git a/renderscript/lib/arm/libm.so b/renderscript/lib/arm/libm.so Binary files differindex 9cf6fc0..70e8ded 100755 --- a/renderscript/lib/arm/libm.so +++ b/renderscript/lib/arm/libm.so diff --git a/renderscript/lib/arm/librsjni.so b/renderscript/lib/arm/librsjni.so Binary files differindex b5f0e12..97617d3 100755 --- a/renderscript/lib/arm/librsjni.so +++ b/renderscript/lib/arm/librsjni.so diff --git a/renderscript/lib/arm/librsrt_arm.bc b/renderscript/lib/arm/librsrt_arm.bc Binary files differindex e31f645..c918fc8 100644 --- a/renderscript/lib/arm/librsrt_arm.bc +++ b/renderscript/lib/arm/librsrt_arm.bc diff --git a/renderscript/lib/javalib.jar b/renderscript/lib/javalib.jar Binary files differindex 34b5782..3118583 100644 --- a/renderscript/lib/javalib.jar +++ b/renderscript/lib/javalib.jar diff --git a/renderscript/lib/mips/libRSSupport.so b/renderscript/lib/mips/libRSSupport.so Binary files differindex f4fbfb3..710395a 100755 --- a/renderscript/lib/mips/libRSSupport.so +++ b/renderscript/lib/mips/libRSSupport.so diff --git a/renderscript/lib/mips/libc.so b/renderscript/lib/mips/libc.so Binary files differindex 7b1e981..9e51632 100755 --- a/renderscript/lib/mips/libc.so +++ b/renderscript/lib/mips/libc.so diff --git a/renderscript/lib/mips/libclcore.bc b/renderscript/lib/mips/libclcore.bc Binary files differindex 129015a..7f1e217 100644 --- a/renderscript/lib/mips/libclcore.bc +++ b/renderscript/lib/mips/libclcore.bc diff --git a/renderscript/lib/mips/libm.so b/renderscript/lib/mips/libm.so Binary files differindex feb4631..7bc6a67 100755 --- a/renderscript/lib/mips/libm.so +++ b/renderscript/lib/mips/libm.so diff --git a/renderscript/lib/mips/librsjni.so b/renderscript/lib/mips/librsjni.so Binary files differindex 75cfdda..89ce92f 100755 --- a/renderscript/lib/mips/librsjni.so +++ b/renderscript/lib/mips/librsjni.so diff --git a/renderscript/lib/mips/librsrt_mips.bc b/renderscript/lib/mips/librsrt_mips.bc Binary files differindex 129015a..7f1e217 100644 --- a/renderscript/lib/mips/librsrt_mips.bc +++ b/renderscript/lib/mips/librsrt_mips.bc diff --git a/renderscript/lib/x86/libRSSupport.so b/renderscript/lib/x86/libRSSupport.so Binary files differindex f5d613e..0eabdce 100755 --- a/renderscript/lib/x86/libRSSupport.so +++ b/renderscript/lib/x86/libRSSupport.so diff --git a/renderscript/lib/x86/libc.so b/renderscript/lib/x86/libc.so Binary files differindex 20f4c33..b3c117c 100755 --- a/renderscript/lib/x86/libc.so +++ b/renderscript/lib/x86/libc.so diff --git a/renderscript/lib/x86/libclcore.bc b/renderscript/lib/x86/libclcore.bc Binary files differindex 0411b70..808163a 100644 --- a/renderscript/lib/x86/libclcore.bc +++ b/renderscript/lib/x86/libclcore.bc diff --git a/renderscript/lib/x86/libm.so b/renderscript/lib/x86/libm.so Binary files differindex 9e99c5d..2a4e2df 100755 --- a/renderscript/lib/x86/libm.so +++ b/renderscript/lib/x86/libm.so diff --git a/renderscript/lib/x86/librsjni.so b/renderscript/lib/x86/librsjni.so Binary files differindex 29f3212..aecc9f5 100755 --- a/renderscript/lib/x86/librsjni.so +++ b/renderscript/lib/x86/librsjni.so diff --git a/renderscript/lib/x86/librsrt_x86.bc b/renderscript/lib/x86/librsrt_x86.bc Binary files differindex 632c0db..ef749f8 100644 --- a/renderscript/lib/x86/librsrt_x86.bc +++ b/renderscript/lib/x86/librsrt_x86.bc |