rs_types.rsh revision 97589cbd2b844543f6c8a6bc336f4e11a67828fd
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
17efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_element;
18efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_type;
19efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_allocation;
20efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_sampler;
21efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_script;
22efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_mesh;
23efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_fragment;
24efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_vertex;
25efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_raster;
26efa1760c75956b828940f5f1548f0998c0ea5bd4Shih-wei Liaotypedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_store;
27717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
28717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef float float2 __attribute__((ext_vector_type(2)));
29717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef float float3 __attribute__((ext_vector_type(3)));
30717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef float float4 __attribute__((ext_vector_type(4)));
31717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
32717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uchar uchar2 __attribute__((ext_vector_type(2)));
33717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uchar uchar3 __attribute__((ext_vector_type(3)));
34717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uchar uchar4 __attribute__((ext_vector_type(4)));
35717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
36717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef ushort ushort2 __attribute__((ext_vector_type(2)));
37717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef ushort ushort3 __attribute__((ext_vector_type(3)));
38717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef ushort ushort4 __attribute__((ext_vector_type(4)));
39717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
40717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint uint2 __attribute__((ext_vector_type(2)));
41717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint uint3 __attribute__((ext_vector_type(3)));
42717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef uint uint4 __attribute__((ext_vector_type(4)));
43717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
44717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char char2 __attribute__((ext_vector_type(2)));
45717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char char3 __attribute__((ext_vector_type(3)));
46717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef char char4 __attribute__((ext_vector_type(4)));
47717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
48717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short short2 __attribute__((ext_vector_type(2)));
49717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short short3 __attribute__((ext_vector_type(3)));
50717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef short short4 __attribute__((ext_vector_type(4)));
51717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
52717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int2 __attribute__((ext_vector_type(2)));
53717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int3 __attribute__((ext_vector_type(3)));
54717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Samstypedef int int4 __attribute__((ext_vector_type(4)));
55717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
56717e34a50d2de026b5b66b4ccad06b7bc8b62b9eJason Sams
5722fa371bf64b8aae786acfe5d711af21afb13a93Jason Samstypedef struct {
5822fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams    float m[16];
5922fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams} rs_matrix4x4;
6022fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams
6197589cbd2b844543f6c8a6bc336f4e11a67828fdJason Sams#define RS_PACKED __attribute__((packed, aligned(4)))
6297589cbd2b844543f6c8a6bc336f4e11a67828fdJason Sams
63