1 #include "rsScriptGroup2.h"
2 
3 #include "rsContext.h"
4 
5 namespace android {
6 namespace renderscript {
7 
~ScriptGroup2()8 ScriptGroup2::~ScriptGroup2() {
9     if (mRSC->mHal.funcs.scriptgroup.destroy) {
10         mRSC->mHal.funcs.scriptgroup.destroy(mRSC, this);
11     }
12 }
13 
execute(Context * rsc)14 void ScriptGroup2::execute(Context* rsc) {
15     if (rsc->mHal.funcs.scriptgroup.execute) {
16         rsc->mHal.funcs.scriptgroup.execute(rsc, this);
17     }
18 }
19 
rsi_ScriptGroup2Create(Context * rsc,const char * name,size_t nameLength,const char * cacheDir,size_t cacheDirLength,RsClosure * closures,size_t numClosures)20 RsScriptGroup2 rsi_ScriptGroup2Create(Context* rsc, const char* name,
21                                       size_t nameLength,
22                                       const char* cacheDir,
23                                       size_t cacheDirLength,
24                                       RsClosure* closures, size_t numClosures) {
25     ScriptGroup2* group = new ScriptGroup2(rsc, name, cacheDir,
26                                            (Closure**)closures, numClosures);
27 
28     // Create a device-specific implementation by calling the device driver
29     if (rsc->mHal.funcs.scriptgroup.init) {
30         rsc->mHal.funcs.scriptgroup.init(rsc, group);
31     }
32 
33     group->incUserRef();
34 
35     return group;
36 }
37 
38 }  // namespace renderscript
39 }  // namespace android
40