Add support for Float64 (double) to RenderScript.
Change-Id: Iad1c4adadf657a46aa38a3fad7813927e643e29d
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 1312036..159e070 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -358,6 +358,10 @@
synchronized void nScriptSetVarF(int id, int slot, float val) {
rsnScriptSetVarF(mContext, id, slot, val);
}
+ native void rsnScriptSetVarD(int con, int id, int slot, double val);
+ synchronized void nScriptSetVarD(int id, int slot, double val) {
+ rsnScriptSetVarD(mContext, id, slot, val);
+ }
native void rsnScriptSetVarV(int con, int id, int slot, byte[] val);
synchronized void nScriptSetVarV(int id, int slot, byte[] val) {
rsnScriptSetVarV(mContext, id, slot, val);
diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java
index 19c444c..8772c4c 100644
--- a/graphics/java/android/renderscript/Script.java
+++ b/graphics/java/android/renderscript/Script.java
@@ -72,6 +72,10 @@
mRS.nScriptSetVarF(mID, index, v);
}
+ public void setVar(int index, double v) {
+ mRS.nScriptSetVarD(mID, index, v);
+ }
+
public void setVar(int index, int v) {
mRS.nScriptSetVarI(mID, index, v);
}
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index f386537..ee2080e 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -791,11 +791,18 @@
static void
nScriptSetVarF(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, float val)
{
- LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%f)", con, (void *)script, slot, val);
+ LOG_API("nScriptSetVarF, con(%p), s(%p), slot(%i), val(%f)", con, (void *)script, slot, val);
rsScriptSetVarF(con, (RsScript)script, slot, val);
}
static void
+nScriptSetVarD(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, double val)
+{
+ LOG_API("nScriptSetVarD, con(%p), s(%p), slot(%i), val(%lf)", con, (void *)script, slot, val);
+ rsScriptSetVarD(con, (RsScript)script, slot, val);
+}
+
+static void
nScriptSetVarV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data)
{
LOG_API("nScriptSetVarV, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
@@ -1281,6 +1288,7 @@
{"rsnScriptInvokeV", "(III[B)V", (void*)nScriptInvokeV },
{"rsnScriptSetVarI", "(IIII)V", (void*)nScriptSetVarI },
{"rsnScriptSetVarF", "(IIIF)V", (void*)nScriptSetVarF },
+{"rsnScriptSetVarD", "(IIID)V", (void*)nScriptSetVarD },
{"rsnScriptSetVarV", "(III[B)V", (void*)nScriptSetVarV },
{"rsnScriptCBegin", "(I)V", (void*)nScriptCBegin },