• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "RenderScript.h"
2 
3 using namespace android;
4 using namespace RSC;
5 
6 static const uint32_t dimX = 7, dimY = 5, dimZ = 3;
7 
testAllocationCreation(sp<RS> rs,sp<const Element> e,uint32_t nDims)8 void testAllocationCreation(sp<RS> rs, sp<const Element> e, uint32_t nDims) {
9     Type::Builder tb(rs, e);
10     tb.setX(dimX);
11     if (nDims >= 2)
12         tb.setY(dimY);
13     if (nDims >= 3)
14         tb.setZ(dimZ);
15 
16     sp<const Type> t = tb.create();
17     sp<Allocation> alloc = Allocation::createTyped(rs, t);
18 }
19 
main(int,char **)20 int main(int , char** )
21 {
22     sp<RS> rs = new RS();
23 
24     bool r = rs->init("/system/bin");
25 
26     // Test ability to create 1D, 2D and 3D allocations of f16 scalars and
27     // vectors
28     sp<const Element> half = Element::F16(rs);
29     sp<const Element> half2 = Element::F16_2(rs);
30     sp<const Element> half3 = Element::F16_3(rs);
31     sp<const Element> half4 = Element::F16_4(rs);
32 
33     for (uint32_t nDims = 1; nDims <= 3; nDims ++) {
34         testAllocationCreation(rs, half, nDims);
35         testAllocationCreation(rs, half2, nDims);
36         testAllocationCreation(rs, half3, nDims);
37         testAllocationCreation(rs, half4, nDims);
38     }
39 
40     printf("Test successful!");
41 }
42