16cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks/* 26cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * Copyright (C) 2017 The Android Open Source Project 36cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * 46cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * Licensed under the Apache License, Version 2.0 (the "License"); 56cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * you may not use this file except in compliance with the License. 66cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * You may obtain a copy of the License at 76cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * 86cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * http://www.apache.org/licenses/LICENSE-2.0 96cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * 106cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * Unless required by applicable law or agreed to in writing, software 116cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * distributed under the License is distributed on an "AS IS" BASIS, 126cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * See the License for the specific language governing permissions and 146cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks * limitations under the License. 156cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks */ 166cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 176cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubankspackage com.android.rs.unittest; 186cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 196cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.content.Context; 206cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.content.res.Resources; 216cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.renderscript.Allocation; 226cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.renderscript.Element; 236cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.renderscript.RenderScript; 246cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.renderscript.Sampler; 256cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanksimport android.renderscript.Type; 266cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 276cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubankspublic class UT_apitest extends UnitTest { 286cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 296cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks public UT_apitest(Context ctx) { 306cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks super("API Test", ctx); 316cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks } 326cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 336cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks public void run() { 346cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks RenderScript pRS = createRenderScript(true); 356cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks ScriptC_apitest s = new ScriptC_apitest(pRS); 366cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks Element elem = Element.I8(pRS); 376cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks Type.Builder typeBuilder = new Type.Builder(pRS, elem); 386cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 396cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks int x = 5; 406cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks int y = 7; 416cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks int z = 0; // Don't actually setZ() 426cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_x(x); 436cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_y(y); 446cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_z(z); 456cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks typeBuilder.setX(x).setY(y); 466cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks Type type = typeBuilder.create(); 476cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks Allocation alloc = Allocation.createTyped(pRS, type); 486cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks Allocation allocDst = Allocation.createTyped(pRS, type); 496cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks Sampler sampler = Sampler.CLAMP_NEAREST(pRS); 506cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_elemNonNull(elem); 516cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_typeNonNull(type); 526cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_allocNonNull(alloc); 536cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_allocDst(allocDst); 546cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_samplerNonNull(sampler); 556cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.set_scriptNonNull(s); 566cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.bind_allocPtr(alloc); 576cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks 586cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks s.invoke_api_test(); 596cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks pRS.finish(); 606cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks pRS.destroy(); 616cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks } 626cac172ca1fedbed3a1b2b3ddd82856aa6345393Arthur Eubanks} 63