Yang Ni | 1ffd86b | 2015-01-07 09:16:40 -0800 | [diff] [blame] | 1 | #include "rsScriptGroup2.h" |
| 2 | |
| 3 | #include "rsContext.h" |
| 4 | |
| 5 | namespace android { |
| 6 | namespace renderscript { |
| 7 | |
Yang Ni | bd0af2d | 2015-03-23 17:14:58 -0700 | [diff] [blame^] | 8 | ScriptGroup2::~ScriptGroup2() { |
| 9 | if (mRSC->mHal.funcs.scriptgroup.destroy) { |
| 10 | mRSC->mHal.funcs.scriptgroup.destroy(mRSC, this); |
| 11 | } |
| 12 | } |
| 13 | |
Yang Ni | 1ffd86b | 2015-01-07 09:16:40 -0800 | [diff] [blame] | 14 | void ScriptGroup2::execute(Context* rsc) { |
Yang Ni | eb9aa67 | 2015-01-27 14:32:25 -0800 | [diff] [blame] | 15 | if (rsc->mHal.funcs.scriptgroup.execute) { |
| 16 | rsc->mHal.funcs.scriptgroup.execute(rsc, this); |
| 17 | } |
Yang Ni | 1ffd86b | 2015-01-07 09:16:40 -0800 | [diff] [blame] | 18 | } |
| 19 | |
Yang Ni | da0f069 | 2015-01-12 13:03:40 -0800 | [diff] [blame] | 20 | RsScriptGroup2 rsi_ScriptGroup2Create(Context* rsc, const char* cacheDir, |
| 21 | size_t cacheDirLength, |
| 22 | RsClosure* closures, size_t numClosures) { |
Yang Ni | eb9aa67 | 2015-01-27 14:32:25 -0800 | [diff] [blame] | 23 | ScriptGroup2* group = new ScriptGroup2(rsc, cacheDir, (Closure**)closures, numClosures); |
Yang Ni | 1ffd86b | 2015-01-07 09:16:40 -0800 | [diff] [blame] | 24 | |
Yang Ni | eb9aa67 | 2015-01-27 14:32:25 -0800 | [diff] [blame] | 25 | // 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 Ni | 1ffd86b | 2015-01-07 09:16:40 -0800 | [diff] [blame] | 29 | |
Yang Ni | bd0af2d | 2015-03-23 17:14:58 -0700 | [diff] [blame^] | 30 | group->incUserRef(); |
| 31 | |
Yang Ni | eb9aa67 | 2015-01-27 14:32:25 -0800 | [diff] [blame] | 32 | return group; |
Yang Ni | 1ffd86b | 2015-01-07 09:16:40 -0800 | [diff] [blame] | 33 | } |
| 34 | |
| 35 | } // namespace renderscript |
| 36 | } // namespace android |