diff options
| author | Jason Sams <jsams@google.com> | 2012-08-14 14:38:05 -0700 |
|---|---|---|
| committer | Jason Sams <jsams@google.com> | 2012-08-14 14:38:05 -0700 |
| commit | 8eaba4fee0c7b5325742c87187622fdff51d5eff (patch) | |
| tree | a599db9771336b4155db71f741ac63b01feb0323 /rsScriptIntrinsic.cpp | |
| parent | c3b8f060521ee952913b2ad0a12da911ec6a67ac (diff) | |
Intrinisics
Change-Id: I1ce02ecd853382a2c92823b021750b93f1786ccf
Diffstat (limited to 'rsScriptIntrinsic.cpp')
| -rw-r--r-- | rsScriptIntrinsic.cpp | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/rsScriptIntrinsic.cpp b/rsScriptIntrinsic.cpp new file mode 100644 index 00000000..8e48d419 --- /dev/null +++ b/rsScriptIntrinsic.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "rsContext.h" +#include "rsScriptIntrinsic.h" +#include <time.h> + +using namespace android; +using namespace android::renderscript; + +ScriptIntrinsic::ScriptIntrinsic(Context *rsc) : Script(rsc) { +} + +ScriptIntrinsic::~ScriptIntrinsic() { +} + +bool ScriptIntrinsic::init(Context *rsc, RsScriptIntrisicID iid, Element *e) { + mIntrinsicID = iid; + mElement.set(e); + rsc->mHal.funcs.script.initIntrinsic(rsc, this, iid, e); + + return true; +} + +bool ScriptIntrinsic::freeChildren() { + return false; +} + +void ScriptIntrinsic::setupScript(Context *rsc) { +} + +uint32_t ScriptIntrinsic::run(Context *rsc) { + rsAssert(!"ScriptIntrinsic::run - should not happen"); + return 0; +} + + +void ScriptIntrinsic::runForEach(Context *rsc, + uint32_t slot, + const Allocation * ain, + Allocation * aout, + const void * usr, + size_t usrBytes, + const RsScriptCall *sc) { + + rsc->mHal.funcs.script.invokeForEach(rsc, this, slot, ain, aout, usr, usrBytes, sc); +} + +void ScriptIntrinsic::Invoke(Context *rsc, uint32_t slot, const void *data, size_t len) { +} + +void ScriptIntrinsic::serialize(Context *rsc, OStream *stream) const { +} + +RsA3DClassID ScriptIntrinsic::getClassId() const { + return (RsA3DClassID)0; +} + + + +namespace android { +namespace renderscript { + + +RsScript rsi_ScriptIntrinsicCreate(Context *rsc, uint32_t id, RsElement ve) { + ScriptIntrinsic *si = new ScriptIntrinsic(rsc); + ALOGE("rsi_ScriptIntrinsicCreate %i", id); + if (!si->init(rsc, (RsScriptIntrisicID)id, (Element *)ve)) { + delete si; + return NULL; + } + return si; +} + +} +} + + |
