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