rs_types.rsh revision c093685672e54657d87b953d44e514803889486c
1717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 2717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char int8_t; 3717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short int16_t; 4717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int32_t; 522fa371bf64b8aae786acfe5d711af21afb13a93Jason Samstypedef long long int64_t; 6717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 7717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef unsigned char uint8_t; 8717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef unsigned short uint16_t; 9717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef unsigned int uint32_t; 1022fa371bf64b8aae786acfe5d711af21afb13a93Jason Samstypedef unsigned long long uint64_t; 11717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 12717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint8_t uchar; 13717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint16_t ushort; 14717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint32_t uint; 1522fa371bf64b8aae786acfe5d711af21afb13a93Jason Samstypedef uint64_t ulong; 16717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 17c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_element; 18c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_type; 19c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_allocation; 20c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_sampler; 21c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_script; 22c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_mesh; 23c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_fragment; 24c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_vertex; 25c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_raster; 26c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_store; 27c093685672e54657d87b953d44e514803889486cJason Samstypedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_font; 28c093685672e54657d87b953d44e514803889486cJason Sams 29717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 30717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef float float2 __attribute__((ext_vector_type(2))); 31717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef float float3 __attribute__((ext_vector_type(3))); 32717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef float float4 __attribute__((ext_vector_type(4))); 33717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 34717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uchar uchar2 __attribute__((ext_vector_type(2))); 35717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uchar uchar3 __attribute__((ext_vector_type(3))); 36717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uchar uchar4 __attribute__((ext_vector_type(4))); 37717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 38717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef ushort ushort2 __attribute__((ext_vector_type(2))); 39717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef ushort ushort3 __attribute__((ext_vector_type(3))); 40717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef ushort ushort4 __attribute__((ext_vector_type(4))); 41717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 42717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint uint2 __attribute__((ext_vector_type(2))); 43717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint uint3 __attribute__((ext_vector_type(3))); 44717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint uint4 __attribute__((ext_vector_type(4))); 45717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 46717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char char2 __attribute__((ext_vector_type(2))); 47717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char char3 __attribute__((ext_vector_type(3))); 48717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char char4 __attribute__((ext_vector_type(4))); 49717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 50717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short short2 __attribute__((ext_vector_type(2))); 51717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short short3 __attribute__((ext_vector_type(3))); 52717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short short4 __attribute__((ext_vector_type(4))); 53717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 54717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int2 __attribute__((ext_vector_type(2))); 55717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int3 __attribute__((ext_vector_type(3))); 56717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int4 __attribute__((ext_vector_type(4))); 57717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 58717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams 5905f1cb4ca5ce203a4facc7ec0bd002af2ae324b7Alex Sakhartchouktypedef struct { 6022fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams float m[16]; 6122fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams} rs_matrix4x4; 6222fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams 6305f1cb4ca5ce203a4facc7ec0bd002af2ae324b7Alex Sakhartchouktypedef struct { 647fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams float m[9]; 657fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams} rs_matrix3x3; 667fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams 6705f1cb4ca5ce203a4facc7ec0bd002af2ae324b7Alex Sakhartchouktypedef struct { 687fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams float m[4]; 697fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams} rs_matrix2x2; 707fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams 710bd010a5bdf4df3021c92c70e92008d6640c5da6Alex Sakhartchouktypedef float4 rs_quaternion; 727fe6bce13c30b8d14dc833e06468666d28e56ee1Jason Sams 7397589cbd2b844543f6c8a6bc336f4e11a67828fdJason Sams#define RS_PACKED __attribute__((packed, aligned(4))) 7497589cbd2b844543f6c8a6bc336f4e11a67828fdJason Sams 75