| // -rs-package-name android.support.v8.renderscript |
| |
| #pragma version(1) |
| #pragma rs java_package_name(foo) |
| |
| // "Divergent" = reflected code must have a runtime check for 32-bit |
| // versus 64-bit target. |
| |
| // non-divergent |
| int intVar; |
| |
| // non-divergent |
| int intArray[10]; |
| |
| // non-divergent |
| rs_matrix2x2 matVar; |
| |
| // non-divergent |
| rs_matrix2x2 matArray[10]; |
| |
| // divergent |
| rs_allocation allocVar; |
| |
| // divergent |
| rs_allocation allocArray[10]; |
| |
| struct NonDivergent { |
| int i; |
| int j; |
| }; |
| |
| struct NonDivergent ndVar; |
| |
| struct NonDivergent ndArray[10]; |
| |
| // 32-bit: 12 bytes; 64-bit: 48 bytes |
| struct Divergent { |
| int i; |
| rs_allocation a; |
| int j; |
| }; |
| |
| struct Divergent dVar; |
| |
| struct Divergent dArray[10]; |
| |
| // 32-bit: 20 bytes; 64-bit: 64 bytes |
| struct DivergentNest { |
| int x; |
| struct Divergent d; |
| int y; |
| }; |
| |
| struct DivergentNest dnVar; |
| |
| struct DivergentNest dnArray[10]; |
| |
| void intFe(const int *in, int *out, const int *data) { } |
| |
| void matFe(const int *in, int *out, const rs_matrix2x2 *data) { } |
| |
| void allocFe(const int *in, int *out, const rs_allocation *data) { } |
| |
| void ndFe(const int *in, int *out, const struct NonDivergent *data) { } |
| |
| void dFe(const int *in, int *out, const struct Divergent *data) { } |
| |
| void dnFe(const int *in, int *out, const struct DivergentNest *data) { } |
| |
| // for arguments, should get a helper struct that looks like struct NonDivergent |
| void ndInv(int i, int j) { } |
| |
| // for arguments, should get a helper struct that looks like struct Divergent |
| void dInv(int i, rs_allocation a, int j) { (void)a; } |
| |
| // for arguments, should get a helper struct that looks like struct DivergentNest |
| void dnInv(int x, struct Divergent d, int y) { (void)d; } |