summaryrefslogtreecommitdiffstats
path: root/graphics/java
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-08-03 16:03:08 -0700
committerJason Sams <rjsams@android.com>2009-08-03 16:03:08 -0700
commitbd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb (patch)
treefa3ac33695695699563507abb0dad5691058596e /graphics/java
parentb8c5a84e7c23746a3fc26013e0880d3d95ca6588 (diff)
downloadframeworks_base-bd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb.zip
frameworks_base-bd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb.tar.gz
frameworks_base-bd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb.tar.bz2
Implement the jni bindings for Adapter2D. Fix a refcount bug in the native adapter implementation. Use adapters in Film to border the mipmaps.
Diffstat (limited to 'graphics/java')
-rw-r--r--graphics/java/android/renderscript/Allocation.java48
-rw-r--r--graphics/java/android/renderscript/RenderScript.java24
2 files changed, 54 insertions, 18 deletions
diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java
index 1327328..3b6571a 100644
--- a/graphics/java/android/renderscript/Allocation.java
+++ b/graphics/java/android/renderscript/Allocation.java
@@ -90,14 +90,14 @@ public class Allocation extends BaseObj {
mRS.nAdapter1DData(mID, d);
}
- public void subData(int off, int count, int[] d) {
- mRS.nAdapter1DSubData(mID, off, count, d);
- }
-
public void data(float[] d) {
mRS.nAdapter1DData(mID, d);
}
+ public void subData(int off, int count, int[] d) {
+ mRS.nAdapter1DSubData(mID, off, count, d);
+ }
+
public void subData(int off, int count, float[] d) {
mRS.nAdapter1DSubData(mID, off, count, d);
}
@@ -112,6 +112,46 @@ public class Allocation extends BaseObj {
}
+ public class Adapter2D extends BaseObj {
+ Adapter2D(int id, RenderScript rs) {
+ super(rs);
+ mID = id;
+ }
+
+ public void destroy() {
+ mRS.nAdapter2DDestroy(mID);
+ mID = 0;
+ }
+
+ public void setConstraint(Dimension dim, int value) {
+ mRS.nAdapter2DSetConstraint(mID, dim.mID, value);
+ }
+
+ public void data(int[] d) {
+ mRS.nAdapter2DData(mID, d);
+ }
+
+ public void data(float[] d) {
+ mRS.nAdapter2DData(mID, d);
+ }
+
+ public void subData(int xoff, int yoff, int w, int h, int[] d) {
+ mRS.nAdapter2DSubData(mID, xoff, yoff, w, h, d);
+ }
+
+ public void subData(int xoff, int yoff, int w, int h, float[] d) {
+ mRS.nAdapter2DSubData(mID, xoff, yoff, w, h, d);
+ }
+ }
+
+ public Adapter2D createAdapter2D() {
+ int id = mRS.nAdapter2DCreate();
+ if (id != 0) {
+ mRS.nAdapter2DBindAllocation(id, mID);
+ }
+ return new Adapter2D(id, mRS);
+ }
+
// creation
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index dc87b6a..dd7dd02 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -113,11 +113,20 @@ public class RenderScript {
native void nAdapter1DBindAllocation(int ad, int alloc);
native void nAdapter1DSetConstraint(int ad, int dim, int value);
native void nAdapter1DData(int ad, int[] d);
- native void nAdapter1DSubData(int ad, int off, int count, int[] d);
native void nAdapter1DData(int ad, float[] d);
+ native void nAdapter1DSubData(int ad, int off, int count, int[] d);
native void nAdapter1DSubData(int ad, int off, int count, float[] d);
native int nAdapter1DCreate();
+ native void nAdapter2DDestroy(int id);
+ native void nAdapter2DBindAllocation(int ad, int alloc);
+ native void nAdapter2DSetConstraint(int ad, int dim, int value);
+ native void nAdapter2DData(int ad, int[] d);
+ native void nAdapter2DData(int ad, float[] d);
+ native void nAdapter2DSubData(int ad, int xoff, int yoff, int w, int h, int[] d);
+ native void nAdapter2DSubData(int ad, int xoff, int yoff, int w, int h, float[] d);
+ native int nAdapter2DCreate();
+
native void nScriptDestroy(int script);
native void nScriptBindAllocation(int vtm, int alloc, int slot);
native void nScriptCBegin();
@@ -720,19 +729,6 @@ public class RenderScript {
nContextBindProgramVertex(pf.mID);
}
-/*
- RsAdapter2D rsAdapter2DCreate ();
- void rsAdapter2DBindAllocation (RsAdapter2D adapt, RsAllocation alloc);
- void rsAdapter2DDestroy (RsAdapter2D adapter);
- void rsAdapter2DSetConstraint (RsAdapter2D adapter, RsDimension dim, uint32_t value);
- void rsAdapter2DData (RsAdapter2D adapter, const void * data);
- void rsAdapter2DSubData (RsAdapter2D adapter, uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void * data);
- void rsSamplerBegin ();
- void rsSamplerSet (RsSamplerParam p, RsSamplerValue value);
- RsSampler rsSamplerCreate ();
- void rsSamplerBind (RsSampler sampler, RsAllocation alloc);
-*/
-
}