1f827cadde659212b266b9635128c98515a7dcb01Stephen Hines/* 2f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * Copyright (C) 2013 The Android Open Source Project 3f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * 4f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 5f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * you may not use this file except in compliance with the License. 6f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * You may obtain a copy of the License at 7f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * 8f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * http://www.apache.org/licenses/LICENSE-2.0 9f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * 10f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * Unless required by applicable law or agreed to in writing, software 11f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 12f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * See the License for the specific language governing permissions and 14f827cadde659212b266b9635128c98515a7dcb01Stephen Hines * limitations under the License. 15f827cadde659212b266b9635128c98515a7dcb01Stephen Hines */ 16f827cadde659212b266b9635128c98515a7dcb01Stephen Hines 17f827cadde659212b266b9635128c98515a7dcb01Stephen Hinespackage com.android.rs.test_compat; 18f827cadde659212b266b9635128c98515a7dcb01Stephen Hines 19f827cadde659212b266b9635128c98515a7dcb01Stephen Hinesimport android.content.Context; 20f827cadde659212b266b9635128c98515a7dcb01Stephen Hinesimport android.content.res.Resources; 21f827cadde659212b266b9635128c98515a7dcb01Stephen Hinesimport android.support.v8.renderscript.*; 22f827cadde659212b266b9635128c98515a7dcb01Stephen Hines 23f827cadde659212b266b9635128c98515a7dcb01Stephen Hinespublic class UT_apitest extends UnitTest { 24f827cadde659212b266b9635128c98515a7dcb01Stephen Hines private Resources mRes; 25f827cadde659212b266b9635128c98515a7dcb01Stephen Hines 26f827cadde659212b266b9635128c98515a7dcb01Stephen Hines protected UT_apitest(RSTestCore rstc, Resources res, Context ctx) { 27f827cadde659212b266b9635128c98515a7dcb01Stephen Hines super(rstc, "API Test", ctx); 28f827cadde659212b266b9635128c98515a7dcb01Stephen Hines mRes = res; 29f827cadde659212b266b9635128c98515a7dcb01Stephen Hines } 30f827cadde659212b266b9635128c98515a7dcb01Stephen Hines 31f827cadde659212b266b9635128c98515a7dcb01Stephen Hines public void run() { 32f827cadde659212b266b9635128c98515a7dcb01Stephen Hines RenderScript pRS = RenderScript.create(mCtx); 33f827cadde659212b266b9635128c98515a7dcb01Stephen Hines ScriptC_apitest s = new ScriptC_apitest(pRS); 34f827cadde659212b266b9635128c98515a7dcb01Stephen Hines pRS.setMessageHandler(mRsMessage); 35f827cadde659212b266b9635128c98515a7dcb01Stephen Hines Element elem = Element.I8(pRS); 36f827cadde659212b266b9635128c98515a7dcb01Stephen Hines Type.Builder typeBuilder = new Type.Builder(pRS, elem); 377a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines 387a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines int x = 5; 397a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines int y = 7; 407a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines int z = 0; // Don't actually setZ() 417a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines s.set_x(x); 427a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines s.set_y(y); 437a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines s.set_z(z); 447a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines typeBuilder.setX(x).setY(y); 45f827cadde659212b266b9635128c98515a7dcb01Stephen Hines Type type = typeBuilder.create(); 46f827cadde659212b266b9635128c98515a7dcb01Stephen Hines Allocation alloc = Allocation.createTyped(pRS, type); 477a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines Allocation allocDst = Allocation.createTyped(pRS, type); 48f827cadde659212b266b9635128c98515a7dcb01Stephen Hines Sampler sampler = Sampler.CLAMP_NEAREST(pRS); 49f827cadde659212b266b9635128c98515a7dcb01Stephen Hines s.set_elemNonNull(elem); 50f827cadde659212b266b9635128c98515a7dcb01Stephen Hines s.set_typeNonNull(type); 51f827cadde659212b266b9635128c98515a7dcb01Stephen Hines s.set_allocNonNull(alloc); 527a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines s.set_allocDst(allocDst); 53f827cadde659212b266b9635128c98515a7dcb01Stephen Hines s.set_samplerNonNull(sampler); 54f827cadde659212b266b9635128c98515a7dcb01Stephen Hines s.set_scriptNonNull(s); 557a01126d25c081f5b613eea80e5ff7e6c75c940fStephen Hines s.bind_allocPtr(alloc); 56f827cadde659212b266b9635128c98515a7dcb01Stephen Hines 57f827cadde659212b266b9635128c98515a7dcb01Stephen Hines s.invoke_api_test(); 58f827cadde659212b266b9635128c98515a7dcb01Stephen Hines pRS.finish(); 59f827cadde659212b266b9635128c98515a7dcb01Stephen Hines waitForMessage(); 60f827cadde659212b266b9635128c98515a7dcb01Stephen Hines pRS.destroy(); 61f827cadde659212b266b9635128c98515a7dcb01Stephen Hines } 62f827cadde659212b266b9635128c98515a7dcb01Stephen Hines} 63