2937 Commits

Author SHA1 Message Date
Chong Zhang
b68d38e81f DO NOT MERGE change Surface constructor arg to 64bit
Bug: 12799017
Bug: 12799384
Change-Id: Ic16b4fa5394df38cee0378b6e00d1808b9c8cb94
(cherry picked from commit af608e81d450b962a443a21fb1a6feadeb355fe1)
2014-03-24 21:01:37 +00:00
Victoria Lease
ca58036dd8 am cfd46dc4: am 610d401c: am e9c7fd2f: am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'cfd46dc4847d5ef1ed14484717cf857ae5f67cae':
  malloc some advances
2014-03-19 22:36:38 +00:00
Victoria Lease
610d401cb5 am e9c7fd2f: am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'e9c7fd2f2ee7840c61dc66ead3737e437f4e8c10':
  malloc some advances
2014-03-19 22:27:06 +00:00
Victoria Lease
e9c7fd2f2e am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit '55371beb024ae402831898f8788e4293f52dd832':
  malloc some advances
2014-03-19 15:21:09 -07:00
Victoria Lease
754bf6abc0 am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'c8868db2a025a97e439f8a9adde565c9c83f2204':
  malloc some advances
2014-03-19 15:08:32 -07:00
Victoria Lease
c8868db2a0 am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit '737d3e5da366124d164555009fa5ee4552143cc8':
  malloc some advances
2014-03-19 15:03:28 -07:00
Victoria Lease
737d3e5da3 am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit '6b96ecca90555e04da8a4477d6dc6de83e7b9ee1':
  malloc some advances
2014-03-19 14:57:36 -07:00
Victoria Lease
3191212259 am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit '6eb2810318262ff36014c52384ed3cdea19bd34e':
  malloc some advances
2014-03-19 14:40:17 -07:00
Victoria Lease
6eb2810318 am 183f97b7: am 1c12f9e7: malloc some advances
* commit '183f97b72faf7a0f45ad66e1b3fd9a4343cc7482':
  malloc some advances
2014-03-19 14:32:15 -07:00
Victoria Lease
183f97b72f am 1c12f9e7: malloc some advances
* commit '1c12f9e76298c757423155ad812890d27effafe8':
  malloc some advances
2014-03-19 14:27:19 -07:00
Victoria Lease
1c12f9e762 malloc some advances
Bug: 13506939
Change-Id: I87ad616960c4f16bc55d8b906049dbd4f001d6a5
(cherry picked from commit 3af2a37e057b31617b8f4eeb22ac3ef85c3fd5aa)
2014-03-18 16:22:20 +00:00
Leon Scroggins III
2fd045c092 DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2
BUG:13191516

Original CLs below:

In nativeDecodeFileDescriptor, use fdopen.

Instead of attempting to mmap the entire file, create an
SkFILEStream from a FILE.

BUG:11669944
BUG:11028218
Cherry-pick from: If67da91484acc79f9f3dde6d05201409c0c75e41

-------------------------------------------------------------------------

Decode file descriptor from the correct offset.

Fix a few bugs in nativeDecodeFileDescriptor:
1. Restore the FD's offset when exiting the function.
2. Copy the data when potentially using an SkImageRef.
   The old behavior would have continued to modify the
   file descriptor's offset each time a new decode was
   required. The copy ensures that the file descriptor
   remains unchanged.
3. Buffer the file stream.
   Prior to this change, if the image was not a PNG,
   the stream would be rewound to the beginning of the
   file, even if the file descriptor was passed in with
   an offset. Thanks to the buffer, the stream is only
   rewound to the original offset.

Depends on https://googleplex-android-review.googlesource.com/#/c/415821/1
in external/skia

BUG:12807677
BUG:12895876
Cherry-pick from: I38b8cf5d210dbbc0107e6562e3884867de57fc4b
2014-03-17 14:18:53 +00:00
Leon Scroggins III
f8d8777ddd Update framework to use M33 Skia. DO NOT MERGE
(These CLs are already in master.)

Bug: 13246311

This cherry-picks 7 CLs:

-----------------------------------------------------------------------

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.

cherry-pick from: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a

-----------------------------------------------------------------------

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.

cherry-pick from: I2a5395914e4f53830aaefee396556459083a1c56

-----------------------------------------------------------------------

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
cherry-pick from: Id746315d41aec5b211b78b172a883c2061130f08

-----------------------------------------------------------------------

pass SkGlyphCache into updateGlyphCache()

Doing so prevents us from double-locking the glyph cache, thereby
effectively locking ourselves out of reusing work that we'd just done.

