AArch64: Make graphics classes 64-bit compatible
This a merger of two commits submitted to AOSP by the following authors: ashok.bhat@arm.com, david.butcher@arm.coma craig.barber@arm.com, kevin.petit@arm.com and marcus.oakland@arm.com Due to the very large number of internal conflicts, I have chosen to cherry-pick this change instead of letting it merge through AOSP because the merge conflict resolution would be very hard to review. Commit messages below: ================================================ AArch64: Make graphics classes 64-bit compatible Changes in this patch include [x] Long is used to store native pointers as they can be 64-bit. [x] Some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) [x] AssetAtlasManager is not completely 64-bit compatible yet. Specifically mAtlasMap member has to be converted to hold native pointer using long. Added a TODO to AssetAtlasManager.java to indicate the change required. Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> ================================================================== AArch64: Use long for pointers in graphics/Camera For storing pointers, long is used in android/graphics/Camera class, as native pointers can be 64-bit. In addition, some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> =================================================================== Change-Id: Ib3eab85ed97ea3e3c227617c20f8d213f17d4ba0
This commit is contained in:
committed by
Narayan Kamath
parent
4507ea9e3c
commit
18b4cbeede
@@ -595,7 +595,7 @@ public class BitmapFactory {
|
||||
Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "decodeBitmap");
|
||||
try {
|
||||
if (is instanceof AssetManager.AssetInputStream) {
|
||||
final int asset = ((AssetManager.AssetInputStream) is).getAssetInt();
|
||||
final long asset = ((AssetManager.AssetInputStream) is).getNativeAsset();
|
||||
bm = nativeDecodeAsset(asset, outPadding, opts);
|
||||
} else {
|
||||
bm = decodeStreamInternal(is, outPadding, opts);
|
||||
@@ -698,7 +698,7 @@ public class BitmapFactory {
|
||||
Rect padding, Options opts);
|
||||
private static native Bitmap nativeDecodeFileDescriptor(FileDescriptor fd,
|
||||
Rect padding, Options opts);
|
||||
private static native Bitmap nativeDecodeAsset(int asset, Rect padding, Options opts);
|
||||
private static native Bitmap nativeDecodeAsset(long nativeAsset, Rect padding, Options opts);
|
||||
private static native Bitmap nativeDecodeByteArray(byte[] data, int offset,
|
||||
int length, Options opts);
|
||||
private static native boolean nativeIsSeekable(FileDescriptor fd);
|
||||
|
||||
Reference in New Issue
Block a user