1dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines#pragma version(1)
2dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
3dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines#pragma rs java_package_name(com.android.rs.test_v16)
4dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
5dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hinestypedef struct TestResult_s {
6dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    rs_allocation name;
7dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    bool pass;
8dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    float score;
9dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    int64_t time;
10dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines} TestResult;
11dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines//TestResult *g_results;
12dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
13dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hinesstatic int64_t g_time;
14dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
15de235208fd6bcaa29c95404d990f7b5e212435f9Jean-Luc Brouilletstatic inline void start(void) {
16dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    g_time = rsUptimeMillis();
17dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines}
18dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
19de235208fd6bcaa29c95404d990f7b5e212435f9Jean-Luc Brouilletstatic inline float end(uint32_t idx) {
20dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    int64_t t = rsUptimeMillis() - g_time;
21dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    //g_results[idx].time = t;
22dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    //rsDebug("test time", (int)t);
23dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    return ((float)t) / 1000.f;
24dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines}
25dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
26dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines#define _RS_ASSERT(b) \
27dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hinesdo { \
28dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    if (!(b)) { \
29dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines        failed = true; \
30dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines        rsDebug(#b " FAILED", 0); \
31dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines    } \
32dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines\
33dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines} while (0)
34dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines
35dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hines/* These constants must match those in UnitTest.java */
36dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hinesstatic const int RS_MSG_TEST_PASSED = 100;
37dbfa0bfd5516270482ebb9eff483ea058dfa19a9Stephen Hinesstatic const int RS_MSG_TEST_FAILED = 101;
38