blob: 32590f644866079e59acc3ba3f46b726d7b1dc9a [file] [log] [blame]
Yang Ni1ffd86b2015-01-07 09:16:40 -08001#include "rsScriptGroup2.h"
2
3#include "rsContext.h"
4
5namespace android {
6namespace renderscript {
7
Yang Nibd0af2d2015-03-23 17:14:58 -07008ScriptGroup2::~ScriptGroup2() {
9 if (mRSC->mHal.funcs.scriptgroup.destroy) {
10 mRSC->mHal.funcs.scriptgroup.destroy(mRSC, this);
11 }
12}
13
Yang Ni1ffd86b2015-01-07 09:16:40 -080014void ScriptGroup2::execute(Context* rsc) {
Yang Nieb9aa672015-01-27 14:32:25 -080015 if (rsc->mHal.funcs.scriptgroup.execute) {
16 rsc->mHal.funcs.scriptgroup.execute(rsc, this);
17 }
Yang Ni1ffd86b2015-01-07 09:16:40 -080018}
19
Yang Nida0f0692015-01-12 13:03:40 -080020RsScriptGroup2 rsi_ScriptGroup2Create(Context* rsc, const char* cacheDir,
21 size_t cacheDirLength,
22 RsClosure* closures, size_t numClosures) {
Yang Nieb9aa672015-01-27 14:32:25 -080023 ScriptGroup2* group = new ScriptGroup2(rsc, cacheDir, (Closure**)closures, numClosures);
Yang Ni1ffd86b2015-01-07 09:16:40 -080024
Yang Nieb9aa672015-01-27 14:32:25 -080025 // Create a device-specific implementation by calling the device driver
26 if (rsc->mHal.funcs.scriptgroup.init) {
27 rsc->mHal.funcs.scriptgroup.init(rsc, group);
28 }
Yang Ni1ffd86b2015-01-07 09:16:40 -080029
Yang Nibd0af2d2015-03-23 17:14:58 -070030 group->incUserRef();
31
Yang Nieb9aa672015-01-27 14:32:25 -080032 return group;
Yang Ni1ffd86b2015-01-07 09:16:40 -080033}
34
35} // namespace renderscript
36} // namespace android