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