Support defered generation of mipmaps. With this change we support mipmap generation when the texture is uploaded to GL without requiring RS to retain the full chain.
diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java
index e5cf38e..8185404 100644
--- a/graphics/java/android/renderscript/Allocation.java
+++ b/graphics/java/android/renderscript/Allocation.java
@@ -45,7 +45,12 @@
public void uploadToTexture(int baseMipLevel) {
mRS.validate();
- mRS.nAllocationUploadToTexture(mID, baseMipLevel);
+ mRS.nAllocationUploadToTexture(mID, false, baseMipLevel);
+ }
+
+ public void uploadToTexture(boolean genMips, int baseMipLevel) {
+ mRS.validate();
+ mRS.nAllocationUploadToTexture(mID, genMips, baseMipLevel);
}
public void uploadToBufferObject() {
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 84b1a70..70c97ea 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -101,7 +101,7 @@
native int nAllocationCreateFromBitmapBoxed(int dstFmt, boolean genMips, Bitmap bmp);
native int nAllocationCreateFromAssetStream(int dstFmt, boolean genMips, int assetStream);
- native void nAllocationUploadToTexture(int alloc, int baseMioLevel);
+ native void nAllocationUploadToTexture(int alloc, boolean genMips, int baseMioLevel);
native void nAllocationUploadToBufferObject(int alloc);
native void nAllocationSubData1D(int id, int off, int count, int[] d, int sizeBytes);