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);
 };