| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I900dd986f397b66f133e6021aa4c2539e7abc2b9
|
|
|
|
|
|
| |
Bug #6833979
Change-Id: I0ea78b7f31a557a335de10d910d03b0520029080
|
|
|
|
|
|
|
|
| |
To enable it, the system property ro.hwui.text_gamma_shader must be
set to true. For testing, DEBUG_FONT_RENDERER_FORCE_SHADER_GAMMA
can be set to 1 in libhwui/Debug.h.
Change-Id: If345c6b71b67ecf1ef2e8847b71f30f3ef251a27
|
|
|
|
| |
Change-Id: I863100a0dc53fec1a3a1b2acbdeb76e6049ffe58
|
|
|
|
|
|
|
| |
This change is the first step to a shader-based text antialias
gamma correction.
Change-Id: I9eb02d4c56cb95d05219f712290c865b46141954
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change improves execution of display lists, particularly on
tiled renderers. The goal is to disable the scissor test as
often as possible. Drawing commands are rarely clipped by View
bounds so most of them can be drawn without doing a scissor test.
The speed improvements scale with the number of views and drawing
commands.
Change-Id: Ibd9b5e051a3e4300562463805acc4fd744ba6266
|
|
|
|
|
|
|
|
| |
External bug: http://code.google.com/p/android/issues/detail?id=34879
This CL also fixes a bug where a View's alpha would be applied twice.
Change-Id: I13a1546228f44d4c169259414b6fa103a6e4a0fa
|
|
|
|
| |
Change-Id: I2d43c009c62a7f4a4a2e0a6303bdfa692c4b8c8c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug #6597730
Text would sometimes not appear when rendered with textured content
(BitmapShader, LinearGradientShader, etc.) This was due to a misuse
of OpenGL texture unit in FontRenderer. Textured text normally uses
two texture units:
- texture unit 0 for the font cache
- texture unit 1 for the textured content (gradient, etc.)
Recent changes to the font renderer allow it to bind new textures
while processing the text's geometry (this happens when caches get
full or when switching font size for instance.) The bindings were
done without ensuring the texture unit was the correct one
(unit 0), thus replacing the content of another texture unit
(unit 1).
This lead to text being drawn using the font cache itself as the
content texture, making the text invisible.
Change-Id: I392b4c884f09223305f6cbc6253e2ef9a98944c9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
bug:6608646
This reverts commit 8857b2f76abad1e4ec742dfd85d0c997880be376
Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
|
|
|
|
|
| |
bug:6596807
Change-Id: Ic9e34e323b12a887f2e8df0773a6155627b6a64f
|
|
|
|
|
|
|
|
|
|
| |
The fix is to track when we issue GL drawing commands, and to skip the
call to eglSwapBuffers() when a DisplayList does not result in
any actual rendering calls to GL.
Issue #6364143 QuickMuni list items and buttons flicker instead of fade
Change-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This also removes the temporary logging from commit
f8dafa14e058cdc2f408b59be7911abaceb73c47.
bug:6535911
Change-Id: Icf1d0438b349a0e92e7d9cefed57a252eed2b9b0
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
bug:6535911
Change-Id: Ida5cc1def7fe1fc314317bbc5df50e1465753deb
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #6527305
At the beginning of a frame, always set the blending mode that we
think GL is using just in case it was modified by another entity
(for instance a WebView functor.)
Change-Id: I0e1d0abee8a2abb2b8e7622aed28346e89562c06
|
|/
|
|
|
|
|
| |
instead clear functors at invoke time, and let them detach themselves as needed.
bug:6511995
Change-Id: I9115fcadffb27eb850c1d1773c098d3d2e22788b
|
|
|
|
|
|
| |
Bug #6483390
Change-Id: I4d2d725ef50c9401b4bd998b6160128102b40745
|
|
|
|
| |
Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
|
|
|
|
|
| |
bug:6445573
This reverts commit 2fe99801e81bb7c0ff846b536cbb7a12707410ed
|
|
|
|
|
|
|
|
| |
bug:6405861
Note: revert once the above bug is verified fixed
Change-Id: Iae04ec6ffa73a2711f96e128d60011bcb5864b5c
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I38b333eea53aef20340ce48dfcb0dd30a223f7a8
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
bug:6323847
depends on external/webkit change: https://android-git.corp.google.com/g/#/c/184314/
Change-Id: Ibdf997f3ee4f5c5c1ea5a320556813f175fea93f
|
|/
|
|
|
|
| |
Bug #6345013, #6314960
Change-Id: I6985f7f233eb6a5f9223e9f4be3f323154b5dbf0
|
|
|
|
| |
Change-Id: Ice7fe02b684ad662262aae3cac7a48a835ebcad5
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Cached layers were sometimes retaining an obsolete blending
value, causing artifacts where translucent objects were disappearing
completely. Also, added extra tracing info for DisplayLists.
Issue #6303668 Flickering views during SwipeHelper drag
Change-Id: I66ce158652c4a3ed316040585b40b1744e1fad0c
|
|
|
|
|
|
|
|
|
| |
When webview draws into an fbo layer, it needs to know the
size of that surface to create the rendering transform appropriately.
This change copies in the current viewport size to the structure that
is passed to the webview.
Change-Id: I7160b0836d00834134c799c95a439cdc045e2035
|
|
|
|
| |
Change-Id: I0a679cc33f92ff6fd2e33db9ad58b52622def012
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I2f035e9d87f4f97bc1e37355c84570fd58df0374
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Change-Id: Ifc8eada8922509373c0e4c3b2ed75b6f08d098de
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some views (such as ImageView and TextView) handle non-opaque alpha
values directly. This was originally an optimization, but we can handle it faster
in many cases without this optimization when DisplayList properties are enabled.
Basically, if a view has non-overlapping rendering, we set the alpha value directly
on the renderer (the equivalent of setting it on the Paint object) and draw each
primitive with that alpha value. Doing it this way avoids re-creating DisplayLists
while getting the same speedup that onSetAlpha() used to get pre-DisplayList properties.
Change-Id: I0f7827f075d3b35093a882d4adbb300a1063c288
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #6258973
When flushing the layer caches we would attempt to delete the FBOs
associate with layers in the cache. The FBO property was however not
always properly cleared when recycling layers.
Change-Id: I7dedfe391d659a0849f1e1d84df17313b2c6e2b2
|
|/
|
|
|
|
| |
Adds non-drawing execution mode
Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several issues came up after DisplayList properties were enabled,
so they were disabled pending fixes. Those issues have been fixed, so
DisplayList properties are once again being enabled by default. This
CL both re-enables these properties (in View.java and DisplayListRenderer.h)
and fixes the various issues that enabling them caused the first time around.
Related issues (all currently marked as Fixed, though that was simply because
DL properties were disabled - this CL provides the real fixes now that
DL properties are enabled by default):
Issue #6198276 Text input broken
Issue #6198472 Native crash at pc 00076428 in many different apps in JRM80
Issue #6204173 Date/time picker isn't rendering all parts of UI
Issue #6203941 All Apps overscroll effect is rendered weirdly/has flickering
Issue #6200058 CAB rendering issue - not drawing items?
Issue #6198578 Front camera shows black screen after taking picture.
Issue #6232010 Layers not recreated when children change (DisplayList properties)
Change-Id: I8b5f9ec342208ecb20d3e6a60d26cf7c6112ec8b
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
Basic functionality of handling View properties (transforms,
left/right/top/bottom, and alpha) at the native DisplayList level.
This logic is disabled for now (via compile-time flags in View.java and
DisplayListRenderer.h) as we continue work on it (there is no advantage
to the new approach until we optimize invalidation and rendering paths
to use the new code path).
Change-Id: I370c8d21fbd291be415f55515ab8dced6f6d51a3
|
|
|
|
| |
Change-Id: Ib9d1f14eb0bef04e0910baa4eaf3e49cce81c0ce
|
|
|
|
| |
Change-Id: I83d9e564fe274db658dcee9e0cc5bbf9223ebb49
|
|
|
|
| |
Change-Id: I1d668a912996e1267bcf2127058888e489a2d9b3
|
|
|
|
| |
Change-Id: I23223b89770a0cd2b4762365bead9bfddb094290
|