632 Commits

Author SHA1 Message Date
Narayan Kamath
017546e652 Fix several bad function definitions.
We claim these functions want jlong as input (8 bytes wide)
but the definitions use pointer types or jints
(4 bytes wide for 32 bit).

bug: 12890271
Change-Id: I6a167a4f3aac1e22ddea33d067caaef6a11b418c
2014-02-06 11:50:31 +00:00
Andy McFadden
9b311c900d Pass a thread name to AttachCurrentThread
Reduces logspam from ART.

Bug 12896873

Change-Id: I82ae8e2dbba3918071d9c28f5ae5c882f8dcab3a
2014-02-04 15:59:39 -08:00
George Mount
56f57ccbd4 Revert "Add Path trimming."
Bug 12489442
This reverts commit 7fe03a267e6edb65142444765ce29ad5ff126052.

Change-Id: Idf434d79683e170364838388c7933a8591f7f4d3
2014-01-31 07:54:53 -08:00
Narayan Kamath
1e7011fb29 Merge "Path.native_trim should return long, not int." 2014-01-29 15:48:11 +00:00
Narayan Kamath
11f66d0874 am 1caea796: am c74f7619: am cdc095ae: am 7be33110: am d4ccffd3: Merge "AArch64: Use long for pointers in graphics/Interpolator"
* commit '1caea796c9f3154048c02db6f46c458e8a80c32c':
  AArch64: Use long for pointers in graphics/Interpolator
2014-01-29 12:50:20 +00:00
Narayan Kamath
c42de09a94 am 67ac8120: am 0cc4bb1f: am e4fc5c17: am 74db9ddb: am 887b1ca8: Merge "AArch64: Use long for pointers in SurfaceTexture"
* commit '67ac8120bf4e01b1de9d46673142d7fb92615616':
  AArch64: Use long for pointers in SurfaceTexture
2014-01-29 12:50:15 +00:00
Narayan Kamath
d4ccffd3ba Merge "AArch64: Use long for pointers in graphics/Interpolator" 2014-01-29 12:12:27 +00:00
Narayan Kamath
887b1ca879 Merge "AArch64: Use long for pointers in SurfaceTexture" 2014-01-29 12:12:17 +00:00
Narayan Kamath
e55bc7f157 Path.native_trim should return long, not int.
Change-Id: Idafc4c58eb86ad1af614d31f8cb05216bd869482
2014-01-29 09:42:29 +00:00
Ashok Bhat
5753b45516 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)

Change-Id: Ic05ebf2051a225a1638a43f476bab6176c0b5c38
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-28 17:53:30 +00:00
Ashok Bhat
a0398430fc 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.

Change-Id: I940433f601c6db998c1a8ffff338f5361200d5ed
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>
2014-01-28 17:40:38 +00:00
Ashok Bhat
36bef0bf30 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: Id5793fa0ebc17ee8b1eecf4b3f327977fdccff71
2014-01-28 10:02:43 +00:00
Mathieu Chartier
2f4e0c24ab am 698d3673: am 4a750c1f: am 15594557: am 137d74d8: am db525724: Merge "Fix dest == src bugs in Matrix.cpp."
* commit '698d36731700b168e5debf8c3904d1106f4da20a':
  Fix dest == src bugs in Matrix.cpp.
2014-01-27 19:55:35 +00:00
Narayan Kamath
7023df08f1 Revert "AArch64: Make graphics classes 64-bit compatible"
This reverts commit 18b4cbeedef21c1fa666a110a157bab66edff976.

Change-Id: I0c52983a3ab1ace3ff743de546a43eca28e5cb0e
2014-01-27 14:22:45 +00:00
Ashok Bhat
18b4cbeede 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
2014-01-27 13:28:16 +00:00
Mathieu Chartier
768480c245 Fix dest == src bugs in Matrix.cpp.
The main bug was that the AutoJavaFloatArray autoSrc was not passing in
read only. This meant that the destructor overwrote the data which
the autoDst AutoJavaFloatArray had written in it's destructor.
This case only happened if src == dest and the arrays were copies.
Also improved performance by passing in read only a few other places.

Bug: 12570144

Change-Id: Idc8764087dc165433c584b87a0f9d4ed0ec795e8
2014-01-25 17:54:22 -08:00
Narayan Kamath
4d7f945066 am 8492e88a: am 077386db: am 6b81bfd1: am caea42fd: am 98002dfb: Merge "AArch64: Use long for pointers in graphics/PathMeasure"
* commit '8492e88a23ee4ac32f05b277654e0f9455fefa9b':
  AArch64: Use long for pointers in graphics/PathMeasure
2014-01-16 15:57:58 +00:00
Narayan Kamath
f25afde8dd am 419267a1: am 213f243f: am 87a82800: am aef12450: am 1b0f0be0: Merge "Make YuvToJpegEncoder more JNI compliant"
* commit '419267a164ba586a81a8e669863a494d2a88a44c':
  Make YuvToJpegEncoder more JNI compliant
