Convert Java/JNI to 64-bit, part 2.
This changes BaseObj to support 64-bit IDs. There are a few caveats:
1. Since it is deprecated, RSG will not support 64-bit.
2. Currently, methods that pass arrays of IDs to the driver are not supported in 64-bit. This will be fixed in a later CL.
bug 11332320
Change-Id: If0dbecc8b285e260f767e441e05088b6a1b749a2
diff --git a/graphics/java/android/renderscript/Type.java b/graphics/java/android/renderscript/Type.java
index db4b577..7283814 100644
--- a/graphics/java/android/renderscript/Type.java
+++ b/graphics/java/android/renderscript/Type.java
@@ -190,16 +190,18 @@
}
- Type(int id, RenderScript rs) {
+ Type(long id, RenderScript rs) {
super(id, rs);
}
@Override
void updateFromNative() {
+ // FIXME: rsaTypeGetNativeData needs 32-bit and 64-bit paths
+
// We have 6 integer to obtain mDimX; mDimY; mDimZ;
// mDimLOD; mDimFaces; mElement;
int[] dataBuffer = new int[6];
- mRS.nTypeGetNativeData(getID(mRS), dataBuffer);
+ mRS.nTypeGetNativeData((int)getID(mRS), dataBuffer);
mDimX = dataBuffer[0];
mDimY = dataBuffer[1];
@@ -230,7 +232,7 @@
throw new RSInvalidStateException("Dimension must be >= 1.");
}
- int id = rs.nTypeCreate(e.getID(rs), dimX, 0, 0, false, false, 0);
+ long id = rs.nTypeCreate(e.getID(rs), dimX, 0, 0, false, false, 0);
Type t = new Type(id, rs);
t.mElement = e;
t.mDimX = dimX;
@@ -254,7 +256,7 @@
throw new RSInvalidStateException("Dimension must be >= 1.");
}
- int id = rs.nTypeCreate(e.getID(rs), dimX, dimY, 0, false, false, 0);
+ long id = rs.nTypeCreate(e.getID(rs), dimX, dimY, 0, false, false, 0);
Type t = new Type(id, rs);
t.mElement = e;
t.mDimX = dimX;
@@ -280,7 +282,7 @@
throw new RSInvalidStateException("Dimension must be >= 1.");
}
- int id = rs.nTypeCreate(e.getID(rs), dimX, dimY, dimZ, false, false, 0);
+ long id = rs.nTypeCreate(e.getID(rs), dimX, dimY, dimZ, false, false, 0);
Type t = new Type(id, rs);
t.mElement = e;
t.mDimX = dimX;
@@ -411,7 +413,7 @@
}
}
- int id = mRS.nTypeCreate(mElement.getID(mRS),
+ long id = mRS.nTypeCreate(mElement.getID(mRS),
mDimX, mDimY, mDimZ, mDimMipmaps, mDimFaces, mYuv);
Type t = new Type(id, mRS);
t.mElement = mElement;