10d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks// This file is automatically generated from 20d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks// frameworks/rs/tests/java_api/RSUnitTests/RSUnitTests.py 30d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks/* 40d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * Copyright (C) 2017 The Android Open Source Project 50d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * 60d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * Licensed under the Apache License, Version 2.0 (the "License"); 70d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * you may not use this file except in compliance with the License. 80d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * You may obtain a copy of the License at 90d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * 100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * http://www.apache.org/licenses/LICENSE-2.0 110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * 120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * Unless required by applicable law or agreed to in writing, software 130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * distributed under the License is distributed on an "AS IS" BASIS, 140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * See the License for the specific language governing permissions and 160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks * limitations under the License. 170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks */ 180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubankspackage com.android.rs.unittest; 200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.content.Context; 220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Element; 230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Element.DataKind; 240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.Element.DataType; 250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanksimport android.support.v8.renderscript.RenderScript; 260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubankspublic class UT_element extends UnitTest { 280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks Element simpleElem; 290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks Element complexElem; 300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks final String subElemNames[] = { 320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem0", 330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem1", 340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem2", 350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "arrayElem0", 360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "arrayElem1", 370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem3", 380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem4", 390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem5", 400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem6", 410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks "subElem_7", 420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks }; 430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks final int subElemArraySizes[] = { 450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 2, 490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 5, 500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1, 550d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks }; 560d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 570d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks final int subElemOffsets[] = { 580d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 0, 590d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 4, 600d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 8, 610d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 12, 620d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 20, 630d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 40, 640d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 44, 650d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 48, 660d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 64, 670d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 80, 680d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks }; 690d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 700d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks public UT_element(Context ctx) { 710d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks super("Element", ctx); 720d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 730d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 740d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private void initializeGlobals(RenderScript RS, ScriptC_element s) { 750d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks simpleElem = Element.F32_3(RS); 760d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem = ScriptField_ComplexStruct.createElement(RS); 770d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_simpleElem(simpleElem); 780d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.set_complexElem(complexElem); 790d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 800d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks ScriptField_ComplexStruct data = new ScriptField_ComplexStruct(RS, 1); 810d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.bind_complexStruct(data); 820d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 830d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 840d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private void testScriptSide(RenderScript pRS) { 850d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks ScriptC_element s = new ScriptC_element(pRS); 860d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks initializeGlobals(pRS, s); 870d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.invoke_element_test(); 880d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks pRS.finish(); 890d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.get_complexStruct().getAllocation().destroy(); 900d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.get_complexStruct().getElement().destroy(); 910d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks s.destroy(); 920d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 930d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 940d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks private void testJavaSide(RenderScript RS) { 950d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 960d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks int subElemCount = simpleElem.getSubElementCount(); 970d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("subElemCount == 0", subElemCount == 0); 980d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("simpleElem.getDataKind() == USER", 990d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks simpleElem.getDataKind() == DataKind.USER); 1000d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("simpleElem.getDataType() == FLOAT_32", 1010d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks simpleElem.getDataType() == DataType.FLOAT_32); 1020d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1030d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks subElemCount = complexElem.getSubElementCount(); 1040d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("subElemCount == 10", subElemCount == 10); 1050d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("complexElem.getDataKind() == USER", 1060d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem.getDataKind() == DataKind.USER); 1070d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("complexElemsimpleElem.getDataType() == NONE", 1080d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem.getDataType() == DataType.NONE); 1090d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1100d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks for (int i = 0; i < subElemCount; i++) { 1110d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("complexElem.getSubElement(i) != null", 1120d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem.getSubElement(i) != null); 1130d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("complexElem.getSubElementName(i).equals(subElemNames[i])", 1140d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem.getSubElementName(i).equals(subElemNames[i])); 1150d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("complexElem.getSubElementArraySize(i) == subElemArraySizes[i]", 1160d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem.getSubElementArraySize(i) == subElemArraySizes[i]); 1170d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks _RS_ASSERT("complexElem.getSubElementOffsetBytes(i) == subElemOffsets[i]", 1180d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks complexElem.getSubElementOffsetBytes(i) == subElemOffsets[i]); 1190d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1200d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1210d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks 1220d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks public void run() { 1230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks RenderScript pRS = createRenderScript(true); 1240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks testScriptSide(pRS); 1250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks testJavaSide(pRS); 1260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks passTest(); 1270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks pRS.destroy(); 1280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks } 1290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks} 130