Loading graphics/java/android/renderscript/Allocation.java +0 −15 Original line number Diff line number Diff line Loading @@ -162,7 +162,6 @@ public class Allocation extends BaseObj { } public void subData2D(int xoff, int yoff, int w, int h, int[] d) { mRS.validate(); mRS.nAllocationSubData2D(mID, xoff, yoff, w, h, d, d.length * 4); Loading @@ -183,20 +182,6 @@ public class Allocation extends BaseObj { mRS.nAllocationRead(mID, d); } public void data(Object o) { mRS.validate(); mRS.nAllocationSubDataFromObject(mID, mType, 0, o); } public void read(Object o) { mRS.validate(); mRS.nAllocationSubReadFromObject(mID, mType, 0, o); } public void subData(int offset, Object o) { mRS.validate(); mRS.nAllocationSubDataFromObject(mID, mType, offset, o); } public class Adapter1D extends BaseObj { Adapter1D(int id, RenderScript rs) { Loading graphics/java/android/renderscript/RenderScript.java +0 −16 Original line number Diff line number Diff line Loading @@ -177,14 +177,6 @@ public class RenderScript { synchronized int nTypeCreate() { return rsnTypeCreate(mContext); } native void rsnTypeFinalDestroy(int con, Type t); synchronized void nTypeFinalDestroy(Type t) { rsnTypeFinalDestroy(mContext, t); } native void rsnTypeSetupFields(int con, Type t, int[] types, int[] bits, Field[] IDs); synchronized void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs) { rsnTypeSetupFields(mContext, t, types, bits, IDs); } native void rsnTypeGetNativeData(int con, int id, int[] typeData); synchronized void nTypeGetNativeData(int id, int[] typeData) { rsnTypeGetNativeData(mContext, id, typeData); Loading Loading @@ -257,14 +249,6 @@ public class RenderScript { synchronized void nAllocationRead(int id, float[] d) { rsnAllocationRead(mContext, id, d); } native void rsnAllocationSubDataFromObject(int con, int id, Type t, int offset, Object o); synchronized void nAllocationSubDataFromObject(int id, Type t, int offset, Object o) { rsnAllocationSubDataFromObject(mContext, id, t, offset, o); } native void rsnAllocationSubReadFromObject(int con, int id, Type t, int offset, Object o); synchronized void nAllocationSubReadFromObject(int id, Type t, int offset, Object o) { rsnAllocationSubReadFromObject(mContext, id, t, offset, o); } native int rsnAllocationGetType(int con, int id); synchronized int nAllocationGetType(int id) { return rsnAllocationGetType(mContext, id); Loading graphics/java/android/renderscript/Type.java +0 −6 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ public class Type extends BaseObj { int mElementCount; Element mElement; private int mNativeCache; Class mJavaClass; public Element getElement() { Loading Loading @@ -98,14 +97,9 @@ public class Type extends BaseObj { Type(int id, RenderScript rs) { super(id, rs); mNativeCache = 0; } protected void finalize() throws Throwable { if(mNativeCache != 0) { mRS.nTypeFinalDestroy(this); mNativeCache = 0; } super.finalize(); } Loading graphics/jni/android_renderscript_RenderScript.cpp +0 −164 Original line number Diff line number Diff line Loading @@ -70,9 +70,6 @@ static void _nInit(JNIEnv *_env, jclass _this) jclass bitmapClass = _env->FindClass("android/graphics/Bitmap"); gNativeBitmapID = _env->GetFieldID(bitmapClass, "mNativeBitmap", "I"); jclass typeClass = _env->FindClass("android/renderscript/Type"); gTypeNativeCache = _env->GetFieldID(typeClass, "mNativeCache", "I"); } static void nInitElements(JNIEnv *_env, jobject _this, jint a8, jint rgba4444, jint rgba8888, jint rgb565) Loading Loading @@ -360,124 +357,6 @@ nTypeGetNativeData(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArra } } static void * SF_LoadInt(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((int32_t *)buffer)[0] = _env->GetIntField(_obj, _field); return ((uint8_t *)buffer) + 4; } static void * SF_LoadShort(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((int16_t *)buffer)[0] = _env->GetShortField(_obj, _field); return ((uint8_t *)buffer) + 2; } static void * SF_LoadByte(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((int8_t *)buffer)[0] = _env->GetByteField(_obj, _field); return ((uint8_t *)buffer) + 1; } static void * SF_LoadFloat(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((float *)buffer)[0] = _env->GetFloatField(_obj, _field); return ((uint8_t *)buffer) + 4; } static void * SF_SaveInt(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetIntField(_obj, _field, ((int32_t *)buffer)[0]); return ((uint8_t *)buffer) + 4; } static void * SF_SaveShort(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetShortField(_obj, _field, ((int16_t *)buffer)[0]); return ((uint8_t *)buffer) + 2; } static void * SF_SaveByte(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetByteField(_obj, _field, ((int8_t *)buffer)[0]); return ((uint8_t *)buffer) + 1; } static void * SF_SaveFloat(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetFloatField(_obj, _field, ((float *)buffer)[0]); return ((uint8_t *)buffer) + 4; } struct TypeFieldCache { jfieldID field; int bits; void * (*ptr)(JNIEnv *, jobject, jfieldID, void *buffer); void * (*readPtr)(JNIEnv *, jobject, jfieldID, void *buffer); }; struct TypeCache { int fieldCount; int size; TypeFieldCache fields[1]; }; //{"nTypeFinalDestroy", "(Landroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, static void nTypeFinalDestroy(JNIEnv *_env, jobject _this, RsContext con, jobject _type) { TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); free(tc); } // native void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs); static void nTypeSetupFields(JNIEnv *_env, jobject _this, RsContext con, jobject _type, jintArray _types, jintArray _bits, jobjectArray _IDs) { int fieldCount = _env->GetArrayLength(_types); size_t structSize = sizeof(TypeCache) + (sizeof(TypeFieldCache) * (fieldCount-1)); TypeCache *tc = (TypeCache *)malloc(structSize); memset(tc, 0, structSize); TypeFieldCache *tfc = &tc->fields[0]; tc->fieldCount = fieldCount; _env->SetIntField(_type, gTypeNativeCache, (jint)tc); jint *fType = _env->GetIntArrayElements(_types, NULL); jint *fBits = _env->GetIntArrayElements(_bits, NULL); for (int ct=0; ct < fieldCount; ct++) { jobject field = _env->GetObjectArrayElement(_IDs, ct); tfc[ct].field = _env->FromReflectedField(field); tfc[ct].bits = fBits[ct]; switch(fType[ct]) { case RS_TYPE_FLOAT_32: tfc[ct].ptr = SF_LoadFloat; tfc[ct].readPtr = SF_SaveFloat; break; case RS_TYPE_UNSIGNED_32: case RS_TYPE_SIGNED_32: tfc[ct].ptr = SF_LoadInt; tfc[ct].readPtr = SF_SaveInt; break; case RS_TYPE_UNSIGNED_16: case RS_TYPE_SIGNED_16: tfc[ct].ptr = SF_LoadShort; tfc[ct].readPtr = SF_SaveShort; break; case RS_TYPE_UNSIGNED_8: case RS_TYPE_SIGNED_8: tfc[ct].ptr = SF_LoadByte; tfc[ct].readPtr = SF_SaveByte; break; } tc->size += 4; } _env->ReleaseIntArrayElements(_types, fType, JNI_ABORT); _env->ReleaseIntArrayElements(_bits, fBits, JNI_ABORT); } // ----------------------------------- static jint Loading Loading @@ -699,45 +578,6 @@ nAllocationRead_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jfloat _env->ReleaseFloatArrayElements(data, ptr, 0); } //{"nAllocationDataFromObject", "(ILandroid/renderscript/Type;Ljava/lang/Object;)V", (void*)nAllocationDataFromObject }, static void nAllocationSubDataFromObject(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject _type, jint offset, jobject _o) { LOG_API("nAllocationDataFromObject con(%p), alloc(%p)", con, (RsAllocation)alloc); const TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); void * bufAlloc = malloc(tc->size); void * buf = bufAlloc; for (int ct=0; ct < tc->fieldCount; ct++) { const TypeFieldCache *tfc = &tc->fields[ct]; buf = tfc->ptr(_env, _o, tfc->field, buf); } rsAllocation1DSubData(con, (RsAllocation)alloc, offset, 1, bufAlloc, tc->size); free(bufAlloc); } static void nAllocationSubReadFromObject(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject _type, jint offset, jobject _o) { LOG_API("nAllocationReadFromObject con(%p), alloc(%p)", con, (RsAllocation)alloc); assert(offset == 0); const TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); void * bufAlloc = malloc(tc->size); void * buf = bufAlloc; rsAllocationRead(con, (RsAllocation)alloc, bufAlloc); for (int ct=0; ct < tc->fieldCount; ct++) { const TypeFieldCache *tfc = &tc->fields[ct]; buf = tfc->readPtr(_env, _o, tfc->field, buf); } free(bufAlloc); } static jint nAllocationGetType(JNIEnv *_env, jobject _this, RsContext con, jint a) { Loading Loading @@ -1397,8 +1237,6 @@ static JNINativeMethod methods[] = { {"rsnTypeBegin", "(II)V", (void*)nTypeBegin }, {"rsnTypeAdd", "(III)V", (void*)nTypeAdd }, {"rsnTypeCreate", "(I)I", (void*)nTypeCreate }, {"rsnTypeFinalDestroy", "(ILandroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, {"rsnTypeSetupFields", "(ILandroid/renderscript/Type;[I[I[Ljava/lang/reflect/Field;)V", (void*)nTypeSetupFields }, {"rsnTypeGetNativeData", "(II[I)V", (void*)nTypeGetNativeData }, {"rsnAllocationCreateTyped", "(II)I", (void*)nAllocationCreateTyped }, Loading @@ -1417,8 +1255,6 @@ static JNINativeMethod methods[] = { {"rsnAllocationSubData2D", "(IIIIII[FI)V", (void*)nAllocationSubData2D_f }, {"rsnAllocationRead", "(II[I)V", (void*)nAllocationRead_i }, {"rsnAllocationRead", "(II[F)V", (void*)nAllocationRead_f }, {"rsnAllocationSubDataFromObject", "(IILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubDataFromObject }, {"rsnAllocationSubReadFromObject", "(IILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubReadFromObject }, {"rsnAllocationGetType", "(II)I", (void*)nAllocationGetType}, {"rsnAdapter1DBindAllocation", "(III)V", (void*)nAdapter1DBindAllocation }, Loading Loading
graphics/java/android/renderscript/Allocation.java +0 −15 Original line number Diff line number Diff line Loading @@ -162,7 +162,6 @@ public class Allocation extends BaseObj { } public void subData2D(int xoff, int yoff, int w, int h, int[] d) { mRS.validate(); mRS.nAllocationSubData2D(mID, xoff, yoff, w, h, d, d.length * 4); Loading @@ -183,20 +182,6 @@ public class Allocation extends BaseObj { mRS.nAllocationRead(mID, d); } public void data(Object o) { mRS.validate(); mRS.nAllocationSubDataFromObject(mID, mType, 0, o); } public void read(Object o) { mRS.validate(); mRS.nAllocationSubReadFromObject(mID, mType, 0, o); } public void subData(int offset, Object o) { mRS.validate(); mRS.nAllocationSubDataFromObject(mID, mType, offset, o); } public class Adapter1D extends BaseObj { Adapter1D(int id, RenderScript rs) { Loading
graphics/java/android/renderscript/RenderScript.java +0 −16 Original line number Diff line number Diff line Loading @@ -177,14 +177,6 @@ public class RenderScript { synchronized int nTypeCreate() { return rsnTypeCreate(mContext); } native void rsnTypeFinalDestroy(int con, Type t); synchronized void nTypeFinalDestroy(Type t) { rsnTypeFinalDestroy(mContext, t); } native void rsnTypeSetupFields(int con, Type t, int[] types, int[] bits, Field[] IDs); synchronized void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs) { rsnTypeSetupFields(mContext, t, types, bits, IDs); } native void rsnTypeGetNativeData(int con, int id, int[] typeData); synchronized void nTypeGetNativeData(int id, int[] typeData) { rsnTypeGetNativeData(mContext, id, typeData); Loading Loading @@ -257,14 +249,6 @@ public class RenderScript { synchronized void nAllocationRead(int id, float[] d) { rsnAllocationRead(mContext, id, d); } native void rsnAllocationSubDataFromObject(int con, int id, Type t, int offset, Object o); synchronized void nAllocationSubDataFromObject(int id, Type t, int offset, Object o) { rsnAllocationSubDataFromObject(mContext, id, t, offset, o); } native void rsnAllocationSubReadFromObject(int con, int id, Type t, int offset, Object o); synchronized void nAllocationSubReadFromObject(int id, Type t, int offset, Object o) { rsnAllocationSubReadFromObject(mContext, id, t, offset, o); } native int rsnAllocationGetType(int con, int id); synchronized int nAllocationGetType(int id) { return rsnAllocationGetType(mContext, id); Loading
graphics/java/android/renderscript/Type.java +0 −6 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ public class Type extends BaseObj { int mElementCount; Element mElement; private int mNativeCache; Class mJavaClass; public Element getElement() { Loading Loading @@ -98,14 +97,9 @@ public class Type extends BaseObj { Type(int id, RenderScript rs) { super(id, rs); mNativeCache = 0; } protected void finalize() throws Throwable { if(mNativeCache != 0) { mRS.nTypeFinalDestroy(this); mNativeCache = 0; } super.finalize(); } Loading
graphics/jni/android_renderscript_RenderScript.cpp +0 −164 Original line number Diff line number Diff line Loading @@ -70,9 +70,6 @@ static void _nInit(JNIEnv *_env, jclass _this) jclass bitmapClass = _env->FindClass("android/graphics/Bitmap"); gNativeBitmapID = _env->GetFieldID(bitmapClass, "mNativeBitmap", "I"); jclass typeClass = _env->FindClass("android/renderscript/Type"); gTypeNativeCache = _env->GetFieldID(typeClass, "mNativeCache", "I"); } static void nInitElements(JNIEnv *_env, jobject _this, jint a8, jint rgba4444, jint rgba8888, jint rgb565) Loading Loading @@ -360,124 +357,6 @@ nTypeGetNativeData(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArra } } static void * SF_LoadInt(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((int32_t *)buffer)[0] = _env->GetIntField(_obj, _field); return ((uint8_t *)buffer) + 4; } static void * SF_LoadShort(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((int16_t *)buffer)[0] = _env->GetShortField(_obj, _field); return ((uint8_t *)buffer) + 2; } static void * SF_LoadByte(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((int8_t *)buffer)[0] = _env->GetByteField(_obj, _field); return ((uint8_t *)buffer) + 1; } static void * SF_LoadFloat(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { ((float *)buffer)[0] = _env->GetFloatField(_obj, _field); return ((uint8_t *)buffer) + 4; } static void * SF_SaveInt(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetIntField(_obj, _field, ((int32_t *)buffer)[0]); return ((uint8_t *)buffer) + 4; } static void * SF_SaveShort(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetShortField(_obj, _field, ((int16_t *)buffer)[0]); return ((uint8_t *)buffer) + 2; } static void * SF_SaveByte(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetByteField(_obj, _field, ((int8_t *)buffer)[0]); return ((uint8_t *)buffer) + 1; } static void * SF_SaveFloat(JNIEnv *_env, jobject _obj, jfieldID _field, void *buffer) { _env->SetFloatField(_obj, _field, ((float *)buffer)[0]); return ((uint8_t *)buffer) + 4; } struct TypeFieldCache { jfieldID field; int bits; void * (*ptr)(JNIEnv *, jobject, jfieldID, void *buffer); void * (*readPtr)(JNIEnv *, jobject, jfieldID, void *buffer); }; struct TypeCache { int fieldCount; int size; TypeFieldCache fields[1]; }; //{"nTypeFinalDestroy", "(Landroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, static void nTypeFinalDestroy(JNIEnv *_env, jobject _this, RsContext con, jobject _type) { TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); free(tc); } // native void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs); static void nTypeSetupFields(JNIEnv *_env, jobject _this, RsContext con, jobject _type, jintArray _types, jintArray _bits, jobjectArray _IDs) { int fieldCount = _env->GetArrayLength(_types); size_t structSize = sizeof(TypeCache) + (sizeof(TypeFieldCache) * (fieldCount-1)); TypeCache *tc = (TypeCache *)malloc(structSize); memset(tc, 0, structSize); TypeFieldCache *tfc = &tc->fields[0]; tc->fieldCount = fieldCount; _env->SetIntField(_type, gTypeNativeCache, (jint)tc); jint *fType = _env->GetIntArrayElements(_types, NULL); jint *fBits = _env->GetIntArrayElements(_bits, NULL); for (int ct=0; ct < fieldCount; ct++) { jobject field = _env->GetObjectArrayElement(_IDs, ct); tfc[ct].field = _env->FromReflectedField(field); tfc[ct].bits = fBits[ct]; switch(fType[ct]) { case RS_TYPE_FLOAT_32: tfc[ct].ptr = SF_LoadFloat; tfc[ct].readPtr = SF_SaveFloat; break; case RS_TYPE_UNSIGNED_32: case RS_TYPE_SIGNED_32: tfc[ct].ptr = SF_LoadInt; tfc[ct].readPtr = SF_SaveInt; break; case RS_TYPE_UNSIGNED_16: case RS_TYPE_SIGNED_16: tfc[ct].ptr = SF_LoadShort; tfc[ct].readPtr = SF_SaveShort; break; case RS_TYPE_UNSIGNED_8: case RS_TYPE_SIGNED_8: tfc[ct].ptr = SF_LoadByte; tfc[ct].readPtr = SF_SaveByte; break; } tc->size += 4; } _env->ReleaseIntArrayElements(_types, fType, JNI_ABORT); _env->ReleaseIntArrayElements(_bits, fBits, JNI_ABORT); } // ----------------------------------- static jint Loading Loading @@ -699,45 +578,6 @@ nAllocationRead_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jfloat _env->ReleaseFloatArrayElements(data, ptr, 0); } //{"nAllocationDataFromObject", "(ILandroid/renderscript/Type;Ljava/lang/Object;)V", (void*)nAllocationDataFromObject }, static void nAllocationSubDataFromObject(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject _type, jint offset, jobject _o) { LOG_API("nAllocationDataFromObject con(%p), alloc(%p)", con, (RsAllocation)alloc); const TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); void * bufAlloc = malloc(tc->size); void * buf = bufAlloc; for (int ct=0; ct < tc->fieldCount; ct++) { const TypeFieldCache *tfc = &tc->fields[ct]; buf = tfc->ptr(_env, _o, tfc->field, buf); } rsAllocation1DSubData(con, (RsAllocation)alloc, offset, 1, bufAlloc, tc->size); free(bufAlloc); } static void nAllocationSubReadFromObject(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject _type, jint offset, jobject _o) { LOG_API("nAllocationReadFromObject con(%p), alloc(%p)", con, (RsAllocation)alloc); assert(offset == 0); const TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); void * bufAlloc = malloc(tc->size); void * buf = bufAlloc; rsAllocationRead(con, (RsAllocation)alloc, bufAlloc); for (int ct=0; ct < tc->fieldCount; ct++) { const TypeFieldCache *tfc = &tc->fields[ct]; buf = tfc->readPtr(_env, _o, tfc->field, buf); } free(bufAlloc); } static jint nAllocationGetType(JNIEnv *_env, jobject _this, RsContext con, jint a) { Loading Loading @@ -1397,8 +1237,6 @@ static JNINativeMethod methods[] = { {"rsnTypeBegin", "(II)V", (void*)nTypeBegin }, {"rsnTypeAdd", "(III)V", (void*)nTypeAdd }, {"rsnTypeCreate", "(I)I", (void*)nTypeCreate }, {"rsnTypeFinalDestroy", "(ILandroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, {"rsnTypeSetupFields", "(ILandroid/renderscript/Type;[I[I[Ljava/lang/reflect/Field;)V", (void*)nTypeSetupFields }, {"rsnTypeGetNativeData", "(II[I)V", (void*)nTypeGetNativeData }, {"rsnAllocationCreateTyped", "(II)I", (void*)nAllocationCreateTyped }, Loading @@ -1417,8 +1255,6 @@ static JNINativeMethod methods[] = { {"rsnAllocationSubData2D", "(IIIIII[FI)V", (void*)nAllocationSubData2D_f }, {"rsnAllocationRead", "(II[I)V", (void*)nAllocationRead_i }, {"rsnAllocationRead", "(II[F)V", (void*)nAllocationRead_f }, {"rsnAllocationSubDataFromObject", "(IILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubDataFromObject }, {"rsnAllocationSubReadFromObject", "(IILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubReadFromObject }, {"rsnAllocationGetType", "(II)I", (void*)nAllocationGetType}, {"rsnAdapter1DBindAllocation", "(III)V", (void*)nAdapter1DBindAllocation }, Loading