From 31a7e42f4baa059352f0db119de38428e655eab2 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Tue, 26 Oct 2010 13:09:17 -0700 Subject: Begin adding async allocation creation. Change-Id: I5d1381699e2b334c1d824f357bd6b310a5f79be8 Implement async bitmap upload and clean up types. Change-Id: Icbe9894e04c1319351c1cd75b0e0017855198f20 --- graphics/java/android/renderscript/Allocation.java | 6 +++++- graphics/java/android/renderscript/Script.java | 17 +---------------- graphics/jni/android_renderscript_RenderScript.cpp | 6 +++--- 3 files changed, 9 insertions(+), 20 deletions(-) (limited to 'graphics') diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java index 6c08ce5..f8ad5cc 100644 --- a/graphics/java/android/renderscript/Allocation.java +++ b/graphics/java/android/renderscript/Allocation.java @@ -194,11 +194,15 @@ public class Allocation extends BaseObj { mRS.nAllocationRead(mID, d); } - public void resize(int dimX) { + public synchronized void resize(int dimX) { if ((mType.getY() > 0)|| (mType.getZ() > 0) || mType.getFaces() || mType.getLOD()) { throw new IllegalStateException("Resize only support for 1D allocations at this time."); } mRS.nAllocationResize1D(mID, dimX); + + int typeID = mRS.nAllocationGetType(mID); + mType = new Type(typeID, mRS); + mType.updateFromNative(); } /* diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java index 53a33e4..430789a 100644 --- a/graphics/java/android/renderscript/Script.java +++ b/graphics/java/android/renderscript/Script.java @@ -112,12 +112,10 @@ public class Script extends BaseObj { public static class FieldBase { protected Element mElement; - protected Type mType; protected Allocation mAllocation; protected void init(RenderScript rs, int dimx) { mAllocation = Allocation.createSized(rs, mElement, dimx); - mType = mAllocation.getType(); } protected FieldBase() { @@ -128,7 +126,7 @@ public class Script extends BaseObj { } public Type getType() { - return mType; + return mAllocation.getType(); } public Allocation getAllocation() { @@ -138,19 +136,6 @@ public class Script extends BaseObj { //@Override public void updateAllocation() { } - - - // - /* - public class ScriptField_UserField - extends android.renderscript.Script.FieldBase { - - protected - - } - - */ - } } diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 16d5bfe..dd108c0 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -377,7 +377,7 @@ static jint nAllocationCreateTyped(JNIEnv *_env, jobject _this, RsContext con, jint e) { LOG_API("nAllocationCreateTyped, con(%p), e(%p)", con, (RsElement)e); - return (jint) rsAllocationCreateTyped(con, (RsElement)e); + return (jint) rsaAllocationCreateTyped(con, (RsElement)e); } static void @@ -428,7 +428,7 @@ nAllocationCreateFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint dst const int w = bitmap.width(); const int h = bitmap.height(); const void* ptr = bitmap.getPixels(); - jint id = (jint)rsAllocationCreateFromBitmap(con, w, h, (RsElement)dstFmt, e, genMips, ptr); + jint id = (jint)rsaAllocationCreateFromBitmap(con, w, h, (RsElement)dstFmt, e, genMips, ptr); bitmap.unlockPixels(); return id; } @@ -488,7 +488,7 @@ nAllocationCreateFromAssetStream(JNIEnv *_env, jobject _this, RsContext con, jin const int w = bitmap.width(); const int h = bitmap.height(); const void* ptr = bitmap.getPixels(); - jint id = (jint)rsAllocationCreateFromBitmap(con, w, h, (RsElement)dstFmt, e, genMips, ptr); + jint id = (jint)rsaAllocationCreateFromBitmap(con, w, h, (RsElement)dstFmt, e, genMips, ptr); bitmap.unlockPixels(); return id; } -- cgit v1.1