summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2011-04-06 11:23:54 -0700
committerJason Sams <rjsams@android.com>2011-04-06 11:23:54 -0700
commit331bf9b14b1c5c1e88f5c4092b6e24fae887fb3b (patch)
treea9472a72e2d08c45deb03741a0ff6ad3b33c0583 /graphics
parent48f505657adba4d9156856e7d5593f23af5d5d5a (diff)
downloadframeworks_base-331bf9b14b1c5c1e88f5c4092b6e24fae887fb3b.zip
frameworks_base-331bf9b14b1c5c1e88f5c4092b6e24fae887fb3b.tar.gz
frameworks_base-331bf9b14b1c5c1e88f5c4092b6e24fae887fb3b.tar.bz2
Seperate ProgramRaster.
Cleanup ProgramRaster and ProgramStore creation. Change-Id: If25ea74355238d405340f0ccfb8117ad6e1307b7
Diffstat (limited to 'graphics')
-rw-r--r--graphics/java/android/renderscript/ProgramRaster.java23
-rw-r--r--graphics/java/android/renderscript/ProgramStore.java20
-rw-r--r--graphics/java/android/renderscript/RenderScript.java58
-rw-r--r--graphics/jni/android_renderscript_RenderScript.cpp85
4 files changed, 32 insertions, 154 deletions
diff --git a/graphics/java/android/renderscript/ProgramRaster.java b/graphics/java/android/renderscript/ProgramRaster.java
index b89d36d..cf8749b 100644
--- a/graphics/java/android/renderscript/ProgramRaster.java
+++ b/graphics/java/android/renderscript/ProgramRaster.java
@@ -55,18 +55,6 @@ public class ProgramRaster extends BaseObj {
mCullMode = CullMode.BACK;
}
- void setLineWidth(float w) {
- mRS.validate();
- mLineWidth = w;
- mRS.nProgramRasterSetLineWidth(getID(), w);
- }
-
- void setCullMode(CullMode m) {
- mRS.validate();
- mCullMode = m;
- mRS.nProgramRasterSetCullMode(getID(), m.mID);
- }
-
public static ProgramRaster CULL_BACK(RenderScript rs) {
if(rs.mProgramRaster_CULL_BACK == null) {
ProgramRaster.Builder builder = new ProgramRaster.Builder(rs);
@@ -119,16 +107,11 @@ public class ProgramRaster extends BaseObj {
return this;
}
- static synchronized ProgramRaster internalCreate(RenderScript rs, Builder b) {
- int id = rs.nProgramRasterCreate(b.mPointSmooth, b.mLineSmooth, b.mPointSprite);
- ProgramRaster pr = new ProgramRaster(id, rs);
- pr.setCullMode(b.mCullMode);
- return pr;
- }
-
public ProgramRaster create() {
mRS.validate();
- return internalCreate(mRS, this);
+ int id = mRS.nProgramRasterCreate(mPointSmooth, mLineSmooth, mPointSprite,
+ 1.f, mCullMode.mID);
+ return new ProgramRaster(id, mRS);
}
}
diff --git a/graphics/java/android/renderscript/ProgramStore.java b/graphics/java/android/renderscript/ProgramStore.java
index c46e6b9..7a84d8b 100644
--- a/graphics/java/android/renderscript/ProgramStore.java
+++ b/graphics/java/android/renderscript/ProgramStore.java
@@ -333,27 +333,15 @@ public class ProgramStore extends BaseObj {
return this;
}
- static synchronized ProgramStore internalCreate(RenderScript rs, Builder b) {
- rs.nProgramStoreBegin(0, 0);
- rs.nProgramStoreDepthFunc(b.mDepthFunc.mID);
- rs.nProgramStoreDepthMask(b.mDepthMask);
- rs.nProgramStoreColorMask(b.mColorMaskR,
- b.mColorMaskG,
- b.mColorMaskB,
- b.mColorMaskA);
- rs.nProgramStoreBlendFunc(b.mBlendSrc.mID, b.mBlendDst.mID);
- rs.nProgramStoreDither(b.mDither);
-
- int id = rs.nProgramStoreCreate();
- return new ProgramStore(id, rs);
- }
-
/**
* Creates a program store from the current state of the builder
*/
public ProgramStore create() {
mRS.validate();
- return internalCreate(mRS, this);
+ int id = mRS.nProgramStoreCreate(mColorMaskR, mColorMaskG, mColorMaskB, mColorMaskA,
+ mDepthMask, mDither,
+ mBlendSrc.mID, mBlendDst.mID, mDepthFunc.mID);
+ return new ProgramStore(id, mRS);
}
}
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index f577532..700c432 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -485,56 +485,22 @@ public class RenderScript {
return rsnSamplerCreate(mContext);
}
- native void rsnProgramStoreBegin(int con, int in, int out);
- synchronized void nProgramStoreBegin(int in, int out) {
+ native int rsnProgramStoreCreate(int con, boolean r, boolean g, boolean b, boolean a,
+ boolean depthMask, boolean dither,
+ int srcMode, int dstMode, int depthFunc);
+ synchronized int nProgramStoreCreate(boolean r, boolean g, boolean b, boolean a,
+ boolean depthMask, boolean dither,
+ int srcMode, int dstMode, int depthFunc) {
validate();
- rsnProgramStoreBegin(mContext, in, out);
- }
- native void rsnProgramStoreDepthFunc(int con, int func);
- synchronized void nProgramStoreDepthFunc(int func) {
- validate();
- rsnProgramStoreDepthFunc(mContext, func);
- }
- native void rsnProgramStoreDepthMask(int con, boolean enable);
- synchronized void nProgramStoreDepthMask(boolean enable) {
- validate();
- rsnProgramStoreDepthMask(mContext, enable);
- }
- native void rsnProgramStoreColorMask(int con, boolean r, boolean g, boolean b, boolean a);
- synchronized void nProgramStoreColorMask(boolean r, boolean g, boolean b, boolean a) {
- validate();
- rsnProgramStoreColorMask(mContext, r, g, b, a);
- }
- native void rsnProgramStoreBlendFunc(int con, int src, int dst);
- synchronized void nProgramStoreBlendFunc(int src, int dst) {
- validate();
- rsnProgramStoreBlendFunc(mContext, src, dst);
- }
- native void rsnProgramStoreDither(int con, boolean enable);
- synchronized void nProgramStoreDither(boolean enable) {
- validate();
- rsnProgramStoreDither(mContext, enable);
- }
- native int rsnProgramStoreCreate(int con);
- synchronized int nProgramStoreCreate() {
- validate();
- return rsnProgramStoreCreate(mContext);
+ return rsnProgramStoreCreate(mContext, r, g, b, a, depthMask, dither, srcMode, dstMode, depthFunc);
}
- native int rsnProgramRasterCreate(int con, boolean pointSmooth, boolean lineSmooth, boolean pointSprite);
- synchronized int nProgramRasterCreate(boolean pointSmooth, boolean lineSmooth, boolean pointSprite) {
- validate();
- return rsnProgramRasterCreate(mContext, pointSmooth, lineSmooth, pointSprite);
- }
- native void rsnProgramRasterSetLineWidth(int con, int pr, float v);
- synchronized void nProgramRasterSetLineWidth(int pr, float v) {
- validate();
- rsnProgramRasterSetLineWidth(mContext, pr, v);
- }
- native void rsnProgramRasterSetCullMode(int con, int pr, int mode);
- synchronized void nProgramRasterSetCullMode(int pr, int mode) {
+ native int rsnProgramRasterCreate(int con, boolean pointSmooth, boolean lineSmooth,
+ boolean pointSprite, float lineWidth, int cullMode);
+ synchronized int nProgramRasterCreate(boolean pointSmooth, boolean lineSmooth,
+ boolean pointSprite, float lineWidth, int cullMode) {
validate();
- rsnProgramRasterSetCullMode(mContext, pr, mode);
+ return rsnProgramRasterCreate(mContext, pointSmooth, lineSmooth, pointSprite, lineWidth, cullMode);
}
native void rsnProgramBindConstants(int con, int pv, int slot, int mID);
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index c7f4809..12c5940 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -897,53 +897,17 @@ exit:
// ---------------------------------------------------------------------------
-static void
-nProgramStoreBegin(JNIEnv *_env, jobject _this, RsContext con, jint in, jint out)
-{
- LOG_API("nProgramStoreBegin, con(%p), in(%p), out(%p)", con, (RsElement)in, (RsElement)out);
- rsProgramStoreBegin(con, (RsElement)in, (RsElement)out);
-}
-
-static void
-nProgramStoreDepthFunc(JNIEnv *_env, jobject _this, RsContext con, jint func)
-{
- LOG_API("nProgramStoreDepthFunc, con(%p), func(%i)", con, func);
- rsProgramStoreDepthFunc(con, (RsDepthFunc)func);
-}
-
-static void
-nProgramStoreDepthMask(JNIEnv *_env, jobject _this, RsContext con, jboolean enable)
-{
- LOG_API("nProgramStoreDepthMask, con(%p), enable(%i)", con, enable);
- rsProgramStoreDepthMask(con, enable);
-}
-
-static void
-nProgramStoreColorMask(JNIEnv *_env, jobject _this, RsContext con, jboolean r, jboolean g, jboolean b, jboolean a)
-{
- LOG_API("nProgramStoreColorMask, con(%p), r(%i), g(%i), b(%i), a(%i)", con, r, g, b, a);
- rsProgramStoreColorMask(con, r, g, b, a);
-}
-
-static void
-nProgramStoreBlendFunc(JNIEnv *_env, jobject _this, RsContext con, int src, int dst)
-{
- LOG_API("nProgramStoreBlendFunc, con(%p), src(%i), dst(%i)", con, src, dst);
- rsProgramStoreBlendFunc(con, (RsBlendSrcFunc)src, (RsBlendDstFunc)dst);
-}
-
-static void
-nProgramStoreDither(JNIEnv *_env, jobject _this, RsContext con, jboolean enable)
-{
- LOG_API("nProgramStoreDither, con(%p), enable(%i)", con, enable);
- rsProgramStoreDither(con, enable);
-}
-
static jint
-nProgramStoreCreate(JNIEnv *_env, jobject _this, RsContext con)
+nProgramStoreCreate(JNIEnv *_env, jobject _this, RsContext con,
+ jboolean colorMaskR, jboolean colorMaskG, jboolean colorMaskB, jboolean colorMaskA,
+ jboolean depthMask, jboolean ditherEnable,
+ jint srcFunc, jint destFunc,
+ jint depthFunc)
{
LOG_API("nProgramStoreCreate, con(%p)", con);
- return (jint)rsProgramStoreCreate(con);
+ return (jint)rsProgramStoreCreate(con, colorMaskR, colorMaskG, colorMaskB, colorMaskA,
+ depthMask, ditherEnable, (RsBlendSrcFunc)srcFunc,
+ (RsBlendDstFunc)destFunc, (RsDepthFunc)depthFunc);
}
// ---------------------------------------------------------------------------
@@ -1005,25 +969,12 @@ nProgramVertexCreate(JNIEnv *_env, jobject _this, RsContext con, jstring shader,
// ---------------------------------------------------------------------------
static jint
-nProgramRasterCreate(JNIEnv *_env, jobject _this, RsContext con, jboolean pointSmooth, jboolean lineSmooth, jboolean pointSprite)
+nProgramRasterCreate(JNIEnv *_env, jobject _this, RsContext con, jboolean pointSmooth,
+ jboolean lineSmooth, jboolean pointSprite, jfloat lineWidth, jint cull)
{
LOG_API("nProgramRasterCreate, con(%p), pointSmooth(%i), lineSmooth(%i), pointSprite(%i)",
con, pointSmooth, lineSmooth, pointSprite);
- return (jint)rsProgramRasterCreate(con, pointSmooth, lineSmooth, pointSprite);
-}
-
-static void
-nProgramRasterSetLineWidth(JNIEnv *_env, jobject _this, RsContext con, jint vpr, jfloat v)
-{
- LOG_API("nProgramRasterSetLineWidth, con(%p), vpf(%p), value(%f)", con, (RsProgramRaster)vpr, v);
- rsProgramRasterSetLineWidth(con, (RsProgramRaster)vpr, v);
-}
-
-static void
-nProgramRasterSetCullMode(JNIEnv *_env, jobject _this, RsContext con, jint vpr, jint v)
-{
- LOG_API("nProgramRasterSetCullMode, con(%p), vpf(%p), value(%i)", con, (RsProgramRaster)vpr, v);
- rsProgramRasterSetCullMode(con, (RsProgramRaster)vpr, (RsCullMode)v);
+ return (jint)rsProgramRasterCreate(con, pointSmooth, lineSmooth, pointSprite, lineWidth, (RsCullMode)cull);
}
@@ -1270,24 +1221,14 @@ static JNINativeMethod methods[] = {
{"rsnScriptCCreate", "(ILjava/lang/String;Ljava/lang/String;[BI)I", (void*)nScriptCCreate },
-{"rsnProgramStoreBegin", "(III)V", (void*)nProgramStoreBegin },
-{"rsnProgramStoreDepthFunc", "(II)V", (void*)nProgramStoreDepthFunc },
-{"rsnProgramStoreDepthMask", "(IZ)V", (void*)nProgramStoreDepthMask },
-{"rsnProgramStoreColorMask", "(IZZZZ)V", (void*)nProgramStoreColorMask },
-{"rsnProgramStoreBlendFunc", "(III)V", (void*)nProgramStoreBlendFunc },
-{"rsnProgramStoreDither", "(IZ)V", (void*)nProgramStoreDither },
-{"rsnProgramStoreCreate", "(I)I", (void*)nProgramStoreCreate },
+{"rsnProgramStoreCreate", "(IZZZZZZIII)I", (void*)nProgramStoreCreate },
{"rsnProgramBindConstants", "(IIII)V", (void*)nProgramBindConstants },
{"rsnProgramBindTexture", "(IIII)V", (void*)nProgramBindTexture },
{"rsnProgramBindSampler", "(IIII)V", (void*)nProgramBindSampler },
{"rsnProgramFragmentCreate", "(ILjava/lang/String;[I)I", (void*)nProgramFragmentCreate },
-
-{"rsnProgramRasterCreate", "(IZZZ)I", (void*)nProgramRasterCreate },
-{"rsnProgramRasterSetLineWidth", "(IIF)V", (void*)nProgramRasterSetLineWidth },
-{"rsnProgramRasterSetCullMode", "(III)V", (void*)nProgramRasterSetCullMode },
-
+{"rsnProgramRasterCreate", "(IZZZFI)I", (void*)nProgramRasterCreate },
{"rsnProgramVertexCreate", "(ILjava/lang/String;[I)I", (void*)nProgramVertexCreate },
{"rsnContextBindRootScript", "(II)V", (void*)nContextBindRootScript },