diff options
author | Jason Sams <rjsams@android.com> | 2009-08-03 16:03:08 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-08-03 16:03:08 -0700 |
commit | bd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb (patch) | |
tree | fa3ac33695695699563507abb0dad5691058596e /libs/rs/java/Film | |
parent | b8c5a84e7c23746a3fc26013e0880d3d95ca6588 (diff) | |
download | frameworks_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 'libs/rs/java/Film')
-rw-r--r-- | libs/rs/java/Film/src/com/android/film/FilmRS.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/rs/java/Film/src/com/android/film/FilmRS.java b/libs/rs/java/Film/src/com/android/film/FilmRS.java index 777a7cf..eda7624 100644 --- a/libs/rs/java/Film/src/com/android/film/FilmRS.java +++ b/libs/rs/java/Film/src/com/android/film/FilmRS.java @@ -28,6 +28,7 @@ import android.renderscript.ProgramVertexAlloc; import android.renderscript.RenderScript; import android.renderscript.Element; import android.renderscript.Allocation; +import android.renderscript.Dimension; public class FilmRS { private final int POS_TRANSLATE = 0; @@ -175,7 +176,23 @@ public class FilmRS { mImages[11] = Allocation.createFromBitmapResourceBoxed(mRS, mRes, R.drawable.p12, ie, true); mImages[12] = Allocation.createFromBitmapResourceBoxed(mRS, mRes, R.drawable.p13, ie, true); + int black[] = new int[1024]; for(int ct=0; ct < mImages.length; ct++) { + Allocation.Adapter2D a = mImages[ct].createAdapter2D(); + + int size = 512; + int mip = 0; + while(size >= 2) { + a.subData(0, 0, 2, size, black); + a.subData(size-2, 0, 2, size, black); + a.subData(0, 0, size, 2, black); + a.subData(0, size-2, size, 2, black); + size >>= 1; + mip++; + a.setConstraint(Dimension.LOD, mip); + } + a.destroy(); + mImages[ct].uploadToTexture(1); mBufferIDs[ct] = mImages[ct].getID(); } |