summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-11-15 12:14:26 -0800
committerJason Sams <rjsams@android.com>2009-11-15 12:14:26 -0800
commit7d787b4722eaeb79cab42c36060336e092b77b5f (patch)
tree4473dfb24df1040538d3ea222649a5ec5d4fd1d0 /graphics
parent04c585e3bcb75c85ceeacf2fd94ea4194f332404 (diff)
downloadframeworks_base-7d787b4722eaeb79cab42c36060336e092b77b5f.zip
frameworks_base-7d787b4722eaeb79cab42c36060336e092b77b5f.tar.gz
frameworks_base-7d787b4722eaeb79cab42c36060336e092b77b5f.tar.bz2
Add setPriority to allow wallpapers to run at lower cpu priority than default.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/java/android/renderscript/RenderScript.java16
-rw-r--r--graphics/jni/android_renderscript_RenderScript.cpp11
2 files changed, 27 insertions, 0 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index ea11882..a5bceb6 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -67,6 +67,7 @@ public class RenderScript {
native int nContextCreate(int dev, int ver, boolean useDepth);
native void nContextDestroy(int con);
native void nContextSetSurface(int w, int h, Surface sur);
+ native void nContextSetPriority(int p);
native void nContextBindRootScript(int script);
native void nContextBindSampler(int sampler, int slot);
@@ -218,6 +219,7 @@ public class RenderScript {
Element mElement_XY_F32;
Element mElement_XYZ_F32;
+
///////////////////////////////////////////////////////////////////////////////////
//
@@ -229,6 +231,20 @@ public class RenderScript {
}
public RSMessage mMessageCallback = null;
+ public enum Priority {
+ LOW (5), //ANDROID_PRIORITY_BACKGROUND + 5
+ NORMAL (-4); //ANDROID_PRIORITY_DISPLAY
+
+ int mID;
+ Priority(int id) {
+ mID = id;
+ }
+ }
+
+ public void contextSetPriority(Priority p) {
+ nContextSetPriority(p.mID);
+ }
+
private static class MessageThread extends Thread {
RenderScript mRS;
boolean mRun = true;
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index 709cb97..d311c33 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -158,6 +158,16 @@ nContextCreate(JNIEnv *_env, jobject _this, jint dev, jint ver, jboolean useDept
}
static void
+nContextSetPriority(JNIEnv *_env, jobject _this, jint p)
+{
+ RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+ LOG_API("ContextSetPriority, con(%p), priority(%i)", con, p);
+ rsContextSetPriority(con, p);
+}
+
+
+
+static void
nContextSetSurface(JNIEnv *_env, jobject _this, jint width, jint height, jobject wnd)
{
RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
@@ -1333,6 +1343,7 @@ static JNINativeMethod methods[] = {
{"nDeviceDestroy", "(I)V", (void*)nDeviceDestroy },
{"nDeviceSetConfig", "(III)V", (void*)nDeviceSetConfig },
{"nContextCreate", "(IIZ)I", (void*)nContextCreate },
+{"nContextSetPriority", "(I)V", (void*)nContextSetPriority },
{"nContextSetSurface", "(IILandroid/view/Surface;)V", (void*)nContextSetSurface },
{"nContextDestroy", "(I)V", (void*)nContextDestroy },
{"nContextPause", "()V", (void*)nContextPause },