2014-01-16 15:57:53 +00:00
Narayan Kamath
6606d16e09 am 6706888e: am 775667c0: am 03e8be75: am 8796ab7f: am bb35356d: Merge changes Id54087dd,I946325e4,I2a2b2e68
* commit '6706888e24aee04c2c914c44e5ef5b1510cf8013':
  AArch64: Use long for pointers in BitmapRegionDecoder
  AArch64: Use long for pointers in Movie class
  AArch64: Add AssetInputStream.getNativeAsset
2014-01-16 15:57:47 +00:00
Ashok Bhat
a2f9042f4e AArch64: Use long for pointers in graphics/Interpolator
For storing pointers, long is used in
android/graphics/Interpolator 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)

Change-Id: I1e181476a4fe5273ff190cf34c4a7487aa1aecf4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-16 13:23:53 +00:00
Ashok Bhat
72aa313ff4 AArch64: Use long for pointers in SurfaceTexture
Long is used in SurfaceTexture class to store
pointers 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)

Change-Id: I771aa62c42bc865e644c63fd48f309782dd03e73
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-16 12:55:13 +00:00
Narayan Kamath
98002dfb60 Merge "AArch64: Use long for pointers in graphics/PathMeasure" 2014-01-16 12:12:11 +00:00
Narayan Kamath
1b0f0be097 Merge "Make YuvToJpegEncoder more JNI compliant" 2014-01-16 12:12:01 +00:00
Leon Scroggins III
0102f8a87a In nativeDecodeFileDescriptor, use fdopen.
Instead of attempting to mmap the entire file, create an
SkFILEStream from a FILE.

BUG:11669944
BUG:11028218
Change-Id: If67da91484acc79f9f3dde6d05201409c0c75e41
2014-01-15 13:39:19 -05:00
Leon Scroggins III
8790be6de3 Remove calls to deprecated SkBitmap::setIsOpaque()
setIsOpaque() has been removed from ToT Skia.

Update setters for mIsPremultiplied and hasAlpha to take the
other into consideration.

Change-Id: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a
2014-01-15 11:37:04 -05:00
Ashok Bhat
b091d47a2e AArch64: Use long for pointers in BitmapRegionDecoder
For storing pointers, long is used in BitmapRegionDecoder
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)

In addition, Graphics.cpp has been changed to work
with modified BitmapRegionDecoder.

Change-Id: Id54087dd3bfb29577e8b762e70946793369dc701
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-15 14:23:22 +00:00
Ashok Bhat
dcaf5593dd AArch64: Use long for pointers in Movie class
For storing pointers, long is used in Movie 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)

Change-Id: I946325e4af6cb9282012bebdaee89e1117d8797b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-15 14:22:56 +00:00
Ashok Bhat
39029b2990 Make YuvToJpegEncoder more JNI compliant
Minor changes have been done to conform with standard
JNI practice (e.g. use of jint instead of int in JNI
function prototypes)

Change-Id: I4015138921cc18ecae52daaa6710b3c9efd68e87
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-13 15:14:05 +00:00
Ashok Bhat
0c10cc6052 AArch64: Use long for pointers in graphics/PathMeasure
For storing pointers, long is used in
android/graphics/PathMeasure 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)

Change-Id: I4599a9d5f7dcf9c39838db96d9033059114d3a49
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-13 14:50:50 +00:00
Leon Scroggins III
b9c58ab617 Merge AssetStream with AssetStreamAdaptor.
Add enums to the constructor for AssetStreamAdaptor to choose the
different behaviors used by the (former) two different classes.

The old clients of AssetStream now get the following features of
AssetStreamAdaptor
- Debugging statements on error.
- The stream is an SkStreamRewindable.
- getLength() returns the correct value, and the old way of getting
  the length (read(NULL, 0)) is no longer implemented, since it is
  no longer used.
- isAtEnd() returns the correct value. ToT Skia makes it pure virtual,
  so some implementation is necessary.

Change-Id: I2a5395914e4f53830aaefee396556459083a1c56
2013-12-17 15:51:33 -05:00
George Mount
7fe03a267e Add Path trimming.
Change-Id: Iafcf127a5136883ad4c0185d3c15f96d67f38d0d
2013-12-09 14:34:54 -08:00
The Android Open Source Project
ebcb32f58a Merge commit 'bac61807d3bcfff957b358cb9ad77850bd373689' into HEAD
Change-Id: I29374270c8e0c2f2859efaf1d55af9f73da0f8d7
2013-12-05 13:10:46 -08:00
Brian Carlstrom
e2aad50479 am 4a657244: am 59595f7a: am 8026b2ce: Merge "Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf."
* commit '4a657244b3de44cf28aae952b8dc76f8598c61cb':
  Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf.
2013-12-05 15:34:24 +00:00
Brian Carlstrom
59595f7a3e am 8026b2ce: Merge "Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf."
* commit '8026b2ce23396262ad1f1e7a75093cd0e2467d4b':
  Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf.
