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