Fix intrinsic creation to use the appropriate types.
Change-Id: I9f919ad410d8dac843da01afa9b14bd0d6b355ad
diff --git a/cpp/ScriptIntrinsics.cpp b/cpp/ScriptIntrinsics.cpp
index 2150d40..7436351 100644
--- a/cpp/ScriptIntrinsics.cpp
+++ b/cpp/ScriptIntrinsics.cpp
@@ -23,12 +23,12 @@
using namespace android;
using namespace renderscriptCpp;
-ScriptIntrinsic::ScriptIntrinsic(sp<RS> rs, int id, Element *e)
+ScriptIntrinsic::ScriptIntrinsic(sp<RS> rs, int id, sp<const Element> e)
: Script(NULL, rs) {
- mID = rsScriptIntrinsicCreate(rs->getContext(), id, e);
+ mID = rsScriptIntrinsicCreate(rs->getContext(), id, e->getID());
}
-ScriptIntrinsicBlend::ScriptIntrinsicBlend(sp<RS> rs, Element *e)
+ScriptIntrinsicBlend::ScriptIntrinsicBlend(sp<RS> rs, sp<const Element> e)
: ScriptIntrinsic(rs, RS_SCRIPT_INTRINSIC_ID_BLEND, e) {
}
@@ -95,7 +95,7 @@
Script::forEach(35, in, out, NULL, 0);
}
-ScriptIntrinsicBlur::ScriptIntrinsicBlur(sp<RS> rs, Element *e)
+ScriptIntrinsicBlur::ScriptIntrinsicBlur(sp<RS> rs, sp<const Element> e)
: ScriptIntrinsic(rs, RS_SCRIPT_INTRINSIC_ID_BLUR, e) {
}
diff --git a/cpp/rsCppStructs.h b/cpp/rsCppStructs.h
index a5df611..abd11c5 100644
--- a/cpp/rsCppStructs.h
+++ b/cpp/rsCppStructs.h
@@ -528,12 +528,12 @@
class ScriptIntrinsic : public Script {
protected:
- ScriptIntrinsic(sp<RS> rs, int id, Element *e);
+ ScriptIntrinsic(sp<RS> rs, int id, sp<const Element> e);
};
class ScriptIntrinsicBlend : public ScriptIntrinsic {
public:
- ScriptIntrinsicBlend(sp<RS> rs, Element *e);
+ ScriptIntrinsicBlend(sp<RS> rs, sp <const Element> e);
void blendClear(sp<Allocation> in, sp<Allocation> out);
void blendSrc(sp<Allocation> in, sp<Allocation> out);
void blendDst(sp<Allocation> in, sp<Allocation> out);
@@ -553,7 +553,7 @@
class ScriptIntrinsicBlur : public ScriptIntrinsic {
public:
- ScriptIntrinsicBlur(sp<RS> rs, Element *e);
+ ScriptIntrinsicBlur(sp<RS> rs, sp <const Element> e);
void blur(sp<Allocation> in, sp<Allocation> out);
void setRadius(float radius);
};