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.RenderScript;
230d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks
240d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubankspublic class UT_struct extends UnitTest {
250d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks
260d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks    public UT_struct(Context ctx) {
270d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        super("Struct", ctx);
280d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks    }
290d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks
300d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks    public void run() {
310d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        RenderScript pRS = createRenderScript(true);
320d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        ScriptC_struct s = new ScriptC_struct(pRS);
330d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks
340d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        ScriptField_Point2 p = new ScriptField_Point2(pRS, 1);
350d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        ScriptField_Point2.Item i = new ScriptField_Point2.Item();
360d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        int val = 100;
370d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        i.x = val;
380d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        i.y = val;
390d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        p.set(i, 0, true);
400d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        s.bind_point2(p);
410d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        s.invoke_struct_test(val);
420d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        pRS.finish();
430d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks
440d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        val = 200;
450d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        p.set_x(0, val, true);
460d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        p.set_y(0, val, true);
470d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        s.invoke_struct_test(val);
480d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        pRS.finish();
490d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        p.getAllocation().destroy();
500d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        p.getElement().destroy();
510d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        s.destroy();
520d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks        pRS.destroy();
530d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks    }
540d13f3929129bf7e34bde1ed3670195c37a180ebArthur Eubanks}
55