1adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines/* 2adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * Copyright (C) 2012 The Android Open Source Project 3adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * 4adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 5adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * you may not use this file except in compliance with the License. 6adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * You may obtain a copy of the License at 7adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * 8adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * http://www.apache.org/licenses/LICENSE-2.0 9adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * 10adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * Unless required by applicable law or agreed to in writing, software 11adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 12adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * See the License for the specific language governing permissions and 14adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines * limitations under the License. 15adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines */ 16adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 17adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hinespackage com.android.rs.test; 18adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 19adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hinesimport android.content.Context; 20adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hinesimport android.content.res.Resources; 21adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hinesimport android.renderscript.*; 22adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 23adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hinespublic class UT_array_alloc extends UnitTest { 24adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines private Resources mRes; 25adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 26adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines protected UT_array_alloc(RSTestCore rstc, Resources res, Context ctx) { 27adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines super(rstc, "Array Allocation", ctx); 28adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines mRes = res; 29adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines } 30adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 31adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines public void run() { 32adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines RenderScript pRS = RenderScript.create(mCtx); 3358b2b2412864891686bf0e2c9940ad2b58808822Stephen Hines ScriptC_array_alloc s = new ScriptC_array_alloc(pRS); 34adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines pRS.setMessageHandler(mRsMessage); 35adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 36adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines int dimX = s.get_dimX(); 37adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines Allocation[] Arr = new Allocation[dimX]; 38adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines Type.Builder typeBuilder = new Type.Builder(pRS, Element.I32(pRS)); 39adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines Type T = typeBuilder.setX(1).create(); 40adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines for (int i = 0; i < dimX; i++) { 41adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines Allocation A = Allocation.createTyped(pRS, T); 42adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines Arr[i] = A; 43adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines } 44adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines s.set_a(Arr); 45adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines 46adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines s.invoke_array_alloc_test(); 47adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines pRS.finish(); 48adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines waitForMessage(); 49adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines pRS.destroy(); 50adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines passTest(); 51adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines } 52adeb809201fcb77ba2b76a814ae4cdc9dacb326bStephen Hines} 53