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