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

Commit 19c5c7a7 authored by Alex Sakhartchouk's avatar Alex Sakhartchouk Committed by Android (Google) Code Review
Browse files

Merge "Code Cleanup and better Sampler creation method"

parents 4f413e41 a89094aa
Loading
Loading
Loading
Loading
+5 −18
Original line number Diff line number Diff line
@@ -473,25 +473,12 @@ public class RenderScript {
        return rsnScriptCCreate(mContext, resName, cacheDir, script, length);
    }

    native void rsnSamplerBegin(int con);
    synchronized void nSamplerBegin() {
    native int  rsnSamplerCreate(int con, int magFilter, int minFilter,
                                 int wrapS, int wrapT, int wrapR, float aniso);
    synchronized int nSamplerCreate(int magFilter, int minFilter,
                                 int wrapS, int wrapT, int wrapR, float aniso) {
        validate();
        rsnSamplerBegin(mContext);
    }
    native void rsnSamplerSet(int con, int param, int value);
    synchronized void nSamplerSet(int param, int value) {
        validate();
        rsnSamplerSet(mContext, param, value);
    }
    native void rsnSamplerSet2(int con, int param, float value);
    synchronized void nSamplerSet2(int param, float value) {
        validate();
        rsnSamplerSet2(mContext, param, value);
    }
    native int  rsnSamplerCreate(int con);
    synchronized int nSamplerCreate() {
        validate();
        return rsnSamplerCreate(mContext);
        return rsnSamplerCreate(mContext, magFilter, minFilter, wrapS, wrapT, wrapR, aniso);
    }

    native int  rsnProgramStoreCreate(int con, boolean r, boolean g, boolean b, boolean a,
+2 −13
Original line number Diff line number Diff line
@@ -239,21 +239,10 @@ public class Sampler extends BaseObj {
            }
        }

        static synchronized Sampler internalCreate(RenderScript rs, Builder b) {
            rs.nSamplerBegin();
            rs.nSamplerSet(0, b.mMin.mID);
            rs.nSamplerSet(1, b.mMag.mID);
            rs.nSamplerSet(2, b.mWrapS.mID);
            rs.nSamplerSet(3, b.mWrapT.mID);
            rs.nSamplerSet(4, b.mWrapR.mID);
            rs.nSamplerSet2(5, b.mAniso);
            int id = rs.nSamplerCreate();
            return new Sampler(id, rs);
        }

        public Sampler create() {
            mRS.validate();
            return internalCreate(mRS, this);
            int id = mRS.nSamplerCreate(mMag.mID, mMin.mID, mWrapS.mID, mWrapT.mID, mWrapR.mID, mAniso);
            return new Sampler(id, mRS);
        }
    }

+10 −27
Original line number Diff line number Diff line
@@ -1059,32 +1059,18 @@ nContextBindProgramRaster(JNIEnv *_env, jobject _this, RsContext con, jint pf)

// ---------------------------------------------------------------------------

static void
nSamplerBegin(JNIEnv *_env, jobject _this, RsContext con)
{
    LOG_API("nSamplerBegin, con(%p)", con);
    rsSamplerBegin(con);
}

static void
nSamplerSet(JNIEnv *_env, jobject _this, RsContext con, jint p, jint v)
{
    LOG_API("nSamplerSet, con(%p), param(%i), value(%i)", con, p, v);
    rsSamplerSet(con, (RsSamplerParam)p, (RsSamplerValue)v);
}

static void
nSamplerSet2(JNIEnv *_env, jobject _this, RsContext con, jint p, jfloat v)
{
    LOG_API("nSamplerSet2, con(%p), param(%i), value(%f)", con, p, v);
    rsSamplerSet2(con, (RsSamplerParam)p, v);
}

static jint
nSamplerCreate(JNIEnv *_env, jobject _this, RsContext con)
nSamplerCreate(JNIEnv *_env, jobject _this, RsContext con, jint magFilter, jint minFilter,
               jint wrapS, jint wrapT, jint wrapR, jfloat aniso)
{
    LOG_API("nSamplerCreate, con(%p)", con);
    return (jint)rsSamplerCreate(con);
    return (jint)rsSamplerCreate(con,
                                 (RsSamplerValue)magFilter,
                                 (RsSamplerValue)minFilter,
                                 (RsSamplerValue)wrapS,
                                 (RsSamplerValue)wrapT,
                                 (RsSamplerValue)wrapR,
                                 aniso);
}

// ---------------------------------------------------------------------------
@@ -1280,10 +1266,7 @@ static JNINativeMethod methods[] = {
{"rsnContextBindProgramVertex",      "(II)V",                                 (void*)nContextBindProgramVertex },
{"rsnContextBindProgramRaster",      "(II)V",                                 (void*)nContextBindProgramRaster },

{"rsnSamplerBegin",                  "(I)V",                                  (void*)nSamplerBegin },
{"rsnSamplerSet",                    "(III)V",                                (void*)nSamplerSet },
{"rsnSamplerSet2",                   "(IIF)V",                                (void*)nSamplerSet2 },
{"rsnSamplerCreate",                 "(I)I",                                  (void*)nSamplerCreate },
{"rsnSamplerCreate",                 "(IIIIIIF)I",                            (void*)nSamplerCreate },

{"rsnMeshCreate",                    "(III)I",                                (void*)nMeshCreate },
{"rsnMeshBindVertex",                "(IIII)V",                               (void*)nMeshBindVertex },
+9 −20
Original line number Diff line number Diff line
@@ -250,38 +250,27 @@ AllocationResize2D {
	param uint32_t dimY
	}

SamplerBegin {
	}

SamplerSet {
	param RsSamplerParam p
	param RsSamplerValue value
	}

SamplerSet2 {
	param RsSamplerParam p
	param float value
	}

SamplerCreate {
    param RsSamplerValue magFilter
    param RsSamplerValue minFilter
    param RsSamplerValue wrapS
    param RsSamplerValue wrapT
    param RsSamplerValue wrapR
    param float mAniso
    ret RsSampler
}



ScriptBindAllocation {
	param RsScript vtm
	param RsAllocation va
	param uint32_t slot
	}


ScriptSetTimeZone {
	param RsScript s
	param const char * timeZone
	}


ScriptInvoke {
	param RsScript s
	param uint32_t slot
+0 −6
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ Program::Program(Context *rsc, const char * shaderText, uint32_t shaderLength,
    mHal.state.constants = new ObjectBaseRef<Allocation>[mHal.state.constantsCount];

    uint32_t input = 0;
    uint32_t output = 0;
    uint32_t constant = 0;
    uint32_t texture = 0;
    for (uint32_t ct=0; ct < paramLength; ct+=2) {
@@ -154,7 +153,6 @@ void Program::bindTexture(Context *rsc, uint32_t slot, Allocation *a) {
        return;
    }

    //LOGE("bindtex %i %p", slot, a);
    mHal.state.textures[slot].set(a);
    mDirty = true;
}
@@ -170,10 +168,6 @@ void Program::bindSampler(Context *rsc, uint32_t slot, Sampler *s) {
    mDirty = true;
}

void Program::setShader(const char *txt, uint32_t len) {
    mUserShader.setTo(txt, len);
}

namespace android {
namespace renderscript {

Loading