Bug: 11968757
cherry-pick from: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89

-----------------------------------------------------------------------

Updates to the Skia API needed to merge the WebView m33 version of Skia.

cherry-pick from: I0f63b53f2aae58871413b132742fc84138f069a3

Bugfix for screenshots (recent apps) due to incorrect rowBytes computation

bug: 12915192
cherry-pick from: I4d5fe2a2f75baf66099e0970fb646686a1992714

-----------------------------------------------------------------------

Fix bug in AndroidPixelRef where we did not store the correct imageInfo for a recycled bitmap.

cherry-pick from: I882483b78886e2f19fa4e43a86e69f5a82b3b7e5

-----------------------------------------------------------------------

Change-Id: Ie2b731a9f0795802418cfecddb4b684c92c64d33

Conflicts:
	core/jni/android/graphics/Bitmap.cpp
	core/jni/android/graphics/Graphics.cpp
	core/jni/android/graphics/Typeface.cpp
	graphics/java/android/graphics/Bitmap.java
2014-03-17 13:57:18 +00:00
Leon Scroggins III
bc57651fb5 Merge "DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2 BUG:13191516" into klp-dev 2014-03-07 18:13:29 +00:00
Leon Scroggins III
278250dafb DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2
BUG:13191516

Original CLs below:

In nativeDecodeFileDescriptor, use fdopen.

Instead of attempting to mmap the entire file, create an
SkFILEStream from a FILE.

BUG:11669944
BUG:11028218
Cherry-pick from: If67da91484acc79f9f3dde6d05201409c0c75e41

-------------------------------------------------------------------------

Decode file descriptor from the correct offset.

Fix a few bugs in nativeDecodeFileDescriptor:
1. Restore the FD's offset when exiting the function.
2. Copy the data when potentially using an SkImageRef.
   The old behavior would have continued to modify the
   file descriptor's offset each time a new decode was
   required. The copy ensures that the file descriptor
   remains unchanged.
3. Buffer the file stream.
   Prior to this change, if the image was not a PNG,
   the stream would be rewound to the beginning of the
   file, even if the file descriptor was passed in with
   an offset. Thanks to the buffer, the stream is only
   rewound to the original offset.

Depends on https://googleplex-android-review.googlesource.com/#/c/415821/1
in external/skia

BUG:12807677
BUG:12895876
Cherry-pick from: I38b8cf5d210dbbc0107e6562e3884867de57fc4b
2014-03-07 11:28:44 -05:00
Takahiro Aizawa
092759f6b4 EGL14.eglCreateWindowSurface should set producerControlledByApp
Interface of Surface class changed.
To reflect the change for EGL14, add producerControlledByApp flag.
Similar change can be seen in 0fa257fe53bf520bdde93996a1901ce6bc3e1788

Bug 13226025
(cherry-pick from AOSP Ic8911d3131e033747cfdabe59ac2fea1e90bb4a0)

Change-Id: I853484c38f065d71b365bb48b2a794ca4787e70a
2014-03-06 14:18:44 -08:00
Leon Scroggins III
5e49b497ae Update framework to use M33 Skia. DO NOT MERGE
(These CLs are already in master.)

Bug: 13246311

This cherry-picks 7 CLs:

-----------------------------------------------------------------------

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.

cherry-pick from: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a

-----------------------------------------------------------------------

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.

cherry-pick from: I2a5395914e4f53830aaefee396556459083a1c56

-----------------------------------------------------------------------

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
cherry-pick from: Id746315d41aec5b211b78b172a883c2061130f08

-----------------------------------------------------------------------

pass SkGlyphCache into updateGlyphCache()

Doing so prevents us from double-locking the glyph cache, thereby
effectively locking ourselves out of reusing work that we'd just done.

Bug: 11968757
cherry-pick from: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89

-----------------------------------------------------------------------

Updates to the Skia API needed to merge the WebView m33 version of Skia.

cherry-pick from: I0f63b53f2aae58871413b132742fc84138f069a3

Bugfix for screenshots (recent apps) due to incorrect rowBytes computation

bug: 12915192
cherry-pick from: I4d5fe2a2f75baf66099e0970fb646686a1992714

-----------------------------------------------------------------------

Fix bug in AndroidPixelRef where we did not store the correct imageInfo for a recycled bitmap.

cherry-pick from: I882483b78886e2f19fa4e43a86e69f5a82b3b7e5

-----------------------------------------------------------------------

