b2e2f2470693e78baed20617f989d9a166864ed4 |
|
18-Oct-2012 |
Romain Guy <romainguy@google.com> |
Take into account the texture layer's transform for clipping Bug #7370212 Change-Id: Ibdc3161306f54a1cfe66e08458f05ee01a13b1df
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ef09a210dd6ea481158b7028ec2424a7f5769ed2 |
|
25-Sep-2012 |
Romain Guy <romainguy@google.com> |
Don't destroy the same texture twice Bug #7221449 SurfaceTexture already deletes the GL texture when detachFromContext is invoked. The newly introduced refcount would casue the Layer object to be destroyed later and attempt to delete the GL texture again. By the time the second cleanup occurs, the texture name might have been reused by somebody else, resulting in erroneous behaviors. Change-Id: I257c589fea64b34c00f46fbfaa7732e6854a5e41
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
87e2f757be9b24d369bab354e37c276e851b1fc7 |
|
24-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add a property to disable libhwui's scissor optimization Bug #7158326 When scissor optimization is enabled, OpenGLRenderer will attempt to minimize the use of scissor by selectively enabling and disabling the GL scissor test. When the optimization is disabled, OpenGLRenderer will keep the GL scissor test enabled and change the scissor rect as needed. Some GPUs (for instance the SGX 540) perform better when changing the scissor rect often than when enabling/disabling the scissor test often. Change-Id: Idb68862e287a23358f9188d577ae0f86161902fd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
11cb642756093a4af901b1525375b1eb2b5c3e2b |
|
21-Sep-2012 |
Romain Guy <romainguy@google.com> |
Update layers in a single batch at the beginning of a frame Bug #7186819 Change-Id: Ice5926dfedfb3be3a3064e65008dafa2852407da
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
603f6de35f21d74ae242d52d501f4f5c25ff4f4c |
|
15-Sep-2012 |
Chet Haase <chet@google.com> |
Fix occasional crash bug with layers Launcher occasionally crashes with a stack trace indicating that the memory of a Layer object is corrupt. It is possible for us to delete a Layer structure and then, briefly, use it to draw a DisplayList again before that DisplayList gets recreated (without the layer that got deleted). When this happens, if the memory got corrupted, it's possible to crash. The fix is to add Layer to the other objects which we currently refcount (bitmaps, shaders, etc.). Then instead of deleting a Layer, we decrement the refcount. We increment when creating it, then increment it again when it's referenced from a DisplayList. Then we decrement the refcount instead of deleting it, and decrement when we clear a DisplayList that refers to it. Then when the refcount reaches 0, we delete it. Issue #6994632 Native crash in launcher when trying to launch all apps screen Change-Id: I0627be8d49bb2f9ba8d158a84b764bb4e7df934c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d15ebf25c595b855f6978d0600218e3ea5f31e92 |
|
05-Sep-2012 |
Chet Haase <chet@google.com> |
Enable changing properties of layer paint Previously, to draw a layered view with a changed Paint object for the drawLayer operation, you'd have to invalidate the parent view, to get the native DisplayList to pick up the new Paint properties. This change adds API and functionality so that the developer can call setLayerPaint(), which does the proper invalidation (lightweight, doesn't cause redrawing the view). Issue #6923810 Make it easy to efficiently animate a layer's Paint Change-Id: I7fea79788d50f6d9c86dd5e5b2a4490cb95142bb
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0baaac5e9adf3ee280ae1239e2e58754a9d2b099 |
|
01-Sep-2012 |
Romain Guy <romainguy@google.com> |
Revert "Revert "Add more support for transformed clip rects and paths"" This reverts commit a8557d2169e14997637f57bc897640c8882d4a46. Change-Id: I36d4883d548fc47ba6c0b4a42012107d0d2f85a6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a8557d2169e14997637f57bc897640c8882d4a46 |
|
01-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Revert "Add more support for transformed clip rects and paths" this introduced a dead lock in GradientCache's ctor. This reverts commit dfe082f63e94cde9aee271c94d13de5e7217e036. Bug: 7096001 Change-Id: I57b8bbab11fb7cb502fa58e3bbf5d19864db874f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
dfe082f63e94cde9aee271c94d13de5e7217e036 |
|
01-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add more support for transformed clip rects and paths Change-Id: I41791b1e1bffef77d503dc9e52428395d2309688
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c89b14bba0f6cc2c91629080617f7ed215f697f3 |
|
08-Aug-2012 |
Romain Guy <romainguy@google.com> |
It seems that apparently useless public APIs are actually useful Bug #6953651 Change-Id: Ic47ce504e63262711f5d3edc76f7d2b9c12471ad
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
17112ad8a21a77620eb1ff14dcf8bdd6b7859712 |
|
07-Aug-2012 |
Romain Guy <romainguy@google.com> |
Cleanup of libhwui Change-Id: Ib7f5771548462c00027a8ad57badfb68c50644f9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c25259519f1b74bb62a2b051b74537f073436b5c |
|
28-Jul-2012 |
Romain Guy <romainguy@google.com> |
Rename drawGeneralText to drawText Change-Id: I5062ea5b0605fc7af27f410fafc930d10f38e926
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
996e57c84368058be793897ebc355b917a59abc2 |
|
24-Jul-2012 |
Raph Levien <raph@google.com> |
Hardware implementation of glyph positioning (bug 5443796) This implementation adds a drawGeneralText() method to the OpenGL Renderer, which supports both a global x, y position, an array of individual glyph positions, and also a length parameter (which enables drawing of underline and strikethrough. It also adds the method to the display list (with marshalling and unmarshalling). With this change, the existing drawText() method is removed entirely, as it's subsumed by the new method. It's easy enough to revert to the old functionality if needed by passing in a NULL positions array. Change-Id: I8c9e6ce4309fd51cc5511db85df99f6de8f4f6f5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f0af1d5cb255f136d2fff773be7518ffd7ae3b93 |
|
12-Jul-2012 |
Romain Guy <romainguy@google.com> |
Remove unused View.flushLayer() API Change-Id: I5d4c7388afb5265964ab6b769cc0abfee9745c84
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
846a533945576e5cb1a66529ca3a52d71749f04f |
|
12-Jul-2012 |
Romain Guy <romainguy@google.com> |
Update layers' opaque property when needed Before this change, changing a View's opacity would not be reflected by hardware layers. This could cause layers to retain their previous opacity. Change-Id: Iba2c8b4242deca021651df9324cc7c585a64653d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2 |
|
07-Jun-2012 |
Chet Haase <chet@google.com> |
Track canvas clearing for swap buffers logic. A previous fix made it necessary for a frame to render something to GL in order to cause a call to eglSwapBuffers(). Besides the calls being tracked as part of issuing a DisplayList, there is also a potential call to clear the canvas (via glClear()) on non-opaque surfaces. This call is also good to track, since a surface that gets cleared without any other drawing operations is worth flipping to the screen (to erase old contents on that surface). This fix tracks the status of the pre-draw operations to find out whether glClear() was called and then sets the drawing status appropriately. Issue #6606422 QuickContact dismissal is janky again (Tracking) Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
df071486e0cf6241e7351efc786385cce38768f9 |
|
19-May-2012 |
Mathias Agopian <mathias@google.com> |
drop frame in case of error in updateTexImage Bug: 6476587 Change-Id: I864a7d0997761150a3db2ddd5890ed820d792e56
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
49c5fc0b9e850497233e189ff9dcc71a78ebe6e7 |
|
15-May-2012 |
Romain Guy <romainguy@google.com> |
Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390 Change-Id: I4d2d725ef50c9401b4bd998b6160128102b40745
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e651cc6239616a202f6e96ebc2ed93b4b8b3627c |
|
15-May-2012 |
Romain Guy <romainguy@google.com> |
Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...) Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ba6be8a62dcdb3ffd210cd36b9af4e3a658eac47 |
|
24-Apr-2012 |
Romain Guy <romainguy@google.com> |
Prevent WebView from crashing when detached from the window Bug #6365056 WebView enqueues a functor in the hardware renderer to handle animations and this functor is called at a later time by the hardware renderer. However, the functor was not removed from the queue when WebView was removed from the window. This could cause the hardware renderer to attempt to execute an invalid functor and lead to a crash. Change-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1271e2cc80b01d577e9db339459ef0222bb9320d |
|
20-Apr-2012 |
Chet Haase <chet@google.com> |
Remove USE_DISPLAY_LIST_PROPERTIES flag This flag was still hanging around pending any need to disable DisplayList properties. But things seem stable, so it's time to clean up and simplify the code. At the same time, I reduced redundance in DisplayList dimensions. We used to call drawDisplayList() with width/height parameters that were used to do a clip reject. This is redundant with the DisplayList properties that set the bounds of the DisplayList; the left/right and top/bottom properties represent the same width/height properties formerly used in drawDisplayList(). The new approach is to not pass dimensions to drawDisplayList(), but to instead pull those dimensions directly from the DisplayList when needed. Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8f3b8e32993d190a26c70c839a63d8ce4c3b16d9 |
|
28-Mar-2012 |
Romain Guy <romainguy@google.com> |
Allow fine-grained control over functors execution Adds non-drawing execution mode Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
244ada1d35419b7be9de0fc833bb03955b725ffa |
|
29-Mar-2012 |
Romain Guy <romainguy@google.com> |
Refactor GLES20Canvas/HardwareRenderer JNI layers GLES20Canvas defined several JNI functions used only by HardwareRenderer. Now that we have a JNI layer dedicated to HardwareRenderer we should host the renderer related methods there. Change-Id: I0bcb4ad0bcc1c4a37290df10c1685f2cfe5504ca
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6554943a1dd6854c0f4976900956e556767b49e1 |
|
27-Mar-2012 |
Romain Guy <romainguy@google.com> |
Use a status_t return type for GL functors WebView needs more fine-grained control over the behavior of the framework upon execution of the display lists. The new status_t allows WebView to requests its functor to be re-executed directly without causing a redraw of the entire hierarchy. Change-Id: I97a8141dc5c6eeb6805b6024cc1e76fce07d24cc
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bb0acdf9e1d862a7cf0e2533321fc1105c29b5e3 |
|
05-Mar-2012 |
Romain Guy <romainguy@google.com> |
Delete display list objects and resources on the UI thread Bug #6073717 Bug #6065504 Bug #6026515 Bug #5971725 Prior to this patch, the destructor of DisplayList would always run on the finalizer thread. This could cause a race condition if the UI thread was busy rendering display lists at the same time leading to various random native crashes. Change-Id: Ie11108e3b1538d4b358a1a8b4cce1b2d33152d0c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2bf68f063b0077ddef6ebfe54f2ae5e063c2c229 |
|
02-Mar-2012 |
Romain Guy <romainguy@google.com> |
Deferred layer updates Change-Id: I83d9e564fe274db658dcee9e0cc5bbf9223ebb49
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
325740fb444af8fc7fb0119b2e30ce322c2ae134 |
|
25-Feb-2012 |
Romain Guy <romainguy@google.com> |
Add hooks to implement Canvas.drawTextOnPath() in GL Change-Id: I165c9e05facf5365aa6850605688e538640c7fcc
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 |
|
18-Feb-2012 |
Mathias Agopian <mathias@google.com> |
frameworks/base refactoring. step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
33f6beb10f98e8ba96250e284876d607055d278d |
|
17-Feb-2012 |
Romain Guy <romainguy@google.com> |
Record possible clip rejects when recording display lists This optimization allows us to quickly skip operations that lie entirely outside of the known bounds of a display list. Because of ViewGroup.setClipChildren, we must keep the operations recorded in the display list. setClipChildren(false) is however a very uncommon operation and we will therefore often benefit from this new optimization. Change-Id: I0942c864e55298e6dccd9977d15adefbce3ba3ad
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
13631f3da855f200a151e7837ed9f6b079622b58 |
|
31-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add debug markers to OpenGLRenderer These markers will be used to group the GL commands by View in the OpenGL ES debugging tool. This will help correlate individual GL calls to higher level components like Views. Change-Id: I73607ba2e7224a80ac32527968261ee008f049c6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
530041d3191ce817832a0108514617768e43cda6 |
|
26-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add stencil buffer to the EGL config Change-Id: If76c0cd6127534d90f9526b75c0f8e56259c6722
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a731b082b2c43204e6e9f927ab82fb732934a83b |
|
24-Jan-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Code cleaning: centralize use of #if USE_TEXT_LAYOUT_CACHE - also clean some destructors (was not quite compulsory because they are related to some Singletons) Change-Id: I3091cac7b38628cda593d72570ba7a5d7ea2a15c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5ff9df658230d49e42c43586997a02d8e4dd417e |
|
24-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add full support for Canvas.setDrawFilter() Change-Id: I0ad35d0603c4eeda469014803be14c1dcdde918c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
671d6cf460531825a321edb200523d0faa7792c9 |
|
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
Full support for Canvas.drawPosText This also introduces a small optimization when rendering text. Change-Id: Iff620ac97bf878eaac406bccc6daa07052c93890
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
eb9a5367e8f0e970db8509ffb2584f5376bc62ed |
|
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
First pass at implementing Canvas.drawPosText() in GL Change-Id: Ia3ac347e95d57eb86c63045156c8dbc0572b03cb
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d1d4bb70704e8f37d0823837eacdae21ebe0ed05 |
|
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
Free optimization Using the TextLayoutCache with the GL renderer should help... Change-Id: I73a19be040165212839e2a40d4183e998f9dfb7f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3762c311729fe9f3af085c14c5c1fb471d994c03 |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5baa3a62a97544669fba6d65a11c07f252e654dd |
|
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b02d0ca5553300063e4332192632312600caf4b9 |
|
08-Dec-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Clean TextLayout code and remove RTL_USE_HARFBUZZ - remove dependencies on ICU - use TextLayouCache - remove RTL_USE_HARFBUZZ define (we *are* using Harfbuzz now) - also fix compilation warning Change-Id: I022e11703438d07032e49e42724184f6bf16653e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9c4b79af221b53f602f946faa9ff317a596a0c39 |
|
11-Nov-2011 |
Romain Guy <romainguy@google.com> |
Discard framebuffer rendering queues when discarding layers Bug #5581817 Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4406345cd62d3687ce590c357854472f7f906e6c |
|
01-Dec-2011 |
Jesse Hall <jessehall@google.com> |
Disable GLES20Canvas on emu w/o native GL When the emulator is run without '-gpu on', GLES20 isn't supported, so claiming GLES20Canvas is available will lead to catastrophic failure. This change makes GLES20Canvas available when compiled in and either not running on the emulator, or running on the emulator with native GL acceleration enabled. Change-Id: I89c944f9e3c9585224f5aa0877335ea48ea4a468
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7077506f9945b87b02bdd47ffce75a5b813c821c |
|
14-Nov-2011 |
Dave Burke <daveburke@google.com> |
Revert "Discard framebuffer rendering queues when discarding layers" This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
da96f8ac2c1c35a54f3f36e6d776cb386a251d03 |
|
11-Nov-2011 |
Romain Guy <romainguy@google.com> |
Discard framebuffer rendering queues when discarding layers Bug #5581817 Change-Id: If612846ec5f7793710fc4df152791fb32c506551
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8ff6b9ebeeb24a6161ec6098e6bfdf8790ee5695 |
|
10-Nov-2011 |
Romain Guy <romainguy@google.com> |
Terminate EGL when an app goes in the background This does not happen on high end gfx devices. This happens only if only one EGL context is initialized in the current process. Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5c863f741e8e484bb39decd516c9fa4c6322e671 |
|
06-Oct-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5371117 Regression : The Hebrew / Arabic text behavior in ICS latest build is wrong - welcome back start / count - goodbye log clusters - clean Paint code - make private some functions as they should be - improve memory allocation (create only one Shaper and reuse it for for shaping the runs in the same input text) Change-Id: I89a320c7f041319851308c8c9a919fbeafa82cdd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
79df5323e7ed541b854cea5684a89e8be8c2dfc9 |
|
20-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5332081 TextLayoutCache needs to be able to have more cache hits - makes TextLayoutCache not carring about start/count. Basically he will cache the result for the full string and gives back the "chunk" corresponding to start/count - changed the TextLayoutCacheValue API to take start/count parameters - add Harfbuzz LogClusters in TextLayoutCacheValue as it is needed for extracting the start/count "chunk" Change-Id: I4b38a4442428606de9a093303bbbe98181e1f89c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9c418dbc56efd334c68872d281f75138e16eae46 |
|
18-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Revert "Fix bug #5332081 TextLayoutCache needs to be able to have more cache hits" This reverts commit d686d76814f18061e06995df0d5de9feb9f70a7e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d686d76814f18061e06995df0d5de9feb9f70a7e |
|
14-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5332081 TextLayoutCache needs to be able to have more cache hits - makes TextLayoutCache not carring about start/count. Basically he will cache the result for the full string and gives back the "chunk" corresponding to start/count - changed the TextLayoutCacheValue API to take start/count parameters - added the Harfbuzz LogClusters in TextLayoutCacheValue as it is needed for extracting the start/count "chunk" - fix potential issue of cache key leaking Change-Id: I9276f9bec744e8de36349acfba8429f7c6f83394
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
163268b3a8d4dd7e650e6c540f832bf60f6bf4c9 |
|
08-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5274332 TextLayoutCache is having multiple instances - also fix the missing LOG_TAG define Change-Id: I25e96d1ba372e84768604f18702e0724fdecefb0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
189887e0ae171c1b7601991442104a30e56c50ab |
|
25-Aug-2011 |
Romain Guy <romainguy@google.com> |
Implement saveLayer*() correctly When the Rect parameter is null, the layer's bounds must match the clip rect. Change-Id: Idbb3973af039bf319e840d1095b7037bf1015f35
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
067bb3b44357e09628ae63a8e7cf27f93b811b84 |
|
19-Aug-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Merge "Update TextLayout logging"
|
abb0f299fdc72755a18cf8848d57919890f0cd42 |
|
19-Aug-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Update TextLayout logging - centralize logging into TextLayoutCache - add offset logging Change-Id: I52f229b2a8aed121715b37a5a42936875b23f3c9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
302a9df1d50373c82923bb84ff665dfce584fb22 |
|
16-Aug-2011 |
Romain Guy <romainguy@google.com> |
Add an API to set the transform on a TextureView's surface texture. Bug #5156689 Change-Id: I635a625885c9b832a60d44ece0de7613ceb84109
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9d865512f1a39bac6bed612b24023213d5a1fb1d |
|
12-Aug-2011 |
Romain Guy <romainguy@google.com> |
Remove unnecessary private API Change-Id: I2ecb367528ec0691c07153a3d163b82a6ca33fdf
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
65b345fa22b878e141b8fd8ece9c208df00fa40f |
|
28-Jul-2011 |
Romain Guy <romainguy@google.com> |
Reclaim more memory, more often. Yay. Change-Id: I04557ad575c307a55088549f48f0e9ad994b7275
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
162a0217563f4665da6eb183dfce0fef740f641f |
|
22-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Decouple GLES20RecordingCanvas lifetime from GLES20DisplayList. Bug: 5062011 Previously, each GLES20DisplayList would hold onto an instance of GLES20RecordingCanvas. In turn, each GLES20RecordingCanvas held onto an SkWriter with a 16Kb buffer along with several other objects. With one display list per view and hundreds of views, the overhead could add up to a few megabytes. Ensured that the GLES20RecordingCanvas is reset as soon as the display list has been constructed, thereby promptly freeing the 16Kb buffer. Changed GLES20DisplayList so that it acquires a GLES20RecordingCanvas from a pool as needed and recycles it when done. Removed some dead code and cruft related to the construction of GLES20Canvas objects in general. Some code was written with the assumption that the underlying renderer object could change behind the scenes or might be lazily constructed, but that isn't actually the case so we can simplify things. Removed an unnecessary weak reference from GLES20DisplayList to the View. It isn't actually used anywhere. Fixed a bug in GLES20DisplayList where isValid() would return true while the display list was being recorded. This is incorrect because the native display list might not actually exist. Worse, even if the native display list does exist, it is stale and potentially refers to old Bitmaps that have been GC'd (because the mBitmaps list was cleared when recording started). Change-Id: Ib12d5483688cb253478edeb0156d34c476c2566b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f40aa3834d92bfb516e0f865375103d81e3de71d |
|
19-Jul-2011 |
Romain Guy <romainguy@google.com> |
Merge "Trim OpenGLRenderer's memory usage whenever possible"
|
6be3d5561cbeccf0a8257a4acb155657f868e548 |
|
15-Jul-2011 |
Romain Guy <romainguy@google.com> |
Add lock/unlockCanvas to TextureView With this change, TextureView has feature parity with SurfaceView. Change-Id: I4ef2da33420fc9590f868636ae72a5a6de61965b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bdf7609867a3f886455c51dba91623a86cceb6e2 |
|
19-Jul-2011 |
Romain Guy <romainguy@google.com> |
Trim OpenGLRenderer's memory usage whenever possible Change-Id: I9225077184f374b1a43300add15cc1d5b6869d1c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9ace8f5e79e76893fe4ca9e4d10f6c4056330485 |
|
08-Jul-2011 |
Romain Guy <romainguy@google.com> |
Use NEAREST filtering for layers whenever possible. Change-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f61970fc79e9c5cf340fa942597628242361864a |
|
07-Jul-2011 |
Romain Guy <romainguy@google.com> |
Add an API to query maximum bitmap/texture size on Canvas. Change-Id: I2c576c9a4ecad9f33cc6636bcbc29786acdf052d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5c5050d9026f7e0ba52bec094f681e048cdd5d9a |
|
24-Jun-2011 |
Grace Kloba <klobag@google.com> |
Make TextureView to use async SurfaceTexture. With this, there is no synchronous destroy SurfaceTexture requirement any more. Revert the previous change which only applies to the sync SurfaceTexture. Change-Id: Id4790d38a27f2982d0c8ad471bc1107683d27ffc
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a9489274d67b540804aafb587a226f7c2ae4464d |
|
23-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add the ability to specify the opacity of a TextureView TextureView assumes its content is opaque by default. Change-Id: Iba873423566a5b67c388081838bd910dceba32ba
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c989d867f2580a99cde25fab0e49e445aea33f2f |
|
22-Jun-2011 |
Romain Guy <romainguy@google.com> |
Collapse UI events in TextureView. Change-Id: Ia6c0cef0f694edc4b685c1ade1a9ba509a51e541
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0bc6eb30bc09b4c49193229cf3c0de28341be6f4 |
|
22-Jun-2011 |
Grace Kloba <klobag@google.com> |
Fix the issue where TextureView stuck if the producer side is too fast. When SurfaceTexture is in sync mode, the consumer needs to pull the pending frames. Otherwise the onFrameAvailable won't be called and no more update. This simple fix is to skip frame to keep up with the producer side. Change-Id: Ica833695dc0b0221d2543f46f0dd41aa55d1aa16
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
035f1010ebed7d420e74a4e9d830018ab8c8163a |
|
16-Jun-2011 |
Romain Guy <romainguy@android.com> |
Correctly register native methods. Change-Id: Ic82a2b9c5dd7fb5dc23650c4d5aa208ef8563a31
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e5e0c50f7dfaccc220725c5595080e921ffda1e4 |
|
16-Jun-2011 |
Romain Guy <romainguy@android.com> |
Properly refcount SurfaceTexture in the JNI layer. Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
77a811610f99e21da7f88dafef60d09f345d0506 |
|
15-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add TextureView.getBitmap() This API can be used to get a Bitmap copy of the content of a TextureView. Change-Id: I07522216c353720fba5cab333174f58f484eb911
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
af033caf26ef4eca99c4024e59def7e42c3fa4cd |
|
06-Jun-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix USE_TEXT_LAYOUT_CACHE define - fix compilation issues Change-Id: I3358457d94d2278804e81e4ca96c9633ed76a147
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6f7d9394ec69e9fb38ca5fc2caf6d2aef6f7442d |
|
02-Jun-2011 |
Romain Guy <romainguy@google.com> |
Take advantage of EGL_BUFFER_PRESERVED on IMG. The IMG architecture does not support the EGL_SWAP_BEHAVIOR_PRESERVED_BIT in EGL configurations. This bit is used only to be able to change the EGL_SWAP_BEHAVIOR, which matters when the default behavior is not the one we want. However on IMG, the default swap behavior is the one we desire. Change-Id: Iff5980c97df9e41bc837e424baf83b8eadbb7161
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
726aeba80ffc6778a9bc3e0ee957b8d644183505 |
|
01-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add support to OpenGLRendere to draw BiDi text. Bug #4350336 Change-Id: I1cf31693f7ca9653fa3a41b5b91c27ef288d680f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2ea75880142152b3a9993cb245754d73c05749a7 |
|
13-May-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Prepare OpenGLRenderer to use glyphs from TextLayoutCache - add OpenGLRenderer.drawGlyph() - refactor glypth logging code Change-Id: I797e6f1304d3f3f8f6ed31e7f9965d336233d2a4
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ed30fd8e9a2d65ee5c8520de55b0089c219f390c |
|
23-Apr-2011 |
Chet Haase <chet@google.com> |
Add ability for hierarchyviewer to output displaylist info Clicking on a node in hierarchyviewer1 and hierarchyviewer2 and then clicking the new "Dump DisplayList" button will cause the display list for the selected node (including its children) to be output into logcat. Change-Id: Iad05f5f6cca0f8b465dccd962b501dc18fe6e053
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a17de9b493123f0d6e6d0b842150bf29322b7a88 |
|
05-May-2011 |
Chet Haase <chet@google.com> |
Revert "Add ability for hierarchyviewer to output displaylist info" This reverts commit b2a4b52e8d5e499d33e2765e8c47851bf0266299.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b2a4b52e8d5e499d33e2765e8c47851bf0266299 |
|
23-Apr-2011 |
Chet Haase <chet@google.com> |
Add ability for hierarchyviewer to output displaylist info Clicking on a node in hierarchyviewer1 and hierarchyviewer2 and then clicking the new "Dump DisplayList" button will cause the display list for the selected node (including its children) to be output into logcat. Change-Id: Id32f62569ad1ab4d533bc62987f3a7390c1bb4e6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8f0095cd33558e9cc8a440047908e53b68906f5f |
|
03-May-2011 |
Romain Guy <romainguy@google.com> |
Allows to render with an OpenGL context inside a TextureView. Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
aa6c24c21c727a196451332448d4e3b11a80be69 |
|
29-Apr-2011 |
Romain Guy <romainguy@google.com> |
New widget: TextureView Bug #4343984 TextureView can be used to render media content (video, OpenGL, RenderScript) inside a View. The key difference with SurfaceView is that TextureView does not create a new Surface. This gives the ability to seamlessly transform, animate, fade, etc. a TextureView, which was hard if not impossible to do with a SurfaceView. A TextureView also interacts perfectly with ScrollView, ListView, etc. It allows application to embed media content in a much more flexible way than before. For instance, to render the camera preview at 50% opacity, all you need to do is the following: mTextureView.setAlpha(0.5f); Camera c = Camera.open(); c.setPreviewTexture(mTextureView.getSurfaceTexture()); c.startPreview(); TextureView uses a SurfaceTexture to get the job done. More APIs are required to make it easy to create OpenGL contexts for a TextureView. It can currently be done with a bit of JNI code. Change-Id: Iaa7953097ab5beb8437bcbbfa03b2df5b7f80cd7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a3804cf77f0edd93f6247a055cdafb856b117eec |
|
12-Apr-2011 |
Elliott Hughes <enh@google.com> |
You don't need to poke around inside FileDescriptor manually. We can help you with that. Note also that getParcelFileDescriptorFD did no such thing. All its callers were passing in a regular java.io.FileDescriptor and expecting the int. No ParcelFileDescriptors involved. Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
46e18c11d46a2bc1a46174f963d0ed1224d94cd2 |
|
06-Apr-2011 |
Brian Carlstrom <bdc@google.com> |
Don't use local ref for cached jclass reference in JNI code Change-Id: Id45b2acb358a819f2fd332e99f3a095f6fc7299b related-to-bug: 4241138
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
905787a7c91d23daa4efc3d16bd8cbf1a683e779 |
|
01-Apr-2011 |
Chet Haase <chet@google.com> |
Fix the build: break due to no OPENGL in some builds Change-Id: Ibceb501d2361df9b74dc1964ff6b92ec8452f219
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0865d33d976bb6c8ac34da9551ff62fbb60d715a |
|
01-Apr-2011 |
Chet Haase <chet@google.com> |
Fix the build - change a reference to a namespace specification Change-Id: I79c8b571e6555451611b825669963f042d901f1a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9c1e23baf5bfbebd1aebbd6d9a18c225325567ce |
|
24-Mar-2011 |
Chet Haase <chet@google.com> |
Add logging of graphics acceleration info to bugreports Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ed6fcb034b44d9a6ac2fc72fee6030417811f234 |
|
21-Mar-2011 |
Romain Guy <romainguy@google.com> |
Add support for drawPoint() and drawPoints(). Change-Id: I01bef50c08ec3160f8d40dc060b2cf6c2e4d7639
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a168d7372132d6c87835878794b6ed43d0d282fd |
|
19-Mar-2011 |
Romain Guy <romainguy@google.com> |
Correctly apply filters to Alpha8 bitmaps. This change also removes unnecessary operations from display lists. Change-Id: I627f85861982731f0ee7705b48b36d9c56f22f39
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8329db39f2f55484352d58b1820eb31a22698f11 |
|
15-Mar-2011 |
Romain Guy <romainguy@google.com> |
am b245e31f: am ee7ace06: Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1 * commit 'b245e31fa8dd1ad6a59ccf858154f3c7b92e0eb8': Fix rendering artifact in edge fades. Bug #4092053
|
7b5b6abf852c039983eded25ebe43a70fef5a4ab |
|
15-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix rendering artifact in edge fades. Bug #4092053 The problem always existed but was made visible by partial invalidation. When saving a layer, the renderer would try to postpone glClear() operations until the next drawing command. This however does not work since the clip might have changed. The fix is rather simple and simply gets rid of this "optimization" (that turned out to be usless anyway given how View issues saveLayer() calls.) This change also fixes an issue with gradients (color stops where not properly computed when using a null stops array) and optimizes display lists rendering (quickly rejects larger portions of the tree to avoid executing unnecessary code.) Change-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9b8c5f61432b7f12a216567409fa7baed6b74452 |
|
09-Mar-2011 |
Carl Shapiro <cshapiro@google.com> |
Merge "Remove unused JNI global references."
|
cabfcc1364eb7e4de0b15b3574fba45027b45cfc |
|
08-Mar-2011 |
Romain Guy <romainguy@google.com> |
Add support for partial invalidates in WebView Bug #3461349 This change also fixes two bugs that prevented partial invalidates from working with other views. Both bugs were in our EGL implementation: they were preventing the caller from comparing the current context/surface with another context/surface. This was causing HardwareRenderer to always redraw the entire screen. Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
17cc33a35729733aaa0a7706f38b1c45f0b1590a |
|
06-Mar-2011 |
Carl Shapiro <cshapiro@google.com> |
Remove unused JNI global references. Change-Id: Ie4886ab66538e293832c3bc3d6023e34304a2d21
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2b1847ea60650a9f68372abe860415f18b55081d |
|
26-Jan-2011 |
Romain Guy <romainguy@google.com> |
Remove unused API Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7d7b5490a0b0763e831b31bc11f17d8159b5914a |
|
25-Jan-2011 |
Romain Guy <romainguy@google.com> |
Enable partial invalidates when rendering with OpenGL. Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
daf98e941e140e8739458126640183b9f296a2ab |
|
10-Jan-2011 |
Chet Haase <chet@google.com> |
Use optimized display lists for all hwaccelerated rendering Previously, display lists were used only if hardware acceleration was enabled for an application (hardwareAccelerated=true) *and* if setDrawingCacheEnabled(true) was called. This change makes the framework use display lists for all views in an application if hardware acceleration is enabled. In addition, display list renderering has been optimized so that any view's recreation of its own display list (which is necessary whenever the visuals of that view change) will not cause any other display list in its parent hierarchy to change. Instead, when there are any visual changes in the hierarchy, only those views which need to have new display list content will recreate their display lists. This optimization works by caching display list references in each parent display list (so the container of some child will refer to its child's display list by a reference to the child's display list). Then when a view needs to recreate its display list, it will do so inside the same display list object. This will cause the content to get refreshed, but not the reference to that content. Then when the view hierarchy is redrawn, it will automatically pick up the new content from the old reference. This optimization will not necessarily improve performance when applications need to update the entire view hierarchy or redraw the entire screen, but it does show significant improvements when redrawing only a portion of the screen, especially when the regions that are not refreshed are complex and time- consuming to redraw. Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8b2f5267f16c295f12faab810527cd6311997e34 |
|
24-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for arcs. Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c1cd9ba335b293f11e1082447ef08e474710a05f |
|
23-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for ovals and stroked rectangles. Change-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5a7b466a2b4b7ced739bd5c31e022de61650545a |
|
21-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for drawBitmapMesh(). Change-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
01d58e43ede5ca98cbebdd166f9b0c545032c01b |
|
20-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add rounded rects and circles support to OpenGLRenderer. Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
807daf7df615b60ce6fc41355aabe3aa353cebab |
|
18-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for skew() Change-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ada830f639591b99c3e40de22b07296c7932a33f |
|
13-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup implementation of hardware layers. The new implementation relies on OpenGLRenderer's existing layer code instead of duplicating it. The new code is much cleaner, with simpler and better APIs and allows tracking of drawn regions inside layers. Region tracking is not yet enabled but this will be done in a future CL. Change-Id: Ie826121a2227de8252c77b992a61218defea5143
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
57066eb64c9a190d1afc87bb060bbb2d31e5b86c |
|
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup GL objects on the correct thread. Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6c319ca1275c8db892c39b48fc54864c949f9171 |
|
11-Jan-2011 |
Romain Guy <romainguy@google.com> |
Better backend for hardware layers. With this new backend, a hardware layer is only recreated when its associated view is udpated. This offers fast composition in GL and fast update of the layer in GL as well. Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5977baa1fa24125c148a72699b53e62abaf08960 |
|
06-Jan-2011 |
Chet Haase <chet@google.com> |
Reuse of native display list objects Change-Id: Ia4553e23930ad20e56c11faa7809be788a1ad4bb
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e4ac2d6b5723c95e648c489b187ddde449452c13 |
|
01-Dec-2010 |
Patrick Dubroy <dubroy@google.com> |
Allocate bitmap backing buffers in the Java heap. Change-Id: I60f6ccff13357c1c518e9d56b02fe0171637edd1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0fe478ea04720a57ef3919dbc23711bc7eba517f |
|
08-Nov-2010 |
Romain Guy <romainguy@google.com> |
Support nested display lists. Change-Id: I3815a2832fc0f722c668ba8f51c5f177edb77c94
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5c13d89c1332fcc499379b9064b891187b75ca32 |
|
08-Oct-2010 |
Chet Haase <chet@google.com> |
Optimizing display lists by referencing pointers to resources instead of copying them Change-Id: I81ad3551d74aa1e5bb64d69e33d2eb29a6c1eb6a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
41030da16856c8869e1e51d4a0405432fa96614e |
|
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Add a getNativeMatrix() API. This API can be used by WebView to apply the appropriate transform on its rendering. Change-Id: I79aa39a29805f462fb08226370328815e74bdc52
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4bb942083a0d4db746adf95349108dd8ef842e32 |
|
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize 9patch rendering. This change detects empty quads in 9patches and removes them from the mesh to avoid unnecessary blending. Change-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6b7bd24659fb175fe1f0e97c86c18969918b496a |
|
07-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't clear the framebuffer when not needed.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bdb801ca993bcccbf2a4c2401d1720c3fa523777 |
|
05-Oct-2010 |
Romain Guy <romainguy@google.com> |
Remove logs to reduce logcat spam. Change-Id: I5fc295b05b5d82bb86827b88e94dd51e8bcdc7d3
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b051e895ccb696604349c6c5efe7c4747e1d1ab6 |
|
29-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add display lists caching. Change-Id: Iac3a248a81ed8cb076a83ef9d186b8ebba685b4c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4aa90573bbf86db0d33a3a790c5dbd0d93b95cfe |
|
27-Sep-2010 |
Romain Guy <romainguy@google.com> |
Adding display lists to the GL renderer (checkpoint.) Change-Id: Iaa49757600a53b39369dbb23f8c3feab282518e6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e2d345ea67e2960b37bfdc0fc8626d1bfa747404 |
|
25-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add debug mode to measure performance. Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
759ea80dca64ad652110a129e0d8bf93fea79f61 |
|
17-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for drawLines(), with anti-aliasing Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b025b9c8b4efefadb01937db61a1f8ee7d2452bf |
|
16-Sep-2010 |
Romain Guy <romainguy@google.com> |
Better error handling in the OpenGL renderer. Add a glGetError() check on every frame Don't attempt to create textures larger than the maximum size allowed Change-Id: Iee4afae16089406dbe8bf10fc93b674f1271a0ca
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
da8532c6f48b4c10b5e2ccb9e08690341efa1616 |
|
31-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add hooks for hardware accelerated WebView. Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
fb8b763f762ae21923c58d64caa729b012f40e05 |
|
24-Aug-2010 |
Romain Guy <romainguy@google.com> |
Use only one GL context per process, share chaches. Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1e45aae5de003657e5d18f74d34998f5de5db5b7 |
|
14-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add drop shadows. Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a48a1a87ba17f20f7006eaab21dcedf86c015c13 |
|
10-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fast text selection drawing. Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
61c8c9c5b2006d18e9310b6521c65b36ffe75ce4 |
|
10-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix tons of bugs and add new text rendering support. Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
163935113919a184122b8b3bd672ef08c8df65dc |
|
08-Aug-2010 |
Romain Guy <romainguy@android.com> |
Make libhwui entirely optional. The makefile variable USE_OPENGL_RENDERER must be set to true to compile libhwui and the related code in the JNI layer. This change also removes obsolete APIs from Canvas that must not be used and would be confusing if left in. These APIs were remnants of our first attempt at an OpenGL renderer for the view hierarchy and had not been taken out before Android 1.0 was released. Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7fbcc0492fca03857e3c45064f4aa040af817d55 |
|
05-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add support for paths. Rendering is implementing by rasterizing the paths into A8 textures. This cna be extremely inefficient if the path changes often. Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
db1938e0e6ef816e228c815adccebd5cb05f2aa8 |
|
03-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add support for ColorFilters. Color filters are fully supported and can be used with shaders. Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
06f96e2652e4855b6520ad9dd70583677605b79a |
|
31-Jul-2010 |
Romain Guy <romainguy@google.com> |
Refactor Skia shaders handling. With this change, Skia shaders can easily be applied to any mesh. This change also supports ComposeShader. For instance, this can be used to blend a gradient and a bitmap togehter and paint a string of text with the result. Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9226298891119acff6b5e8b65fb7074fb99dc0c0 |
|
26-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix text corruption when rendering RTL enabled text. Change-Id: I5450fd9cad1c5a66875affdbcd34308aea4c36ac
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e8e62a4a032a80409114a37908b5f18ab0080848 |
|
24-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add text alignment support to drawText(). This change also integrates better support for RTL text. Change-Id: I6da8f5cf5dc28ca7cf1b22e27b0d853c919e8481
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
694b519ac647fe998fd396fe0784cc8e179aadc4 |
|
22-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add text rendering. Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a1db574036c9bc2d397b69f8200594027e1fff16 |
|
20-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add preliminary support for text rendering. Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c0ac193b9415680f0a69e20a3f5f22d16f8053be |
|
20-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for linear gradients. Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f9764a4f532561f6e2e985ff3b25112f1132ce44 |
|
17-Jul-2010 |
Romain Guy <romainguy@android.com> |
Add program for linear gradient. This change adds a new DrawLinearGradientProgram class to enable the drawing of linear gradients. Two new vertex and fragment shaders are introduced, based on DrawTextureProgram's shaders. Change-Id: I885afc076bb6cef8cd3962ae21a086fa6a03bf96
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7fac2e18339f765320d759e8d4c090f92431959e |
|
17-Jul-2010 |
Romain Guy <romainguy@android.com> |
Add plumbing to support gradients in OpenGL renderer. The LinearGradient class keeps a copy of the various parameters that define the gradient. The copies are native arrays to avoid copying Java arrays on every draw call. The gradient code path is implemented until OpenGLRenderer::drawRect() (see TODO.) The actual gradient implementation will be added in a latter change. Change-Id: I9300d250ef5e2e9c2e097c3116ee71dfc9d752d8
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
079ba2c85b15e882629b8d188f5fbdb42f7f8eea |
|
16-Jul-2010 |
Romain Guy <romainguy@android.com> |
Improve clip support (add intersect, union and replace.) This change also modifies the way the clip is stored. The clip is now always stored in screen-space coordinates. Change-Id: I96375784d82dfe975bc6477a159e6866e7052487
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d27977d1a91d5a6b3cc9fa7664ac7e835e7bd895 |
|
15-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for BitmapShader. This change also fixes an issue with the clip and layers. Change-Id: I5fd9832098d8cf7ae8eb781ff9bffe7defaea279
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
dbd77cd444f89d94ec5333223c1bc17dbe0c90cd |
|
09-Jul-2010 |
Romain Guy <romainguy@google.com> |
Remove support for density compatibility in the hardware renderer. Change-Id: I535e919986e5ccfb344ede8516ccd84c02642823
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
deba785f122a47915756ffd991f5540d952cf937 |
|
08-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support to draw 9patches in OpenGL. This change only adds the necessary API and stubs. The implementation will be added in another change. Change-Id: Ie50b8aff5868e78796cee331df15bdbf990d2ea1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f86ef57f8bcd8ba43ce222ec6a8b4f67d3600640 |
|
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Don't use full screen FBOs, this dramatically increase performance. The next step will be to add an FBO cache to avoid churning memory on every frame we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint). Change-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8ba548f81d1ab5f1750cbf86098c4a14e0b8bead |
|
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint) Change-Id: I10904d2325a5431d15801aebcec1048715678e8c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ce0537b80087a6225273040a987414b1dd081aa0 |
|
30-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add hooks for drawBitmap(). Change-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0 Add texture cache. Change-Id: I1c0e5581d228869e114438258a1014e33e024ad7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bd6b79b40247aea7bfe13d0831c6c0472df6c636 |
|
26-Jun-2010 |
Romain Guy <romainguy@android.com> |
Add implementations for saveLayerAlpha() and textured rects. Even though there's an implementation for textured rects, drawBitmap() is not hooked up yet as it will require a good texture cache. This method is implemented using FBOs. There's currently an issue either in the driver or in the Canvas renderer that forces the FBO to be fullscreen, which is extremely expensive and yields terrible performance. Change-Id: I148419195e12d45653c60186938aa78c23a68e2c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7ae7ac48aa2b53453c9805075171ecd5bcafd7de |
|
25-Jun-2010 |
Romain Guy <romainguy@android.com> |
Convert tabs to spaces. Change-Id: I5d3ae48af79b19b6d293deff0521e4bb57d5114b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c |
|
25-Jun-2010 |
Romain Guy <romainguy@android.com> |
Implement quickReject() and drawRect(). The OpenGL ES 2.0 renderer can now draw colored rectangles. At least there's something on screen now. Change-Id: I80a13ccc1dd56784edf74f2670a364f30700234a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9d5316e3f56d138504565ff311145ac01621dff4 |
|
25-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add colored rectangles implementation in OpenGLRenderer. Drawing two rectangles one after the other discards the second one because of Z buffering issues. This will be fixed in another changelist. Change-Id: Ida1b3cde8a78e60cacc07e477abc44def527ff67
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f6a11b8a9e25ff9861bbba19251bea84d8a5daf2 |
|
24-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add support for transformations. This change adds partial support for the following transforms: - scale() - translate() - rotate() - setMatrix() - getMatrix() The transform is stored in a snapshot and saved/restored as needed. The transform is currently not applied to the clip rect and is not mapped to the vertex shader. Change-Id: Id48993453311200804149917d0c126a4d0471226
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4 |
|
23-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add implementations for clipRect(), save() and restore(). The current implementation of clipRect() does not apply local transformations before setting the new clip. Change-Id: I5997871bb638dfcd1a8ef96354846af52427e445
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
85bf02fc16784d935fb9eebfa9cb20fe46ff7951 |
|
22-Jun-2010 |
Romain Guy <romainguy@google.com> |
Fix the simulator build. Change-Id: Ie404f7c2c308f0657f273af19a56e8c039b61898
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e4d011201cea40d46cb2b2eef401db8fddc5c9c6 |
|
17-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0. This is the initial checkin to setup the library and turn on OEGL ES 2.0 in ViewRoot, not a functional renderer. Change-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|