blob: c19bd4ef6d84eddf77af6c9d7e1cd891d1864e90 [file] [log] [blame]
/*
* 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