Change-Id: Ie2b731a9f0795802418cfecddb4b684c92c64d33
2014-03-06 12:14:47 -05:00
Takahiro Aizawa
5b4a857603 DO NOT MERGE EGL14.eglCreateWindowSurface should set producerControlledByApp
Interface of Surface class changed.
To reflect the change for EGL14, add producerControlledByApp flag.
Similar change can be seen in 0fa257fe53bf520bdde93996a1901ce6bc3e1788

This is a cherry-pick of https://android-review.googlesource.com/#/c/72973/ which is already in master, so do not merge.

Change-Id: Ic8911d3131e033747cfdabe59ac2fea1e90bb4a0
2014-02-25 00:00:16 +00:00
Narayan Kamath
d933edc742 am 9ecada44: am dfd4f523: am d228a038: Merge "mNativeCanvas is long, not int."
* commit '9ecada44042c49516d781281bbe0cba4e0af51a2':
  mNativeCanvas is long, not int.
2014-01-29 15:33:48 +00:00
Narayan Kamath
d228a03891 Merge "mNativeCanvas is long, not int." 2014-01-29 15:02:05 +00:00
Narayan Kamath
e3a6663bb2 mNativeCanvas is long, not int.
swapNativeCanvas was asking for an int field.

Change-Id: I660fb13ecfb5d3b24201676dc03c16d61c92af07
2014-01-29 12:21:32 +00:00
Narayan Kamath
c74f7619e1 am cdc095ae: am 7be33110: am d4ccffd3: Merge "AArch64: Use long for pointers in graphics/Interpolator"
* commit 'cdc095ae4850d9ffd08de0d6e8828949603fcdd1':
  AArch64: Use long for pointers in graphics/Interpolator
2014-01-29 12:21:21 +00:00
Narayan Kamath
0cc4bb1ff3 am e4fc5c17: am 74db9ddb: am 887b1ca8: Merge "AArch64: Use long for pointers in SurfaceTexture"
* commit 'e4fc5c17c092a77e0647e01e93a6b0e806c27692':
  AArch64: Use long for pointers in SurfaceTexture
2014-01-29 12:21:11 +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
09d07d0d33 am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit 'e3e4b40577032f6fad38bfbeb9c2b40df89f0ef9':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:51:51 +00:00
Narayan Kamath
50afaefdc0 Merge "AArch64: Make Binder and Parcel 64-bit compatible" 2014-01-29 10:43:23 +00:00
Mark Salyzyn
8bb5e66295 am d732f561: am 2c6b048b: am 967c5d00: Merge changes I3659193f,I8b78e4db
* commit 'd732f561b24e643676812855396d0c9b9138b4c8':
  jni: Resolve build warnings
  jni: Incorporate liblog reading API
2014-01-28 21:42:07 +00:00
Mark Salyzyn
967c5d00df Merge changes I3659193f,I8b78e4db
* changes:
  jni: Resolve build warnings
  jni: Incorporate liblog reading API
2014-01-28 21:30:40 +00:00
Narayan Kamath
8697dc674c am be674bf6: am 23abbfbb: am 154614ab: Merge "AArch64: Use long for pointers in graphics/Camera"
* commit 'be674bf688fec9ce4ec04e77c93644be8253d273':
  AArch64: Use long for pointers in graphics/Camera
2014-01-28 19:22:12 +00:00
Narayan Kamath
39a789bf6e am 7ae1726d: am aa9ba887: am 6e09eb4c: Merge "AArch64: Make graphics classes 64-bit compatible"
* commit '7ae1726d0b962878cce4c1fe6c814a315f253293':
  AArch64: Make graphics classes 64-bit compatible
2014-01-28 19:22:07 +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
Mark Salyzyn
3ed8e2e679 jni: Resolve build warnings
(cherry picked from commit 087f58dd80e3296a53c6e3c74c089e9a0265f3bd)

Change-Id: I3659193f1ba1ba94561e4684cdb6627880ffc2fa
2014-01-27 15:25:51 -08:00
Mark Salyzyn
7933c2943f jni: Incorporate liblog reading API
(cherry picked from commit e11cbd441df4a1689c89b2ab91b84523c9f2fd10)

Change-Id: I8b78e4db67b6daabb975ce740fb40478df4ffcef
2014-01-27 15:25:09 -08:00
Mathieu Chartier
4a750c1f4a am 15594557: am 137d74d8: am db525724: Merge "Fix dest == src bugs in Matrix.cpp."
* commit '15594557f118f670e8d8523e9aed0df3345d28ca':
  Fix dest == src bugs in Matrix.cpp.
