Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31a7e42f authored by Jason Sams's avatar Jason Sams
Browse files

Begin adding async allocation creation.

Change-Id: I5d1381699e2b334c1d824f357bd6b310a5f79be8

Implement async bitmap upload and clean up types.

Change-Id: Icbe9894e04c1319351c1cd75b0e0017855198f20
parent cd44bf9c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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();
    }

    /*
+1 −16
Original line number Diff line number Diff line
@@ -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

        }

        */

    }
}
+3 −3
Original line number Diff line number Diff line
@@ -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;
    }
+2 −0
Original line number Diff line number Diff line
@@ -290,6 +290,8 @@ typedef struct {
// Async commands for returning new IDS
RsType rsaTypeCreate(RsContext, RsElement, uint32_t dimCount,
                     const RsDimension *dims, const uint32_t *vals);
RsAllocation rsaAllocationCreateTyped(RsContext rsc, RsType vtype);
RsAllocation rsaAllocationCreateFromBitmap(RsContext con, uint32_t w, uint32_t h, RsElement _dst, RsElement _src,  bool genMips, const void *data);


#ifndef NO_RS_FUNCS
+0 −22
Original line number Diff line number Diff line
@@ -104,17 +104,6 @@ TypeGetNativeData {
	param uint32_t typeDataSize
	}

AllocationCreateTyped {
	param RsType type
	ret RsAllocation
	}

AllocationCreateSized {
	param RsElement e
	param size_t count
	ret RsAllocation
	}

AllocationUpdateFromBitmap {
	param RsAllocation alloc
	param RsElement srcFmt
@@ -129,17 +118,6 @@ AllocationCreateBitmapRef {
	ret RsAllocation
	}

AllocationCreateFromBitmap {
	param uint32_t width
	param uint32_t height
	param RsElement dstFmt
	param RsElement srcFmt
	param bool genMips
	param const void * data
	ret RsAllocation
	}


AllocationUploadToTexture {
	param RsAllocation alloc
	param bool genMipMaps
Loading