#include "RenderScript.h" using namespace android; using namespace RSC; static const uint32_t dimX = 7, dimY = 5, dimZ = 3; void testAllocationCreation(sp rs, sp e, uint32_t nDims) { Type::Builder tb(rs, e); tb.setX(dimX); if (nDims >= 2) tb.setY(dimY); if (nDims >= 3) tb.setZ(dimZ); sp t = tb.create(); sp alloc = Allocation::createTyped(rs, t); } int main(int , char** ) { sp rs = new RS(); bool r = rs->init("/system/bin"); // Test ability to create 1D, 2D and 3D allocations of f16 scalars and // vectors sp half = Element::F16(rs); sp half2 = Element::F16_2(rs); sp half3 = Element::F16_3(rs); sp half4 = Element::F16_4(rs); for (uint32_t nDims = 1; nDims <= 3; nDims ++) { testAllocationCreation(rs, half, nDims); testAllocationCreation(rs, half2, nDims); testAllocationCreation(rs, half3, nDims); testAllocationCreation(rs, half4, nDims); } printf("Test successful!"); }