2014-01-27 19:30:35 +00:00
Mathieu Chartier
db52572486 Merge "Fix dest == src bugs in Matrix.cpp." 2014-01-27 17:26:48 +00:00
Narayan Kamath
30e20ac528 am ebd43d46: am dff83e2b: am d5970e9c: Merge "AssetManager cookies should be int32_t and not void*."
* commit 'ebd43d46ebf53005ae60af59948f8ed634f9bafb':
  AssetManager cookies should be int32_t and not void*.
2014-01-27 12:04:30 +00:00
Narayan Kamath
745d4efc83 AssetManager cookies should be int32_t and not void*.
Cookies are really indices into vectors and arrays, so
they don't need to be void*. We choose int32_t instead
of size_t to allow their width to be well specified.

(cherry picked from commit ebfdd0f467e39c3af8d92cade78263935340acb7)
(cherry picked from commit a7fa2e592e2e579e5acdb903dba83fc074ebc215)
(cherry picked from commit a9d5701b034ed2d9771b3f0943e1add00741d7cd)

Change-Id: I2aed3db568b6fdc487bf99e2c5dd123206736fda
2014-01-27 11:20:24 +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
Ashok Bhat
8ab665dda4 AArch64: Make Binder and Parcel 64-bit compatible
Changes include
[x] Long is used to store native pointers

[x] Added new method obtain(long obj) to Parcel. Binder
    uses this method instead of obtain(int obj).

[x] obtain(int) has been changed to throw unsupported
    operation exception.

Change-Id: I408e0f2a24deb28c9277d86670653a51eb314266
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>
2014-01-23 16:25:19 +00:00
Elliott Hughes
8815d261d9 am 8da106eb: am aa80f1a3: am c9a60b0f: Merge "Don\'t confuse stat and stat64."
* commit '8da106ebf31d725c00c1910a51f6e1cfb0d8c052':
  Don't confuse stat and stat64.
2014-01-18 02:42:01 +00:00
Elliott Hughes
ad076286c3 Don't confuse stat and stat64.
Bug: 11865851
Change-Id: I45e65036d86c58943b9c273777f3f8be79a6966f
2014-01-17 18:27:27 -08:00
Narayan Kamath
766c95be6f am e66fa5c1: am 251de854: am 53e9bfae: Merge "Fix error checking in MemoryFile."
* commit 'e66fa5c1851f48dce95364dc0acbde1b9f39f160':
  Fix error checking in MemoryFile.
2014-01-17 19:23:12 +00:00
Narayan Kamath
d8facb6763 am d569e21d: am 48de490c: am 486544f7: Merge "AArch64: Use long for pointers in view/input classes"
* commit 'd569e21dac38fffe0e6a7f935e9a6965495b87d4':
  AArch64: Use long for pointers in view/input classes
2014-01-16 15:38:34 +00:00
Narayan Kamath
7471dfc4a8 am 42defa02: am faa62aac: am 84ee7930: Merge "AArch64: Use long for pointers in android/os/MessageQueue"
* commit '42defa02337b94d25714fe737f749f2c3300c790':
  AArch64: Use long for pointers in android/os/MessageQueue
2014-01-16 15:38:29 +00:00
Narayan Kamath
077386dbda am 6b81bfd1: am caea42fd: am 98002dfb: Merge "AArch64: Use long for pointers in graphics/PathMeasure"
* commit '6b81bfd10f63c166ff6e4afb0f267ce9e5275366':
  AArch64: Use long for pointers in graphics/PathMeasure
2014-01-16 15:38:24 +00:00
Narayan Kamath
213f243f35 am 87a82800: am aef12450: am 1b0f0be0: Merge "Make YuvToJpegEncoder more JNI compliant"
* commit '87a82800658c9bcad75881d9761b412a024d7969':
  Make YuvToJpegEncoder more JNI compliant
2014-01-16 15:38:19 +00:00
Narayan Kamath
775667c070 am 03e8be75: am 8796ab7f: am bb35356d: Merge changes Id54087dd,I946325e4,I2a2b2e68
* commit '03e8be757d2703d52fad3fd153c6bcf0b13ed1d1':
  AArch64: Use long for pointers in BitmapRegionDecoder
  AArch64: Use long for pointers in Movie class
  AArch64: Add AssetInputStream.getNativeAsset
2014-01-16 15:38:15 +00:00
Narayan Kamath
19bd2c28f9 am ab220dee: am 947d88a0: am 138d67c8: Merge "AArch64: Use long for pointers in MotionEvent class"
* commit 'ab220deeb8a413649335d5ef47d974dfdc3ac5ec':
  AArch64: Use long for pointers in MotionEvent class
2014-01-16 15:38:10 +00:00