1094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea/*
2094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * Copyright (C) 2012 The Android Open Source Project
3094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea *
4094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * Licensed under the Apache License, Version 2.0 (the "License");
5094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * you may not use this file except in compliance with the License.
6094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * You may obtain a copy of the License at
7094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea *
8094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea *      http://www.apache.org/licenses/LICENSE-2.0
9094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea *
10094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * Unless required by applicable law or agreed to in writing, software
11094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * distributed under the License is distributed on an "AS IS" BASIS,
12094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * See the License for the specific language governing permissions and
14094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea * limitations under the License.
15094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea */
16094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
17094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleapackage %PACKAGE%;
18094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
19094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleaimport android.content.res.Resources;
20094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleaimport android.renderscript.*;
21094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
22094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea// This is the renderer for the driver
23094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Maleapublic class DriverRS {
24094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    private Resources mRes;
25094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    private RenderScriptGL mRS;
26094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
27094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    private ScriptC_%TESTCASE% mScript;
28094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
29094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    public DriverRS() {
30094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    }
31094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
32094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    // This provides us with the renderscript context and resources that
33094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    // allow us to create the script that does rendering
34094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    public void init(RenderScriptGL rs, Resources res) {
35094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea        mRS = rs;
36094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea        mRes = res;
37094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea        initRS();
38094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    }
39094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
40094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    private void initRS() {
41094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea        mScript = new ScriptC_%TESTCASE% (mRS, mRes, R.raw.%TESTCASE%);
42094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea        mScript.invoke_entry(40);
43094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea    }
44094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea}
45094881f513ab366f7ffd0b2c7778ab50281ca59eDaniel Malea
46