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