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/ProgramFragment.java b/graphics/java/android/renderscript/ProgramFragment.java
index b9ba3fd..5e886a3 100644
--- a/graphics/java/android/renderscript/ProgramFragment.java
+++ b/graphics/java/android/renderscript/ProgramFragment.java
@@ -39,7 +39,7 @@
*
**/
public class ProgramFragment extends Program {
- ProgramFragment(int id, RenderScript rs) {
+ ProgramFragment(long id, RenderScript rs) {
super(id, rs);
}
@@ -71,23 +71,23 @@
for (int i=0; i < mInputCount; i++) {
tmp[idx++] = ProgramParam.INPUT.mID;
- tmp[idx++] = mInputs[i].getID(mRS);
+ tmp[idx++] = (int)mInputs[i].getID(mRS);
}
for (int i=0; i < mOutputCount; i++) {
tmp[idx++] = ProgramParam.OUTPUT.mID;
- tmp[idx++] = mOutputs[i].getID(mRS);
+ tmp[idx++] = (int)mOutputs[i].getID(mRS);
}
for (int i=0; i < mConstantCount; i++) {
tmp[idx++] = ProgramParam.CONSTANT.mID;
- tmp[idx++] = mConstants[i].getID(mRS);
+ tmp[idx++] = (int)mConstants[i].getID(mRS);
}
for (int i=0; i < mTextureCount; i++) {
tmp[idx++] = ProgramParam.TEXTURE_TYPE.mID;
- tmp[idx++] = mTextureTypes[i].mID;
+ tmp[idx++] = (int)mTextureTypes[i].mID;
texNames[i] = mTextureNames[i];
}
- int id = mRS.nProgramFragmentCreate(mShader, texNames, tmp);
+ long id = mRS.nProgramFragmentCreate(mShader, texNames, tmp);
ProgramFragment pf = new ProgramFragment(id, mRS);
initProgram(pf);
return pf;