2013-12-05 07:25:20 -08:00
Mathieu Chartier
a1a19d28d0 Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf.
Since VMRuntime.newNonMovableArray and VMRuntime.addressOf are java
methods implemented in Native, they don't necessarily return NULL
when an exception is thrown. Checking the exception instead of the
return value fixes errors which may occur if the runtime returns
garbage when an exception is pending.

Bug: 11971220
Change-Id: I70478834c9f14cc5d9e666e1e174d3fd09269719
2013-12-04 17:58:37 -08:00
Leon Scroggins III
aec09b6b98 Merge "Call SkBitmap::config() instead of ::getConfig()" 2013-12-04 18:14:29 +00:00
Victoria Lease
385739be8c Merge "Deprecate Android-specific SkPaint functions." 2013-12-03 23:30:30 +00:00
Victoria Lease
43b692d9a1 Deprecate Android-specific SkPaint functions.
The following functions were problematic:
 const SkGlyph& getUnicharMetrics(SkUnichar, const SkMatrix*);
 const SkGlyph& getGlyphMetrics(uint16_t, const SkMatrix*);
 const void* findImage(const SkGlyph&, const SkMatrix*);

Replacing them with calls through SkGlyphCache solved a nasty crash
bug, so they have all been deprecated.

Bug: 11968757
Change-Id: Id746315d41aec5b211b78b172a883c2061130f08
2013-12-03 15:02:28 -08:00
Leon Scroggins III
4b9a19a8f8 Call SkBitmap::config() instead of ::getConfig()
getConfig() has been deprecated.

Change-Id: I32066256ab82ac4760c752c80856d1b56d291fae
2013-12-03 15:23:11 -05:00
Leon Scroggins III
82b7b0b2af Remove call to deprecated function.
setPrefConfigTable(array) is being removed in
https://codereview.chromium.org/99473004

Change-Id: I2d7e25052861f7f1d54e2418c11204d51bb88b1e
2013-12-02 17:17:21 -05:00
The Android Open Source Project
dbccd44a63 Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-11-22 11:18:57 -08:00
Derek Sollenberger
f8627d658d Merge "framework changes needed to support Skia at r12108." 2013-11-21 15:04:03 +00:00
Derek Sollenberger
ed79ff0026 framework changes needed to support Skia at r12108.
Change-Id: I231e187e7d2db84fa06bd6783c9b49abba5b4e70
2013-11-20 14:50:51 -05:00
George Mount
34d8519de4 Merge "Add animations along a Path." 2013-11-20 15:47:00 +00:00
George Mount
c96c7b2e54 Add animations along a Path.
Change-Id: If03bd10a3961ff874e33489e1253146b8dadca33
2013-11-20 07:39:26 -08:00
Raph Levien
aff6ea9516 Merge "Initial integration of Minikin to framework" 2013-11-18 19:38:18 +00:00
Raph Levien
a033630e80 Initial integration of Minikin to framework
With this patch, framework does at least some of its text rendering
using Minikin instead of TextLayoutCache. There's a lot of stuff broken
and not yet implemented, but the phone will boot.

Changes are hidden behind USE_MINIKIN, which should be set in
BoardConfig.mk for the brave. Without that, there are changes to
signatures in JNI methods and so on, but shouldn't be any visible
changes.

This commit also introduces a new abstraction for Typeface:

The new TypefaceImpl abstraction represents the functionality that
corresponds to a Java Typeface object. Currently it is backed by
SkTypeface, but in the migration to Minikin it is a FontCollection
combined with a FontStyle. This patch introduces a USE_MINIKIN
preprocessor switch, so there is no substantial change to existing
Skia-based code, but which lets us start replacing the implementation
with the Minikin version.

Change-Id: I532c4c2d32d4f4c1f349dc1db37caa112af587ea
2013-11-18 10:32:20 -08:00
Svetoslav
765c9dfd54 am ebd616e8: am 134631b9: am 90242fe5: Merge "Switch to the new Skia PDF generation APIs." into klp-dev
* commit 'ebd616e88dab185bbf5b309d29c92a9eea9817e0':
  Switch to the new Skia PDF generation APIs.
2013-11-07 16:28:39 -08:00
Svetoslav
ebd616e88d am 134631b9: am 90242fe5: Merge "Switch to the new Skia PDF generation APIs." into klp-dev
* commit '134631b9078df0b9277fb3b8319bf3b85f690727':
  Switch to the new Skia PDF generation APIs.
2013-11-07 16:25:32 -08:00
Svetoslav
35aacf2eb3 Switch to the new Skia PDF generation APIs.
The new Skia PDF generation APIs are a small extension to
the code that converts drawing commands to PDF (SkPDFDevice)
and this new functionality is exposed via new APIs. This
change switches to using these new APIs allowing us to
capitalize on the new perspective support for PDF
generation.

bug:11561776

Change-Id: Ief61f7ff6a5a22c27d3acbe99a48910cb679f594
2013-11-07 14:15:19 -08:00