You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.8 KiB
83 lines
1.8 KiB
/*
|
|
* Copyright (C) 2012 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.
|
|
*/
|
|
|
|
#pragma version(1)
|
|
#pragma rs java_package_name(com.android.rs.cppbasic)
|
|
#pragma rs_fp_relaxed
|
|
|
|
int g_i = 4;
|
|
|
|
float g_f = 5.9;
|
|
|
|
const static float3 gMonoMult = {0.299f, 0.587f, 0.114f};
|
|
|
|
bool *failed;
|
|
|
|
#define _RS_ASSERT(b) \
|
|
do { \
|
|
if (!(b)) { \
|
|
*failed = true; \
|
|
rsDebug(#b " FAILED", 0); \
|
|
} \
|
|
\
|
|
} while (0)
|
|
|
|
struct myStruct {
|
|
int i;
|
|
int j;
|
|
float f;
|
|
char c[3];
|
|
};
|
|
|
|
rs_allocation alloc;
|
|
rs_element elem;
|
|
rs_type type;
|
|
rs_sampler sampler;
|
|
rs_script script;
|
|
|
|
void root(const uchar4 *v_in, uchar4 *v_out) {
|
|
float4 f4 = rsUnpackColor8888(*v_in);
|
|
|
|
float3 mono = dot(f4.rgb, gMonoMult);
|
|
*v_out = rsPackColorTo8888(mono);
|
|
}
|
|
|
|
void foo(int i, float f) {
|
|
rsDebug("g_i", g_i);
|
|
rsDebug("g_f", g_f);
|
|
rsDebug("i", i);
|
|
rsDebug("f", f);
|
|
}
|
|
|
|
void bar(int i, int j, char k, int l, int m, int n) {
|
|
_RS_ASSERT(i == 47);
|
|
_RS_ASSERT(j == -3);
|
|
_RS_ASSERT(k == 'c');
|
|
_RS_ASSERT(l == -7);
|
|
_RS_ASSERT(m == 14);
|
|
_RS_ASSERT(n == -8);
|
|
}
|
|
|
|
int RS_KERNEL kern1(int i, uint32_t x, uint32_t y) {
|
|
return i + 10 * x + 100 *y;
|
|
}
|
|
|
|
void RS_KERNEL verify_kern1(int i, uint32_t x, uint32_t y) {
|
|
_RS_ASSERT(i == (5 + 10 * x + 100 * y));
|
|
rsDebug("i ", i);
|
|
}
|
|
|