• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #pragma version(1)
2 #pragma rs java_package_name(android.renderscript.cts)
3 
4 void test_i8(const char *ain, uchar *aout) {
5     aout[0] = ain[0] + 1;
6     return;
7 }
8 
9 void test_i8_2(const char2 *ain, uchar2 *aout) {
10     aout[0].x = ain[0].x + 1;
11     aout[0].y = ain[0].y + 1;
12     return;
13 }
14 
15 void test_i8_3(const char3 *ain, uchar3 *aout) {
16     aout[0].x = ain[0].x + 1;
17     aout[0].y = ain[0].y + 1;
18     aout[0].z = ain[0].z + 1;
19     return;
20 }
21 
22 void test_i8_4(const char4 *ain, uchar4 *aout) {
23     aout[0].x = ain[0].x + 1;
24     aout[0].y = ain[0].y + 1;
25     aout[0].z = ain[0].z + 1;
26     aout[0].w = ain[0].w + 1;
27     return;
28 }
29 
30 void test_i16(const short *ain, ushort *aout) {
31     aout[0] = ain[0] + 1;
32     return;
33 }
34 
35 void test_i16_2(const short2 *ain, ushort2 *aout) {
36     aout[0].x = ain[0].x + 1;
37     aout[0].y = ain[0].y + 1;
38     return;
39 }
40 
41 void test_i16_3(const short3 *ain, ushort3 *aout) {
42     aout[0].x = ain[0].x + 1;
43     aout[0].y = ain[0].y + 1;
44     aout[0].z = ain[0].z + 1;
45     return;
46 }
47 
48 void test_i16_4(const short4 *ain, ushort4 *aout) {
49     aout[0].x = ain[0].x + 1;
50     aout[0].y = ain[0].y + 1;
51     aout[0].z = ain[0].z + 1;
52     aout[0].w = ain[0].w + 1;
53     return;
54 }
55 
56 void test_i32(const int *ain, uint *aout) {
57     aout[0] = ain[0] + 1;
58     return;
59 }
60 
61 void test_i32_2(const int2 *ain, uint2 *aout) {
62     aout[0].x = ain[0].x + 1;
63     aout[0].y = ain[0].y + 1;
64     return;
65 }
66 
67 void test_i32_3(const int3 *ain, uint3 *aout) {
68     aout[0].x = ain[0].x + 1;
69     aout[0].y = ain[0].y + 1;
70     aout[0].z = ain[0].z + 1;
71     return;
72 }
73 
74 void test_i32_4(const int4 *ain, uint4 *aout) {
75     aout[0].x = ain[0].x + 1;
76     aout[0].y = ain[0].y + 1;
77     aout[0].z = ain[0].z + 1;
78     aout[0].w = ain[0].w + 1;
79     return;
80 }
81 
82 void test_i64(const long *ain, ulong *aout) {
83     aout[0] = ain[0] + 1;
84     return;
85 }
86 
87 void test_i64_2(const long2 *ain, ulong2 *aout) {
88     aout[0].x = ain[0].x + 1;
89     aout[0].y = ain[0].y + 1;
90     return;
91 }
92 
93 void test_i64_3(const long3 *ain, ulong3 *aout) {
94     aout[0].x = ain[0].x + 1;
95     aout[0].y = ain[0].y + 1;
96     aout[0].z = ain[0].z + 1;
97     return;
98 }
99 
100 void test_i64_4(const long4 *ain, ulong4 *aout) {
101     aout[0].x = ain[0].x + 1;
102     aout[0].y = ain[0].y + 1;
103     aout[0].z = ain[0].z + 1;
104     aout[0].w = ain[0].w + 1;
105     return;
106 }
107 
108 void test_f32(const float *ain, float *aout) {
109     aout[0] = ain[0] + 1.0f;
110     return;
111 }
112 
113 void test_f32_2(const float2 *ain, float2 *aout) {
114     aout[0].x = ain[0].x + 1.0f;
115     aout[0].y = ain[0].y + 1.0f;
116     return;
117 }
118 
119 void test_f32_3(const float3 *ain, float3 *aout) {
120     aout[0].x = ain[0].x + 1.0f;
121     aout[0].y = ain[0].y + 1.0f;
122     aout[0].z = ain[0].z + 1.0f;
123     return;
124 }
125 
126 void test_f32_4(const float4 *ain, float4 *aout) {
127     aout[0].x = ain[0].x + 1.0f;
128     aout[0].y = ain[0].y + 1.0f;
129     aout[0].z = ain[0].z + 1.0f;
130     aout[0].w = ain[0].w + 1.0f;
131     return;
132 }
133 
134 void test_f64(const double *ain, double *aout) {
135     aout[0] = ain[0] + 1.0;
136     return;
137 }
138 
139 void test_f64_2(const double2 *ain, double2 *aout) {
140     aout[0].x = ain[0].x + 1.0;
141     aout[0].y = ain[0].y + 1.0;
142     return;
143 }
144 
145 void test_f64_3(const double3 *ain, double3 *aout) {
146     aout[0].x = ain[0].x + 1.0;
147     aout[0].y = ain[0].y + 1.0;
148     aout[0].z = ain[0].z + 1.0;
149     return;
150 }
151 
152 void test_f64_4(const double4 *ain, double4 *aout) {
153     aout[0].x = ain[0].x + 1.0;
154     aout[0].y = ain[0].y + 1.0;
155     aout[0].z = ain[0].z + 1.0;
156     aout[0].w = ain[0].w + 1.0;
157     return;
158 }
159 
160 struct fe_test {
161     int i;
162     float f;
163 };
164 
165 void test_struct(const struct fe_test *ain, struct fe_test *aout) {
166     aout[0].i = ain[0].i + 1;
167     aout[0].f = ain[0].f + 1.0f;
168     return;
169 }
170 
171 void test_bool(const bool *ain, bool *aout) {
172     aout[0] = !ain[0];
173     return;
174 }
175