| /* |
| * Copyright (C) 2015 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // Don't edit this file! It is auto-generated by frameworks/rs/api/gen_runtime. |
| |
| /* |
| * rs_value_types.rsh: Standard RenderScript types |
| * |
| * Integers: |
| * 8 bit: char, int8_t |
| * 16 bit: short, int16_t |
| * 32 bit: int, in32_t |
| * 64 bit: long, long long, int64_t |
| * |
| * Unsigned integers: |
| * 8 bit: uchar, uint8_t |
| * 16 bit: ushort, uint16_t |
| * 32 bit: uint, uint32_t |
| * 64 bit: ulong, uint64_t |
| * |
| * Floating point: |
| * 32 bit: float |
| * 64 bit: double |
| * |
| * Vectors of length 2, 3, and 4 are supported for all the types above. |
| */ |
| #ifndef RENDERSCRIPT_RS_VALUE_TYPES_RSH |
| #define RENDERSCRIPT_RS_VALUE_TYPES_RSH |
| |
| /* |
| * int8_t: 8 bit signed integer |
| * |
| * 8 bit integer type |
| */ |
| typedef char int8_t; |
| |
| /* |
| * int16_t: 16 bit signed integer |
| * |
| * 16 bit integer type |
| */ |
| typedef short int16_t; |
| |
| /* |
| * int32_t: 32 bit signed integer |
| * |
| * 32 bit integer type |
| */ |
| typedef int int32_t; |
| |
| /* |
| * int64_t: 64 bit signed integer |
| * |
| * 64 bit integer type |
| */ |
| #if !defined(RS_VERSION) || (RS_VERSION <= 20) |
| typedef long long int64_t; |
| #endif |
| |
| #if (defined(RS_VERSION) && (RS_VERSION >= 21)) |
| typedef long int64_t; |
| #endif |
| |
| /* |
| * uint8_t: 8 bit unsigned integer |
| * |
| * 8 bit unsigned integer type |
| */ |
| typedef unsigned char uint8_t; |
| |
| /* |
| * uint16_t: 16 bit unsigned integer |
| * |
| * 16 bit unsigned integer type |
| */ |
| typedef unsigned short uint16_t; |
| |
| /* |
| * uint32_t: 32 bit unsigned integer |
| * |
| * 32 bit unsigned integer type |
| */ |
| typedef unsigned int uint32_t; |
| |
| /* |
| * uint64_t: 64 bit unsigned integer |
| * |
| * 64 bit unsigned integer type |
| */ |
| #if !defined(RS_VERSION) || (RS_VERSION <= 20) |
| typedef unsigned long long uint64_t; |
| #endif |
| |
| #if (defined(RS_VERSION) && (RS_VERSION >= 21)) |
| typedef unsigned long uint64_t; |
| #endif |
| |
| /* |
| * uchar: 8 bit unsigned integer |
| * |
| * 8 bit unsigned integer type |
| */ |
| typedef uint8_t uchar; |
| |
| /* |
| * ushort: 16 bit unsigned integer |
| * |
| * 16 bit unsigned integer type |
| */ |
| typedef uint16_t ushort; |
| |
| /* |
| * uint: 32 bit unsigned integer |
| * |
| * 32 bit unsigned integer type |
| */ |
| typedef uint32_t uint; |
| |
| /* |
| * ulong: 64 bit unsigned integer |
| * |
| * Typedef for unsigned long (use for 64-bit unsigned integers) |
| */ |
| typedef uint64_t ulong; |
| |
| /* |
| * size_t: Unsigned size type |
| * |
| * Typedef for size_t |
| */ |
| #ifdef __LP64__ |
| typedef uint64_t size_t; |
| #endif |
| |
| #ifndef __LP64__ |
| typedef uint32_t size_t; |
| #endif |
| |
| /* |
| * ssize_t: Signed size type |
| * |
| * Typedef for ssize_t |
| */ |
| #ifdef __LP64__ |
| typedef int64_t ssize_t; |
| #endif |
| |
| #ifndef __LP64__ |
| typedef int32_t ssize_t; |
| #endif |
| |
| /* |
| * float2: Two 32 bit floats |
| * |
| * Vector version of the basic float type. |
| * Provides two float fields packed into a single 64 bit field with 64 bit alignment. |
| */ |
| typedef float __attribute__((ext_vector_type(2))) float2; |
| |
| /* |
| * float3: Three 32 bit floats |
| * |
| * Vector version of the basic float type. |
| * Provides three float fields packed into a single 128 bit field with 128 bit alignment. |
| */ |
| typedef float __attribute__((ext_vector_type(3))) float3; |
| |
| /* |
| * float4: Four 32 bit floats |
| * |
| * Vector version of the basic float type. |
| * Provides four float fields packed into a single 128 bit field with 128 bit alignment. |
| */ |
| typedef float __attribute__((ext_vector_type(4))) float4; |
| |
| /* |
| * double2: Two 64 bit floats |
| * |
| * Vector version of the basic double type. Provides two double fields packed |
| * into a single 128 bit field with 128 bit alignment. |
| */ |
| typedef double __attribute__((ext_vector_type(2))) double2; |
| |
| /* |
| * double3: Three 64 bit floats |
| * |
| * Vector version of the basic double type. Provides three double fields packed |
| * into a single 256 bit field with 256 bit alignment. |
| */ |
| typedef double __attribute__((ext_vector_type(3))) double3; |
| |
| /* |
| * double4: Four 64 bit floats |
| * |
| * Vector version of the basic double type. Provides four double fields packed |
| * into a single 256 bit field with 256 bit alignment. |
| */ |
| typedef double __attribute__((ext_vector_type(4))) double4; |
| |
| /* |
| * uchar2: Two 8 bit unsigned integers |
| * |
| * Vector version of the basic uchar type. Provides two uchar fields packed |
| * into a single 16 bit field with 16 bit alignment. |
| */ |
| typedef uchar __attribute__((ext_vector_type(2))) uchar2; |
| |
| /* |
| * uchar3: Three 8 bit unsigned integers |
| * |
| * Vector version of the basic uchar type. Provides three uchar fields packed |
| * into a single 32 bit field with 32 bit alignment. |
| */ |
| typedef uchar __attribute__((ext_vector_type(3))) uchar3; |
| |
| /* |
| * uchar4: Four 8 bit unsigned integers |
| * |
| * Vector version of the basic uchar type. Provides four uchar fields packed |
| * into a single 32 bit field with 32 bit alignment. |
| */ |
| typedef uchar __attribute__((ext_vector_type(4))) uchar4; |
| |
| /* |
| * ushort2: Two 16 bit unsigned integers |
| * |
| * Vector version of the basic ushort type. Provides two ushort fields packed |
| * into a single 32 bit field with 32 bit alignment. |
| */ |
| typedef ushort __attribute__((ext_vector_type(2))) ushort2; |
| |
| /* |
| * ushort3: Three 16 bit unsigned integers |
| * |
| * Vector version of the basic ushort type. Provides three ushort fields packed |
| * into a single 64 bit field with 64 bit alignment. |
| */ |
| typedef ushort __attribute__((ext_vector_type(3))) ushort3; |
| |
| /* |
| * ushort4: Four 16 bit unsigned integers |
| * |
| * Vector version of the basic ushort type. Provides four ushort fields packed |
| * into a single 64 bit field with 64 bit alignment. |
| */ |
| typedef ushort __attribute__((ext_vector_type(4))) ushort4; |
| |
| /* |
| * uint2: Two 32 bit unsigned integers |
| * |
| * Vector version of the basic uint type. Provides two uint fields packed into a |
| * single 64 bit field with 64 bit alignment. |
| */ |
| typedef uint __attribute__((ext_vector_type(2))) uint2; |
| |
| /* |
| * uint3: Three 32 bit unsigned integers |
| * |
| * Vector version of the basic uint type. Provides three uint fields packed into |
| * a single 128 bit field with 128 bit alignment. |
| */ |
| typedef uint __attribute__((ext_vector_type(3))) uint3; |
| |
| /* |
| * uint4: Four 32 bit unsigned integers |
| * |
| * Vector version of the basic uint type. Provides four uint fields packed into |
| * a single 128 bit field with 128 bit alignment. |
| */ |
| typedef uint __attribute__((ext_vector_type(4))) uint4; |
| |
| /* |
| * ulong2: Two 64 bit unsigned integers |
| * |
| * Vector version of the basic ulong type. Provides two ulong fields packed into |
| * a single 128 bit field with 128 bit alignment. |
| */ |
| typedef ulong __attribute__((ext_vector_type(2))) ulong2; |
| |
| /* |
| * ulong3: Three 64 bit unsigned integers |
| * |
| * Vector version of the basic ulong type. Provides three ulong fields packed |
| * into a single 256 bit field with 256 bit alignment. |
| */ |
| typedef ulong __attribute__((ext_vector_type(3))) ulong3; |
| |
| /* |
| * ulong4: Four 64 bit unsigned integers |
| * |
| * Vector version of the basic ulong type. Provides four ulong fields packed |
| * into a single 256 bit field with 256 bit alignment. |
| */ |
| typedef ulong __attribute__((ext_vector_type(4))) ulong4; |
| |
| /* |
| * char2: Two 8 bit signed integers |
| * |
| * Vector version of the basic char type. Provides two char fields packed into a |
| * single 16 bit field with 16 bit alignment. |
| */ |
| typedef char __attribute__((ext_vector_type(2))) char2; |
| |
| /* |
| * char3: Three 8 bit signed integers |
| * |
| * Vector version of the basic char type. Provides three char fields packed into |
| * a single 32 bit field with 32 bit alignment. |
| */ |
| typedef char __attribute__((ext_vector_type(3))) char3; |
| |
| /* |
| * char4: Four 8 bit signed integers |
| * |
| * Vector version of the basic char type. Provides four char fields packed into |
| * a single 32 bit field with 32 bit alignment. |
| */ |
| typedef char __attribute__((ext_vector_type(4))) char4; |
| |
| /* |
| * short2: Two 16 bit signed integers |
| * |
| * Vector version of the basic short type. Provides two short fields packed into |
| * a single 32 bit field with 32 bit alignment. |
| */ |
| typedef short __attribute__((ext_vector_type(2))) short2; |
| |
| /* |
| * short3: Three 16 bit signed integers |
| * |
| * Vector version of the basic short type. Provides three short fields packed |
| * into a single 64 bit field with 64 bit alignment. |
| */ |
| typedef short __attribute__((ext_vector_type(3))) short3; |
| |
| /* |
| * short4: Four 16 bit signed integers |
| * |
| * Vector version of the basic short type. Provides four short fields packed |
| * into a single 64 bit field with 64 bit alignment. |
| */ |
| typedef short __attribute__((ext_vector_type(4))) short4; |
| |
| /* |
| * int2: Two 32 bit signed integers |
| * |
| * Vector version of the basic int type. Provides two int fields packed into a |
| * single 64 bit field with 64 bit alignment. |
| */ |
| typedef int __attribute__((ext_vector_type(2))) int2; |
| |
| /* |
| * int3: Three 32 bit signed integers |
| * |
| * Vector version of the basic int type. Provides three int fields packed into a |
| * single 128 bit field with 128 bit alignment. |
| */ |
| typedef int __attribute__((ext_vector_type(3))) int3; |
| |
| /* |
| * int4: Four 32 bit signed integers |
| * |
| * Vector version of the basic int type. Provides two four fields packed into a |
| * single 128 bit field with 128 bit alignment. |
| */ |
| typedef int __attribute__((ext_vector_type(4))) int4; |
| |
| /* |
| * long2: Two 64 bit signed integers |
| * |
| * Vector version of the basic long type. Provides two long fields packed into a |
| * single 128 bit field with 128 bit alignment. |
| */ |
| typedef long __attribute__((ext_vector_type(2))) long2; |
| |
| /* |
| * long3: Three 64 bit signed integers |
| * |
| * Vector version of the basic long type. Provides three long fields packed into |
| * a single 256 bit field with 256 bit alignment. |
| */ |
| typedef long __attribute__((ext_vector_type(3))) long3; |
| |
| /* |
| * long4: Four 64 bit signed integers |
| * |
| * Vector version of the basic long type. Provides four long fields packed into |
| * a single 256 bit field with 256 bit alignment. |
| */ |
| typedef long __attribute__((ext_vector_type(4))) long4; |
| |
| #endif // RENDERSCRIPT_RS_VALUE_TYPES_RSH |