0e40462e11d27eb859b829b112cecb8c6f0d7afb |
13-May-2015 |
John Reck <jreck@google.com> |
Revert "DO NOT MERGE Backport of limited jank-tracking metrics" This reverts commit 2614bd225f84f7a23e6b30fc6b47bede153e5f4c. Change-Id: I344b4cbaa0bb0caf50bceb806d1446ee27ea52d8
ndroid.mk
rameInfo.cpp
rameInfo.h
ankTracker.cpp
ankTracker.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
enderthread/TimeLord.cpp
enderthread/TimeLord.h
ests/main.cpp
tils/Macros.h
tils/RingBuffer.h
|
d5a4a1aac980c304d6f46f07f15bfc5c94d8f9d0 |
19-Feb-2015 |
John Reck <jreck@google.com> |
DO NOT MERGE Backport of limited jank-tracking metrics Bug: 19821830 Cherry-pick of ba6adf66d3c44c0aa2fd8a224862ff1901d64300 Cherry-pick of e70c5754d01f2ab0ff47ea3eabaa88aca5ed2a36 Change-Id: Id342fa0ab345f204bec58acf45ce72f6de950cfb
ndroid.mk
rameInfo.cpp
rameInfo.h
ankTracker.cpp
ankTracker.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
enderthread/TimeLord.cpp
enderthread/TimeLord.h
ests/main.cpp
tils/Macros.h
tils/RingBuffer.h
|
57998017ff137f7d4ec33df21b6596141f8c4547 |
29-Jan-2015 |
John Reck <jreck@google.com> |
Allow ~Layer() to happen after onGLContextDestroyed Bug: 19146354 Change-Id: I9e885936168bd541bfbed4064ad67ab524f58e32
aches.cpp
ayer.cpp
ayer.h
enderState.cpp
enderState.h
|
a22c9b2cd171a656fa684d57a915dbe636da5f6a |
14-Jan-2015 |
John Reck <jreck@google.com> |
Vsyncs are hard Bug: 18866485 Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
enderthread/RenderThread.cpp
|
a733f89c05567c97359169832f41389b939baaad |
19-Dec-2014 |
John Reck <jreck@google.com> |
Tweak RT-animator scheduling Bug: 18226391 The issue occurs as a result of a dispatchFrame itself taking longer than 12ms, the alloted budget. The result is that a vsync request (which occured at the end) would miss the vsync that occured 1ms prior to the end of the frame. As a result it would end up waiting for the following vsync, essentially dropping to 30fps even though 60 could have been sustained. Fix this with a few tweaks. First, adjust the UI thread's delay bias from (now + 4ms) to (vsync + 4ms), this prevents RT animators from slowly drifting if the vsync occurs mid-task. Second, request a vsync preemptively prior to running callbacks. This way if any callbacks needs the next vsync and it takes "too long", we will catch that vsync. Finally, fix an issue where the display event queue was always drained & rejected at the end of a task loop. Instead, drain and reject all stale vsyncs. This still prevents the issue of both UI thread & RT thread trying to drive 2 frames in a single pulse, but also allows RT to notice that it missed a vsync pulse it needed and that it should speed-up a bit in response Change-Id: I9d6be037737e9283297898cac2e3563453e797cd
enderthread/RenderThread.cpp
enderthread/RenderThread.h
enderthread/TimeLord.cpp
enderthread/TimeLord.h
|
c748832f759cd7a390a32890530e854b9711eb7c |
17-Dec-2014 |
Chris Craik <ccraik@google.com> |
Merge "Revert overdraw avoidance visualization change" into lmp-mr1-dev
|
ef8d6f272ae451aaedb0f02249c0f9f0576efdf3 |
17-Dec-2014 |
Chris Craik <ccraik@google.com> |
Revert overdraw avoidance visualization change bug:18787324 Partial revert of 23d307c8d88f4a3849163b9e5b7cd11d0d4f372c. Change-Id: Ic8b91b046707fc5b8fa53c35ea7b37bb19c3c943
eferredDisplayList.cpp
eferredDisplayList.h
penGLRenderer.cpp
|
b9a4d15d0942a55c7dc32a471ee40890986e3fab |
11-Dec-2014 |
John Reck <jreck@google.com> |
Merge "Force-flush state sync on texid change" into lmp-mr1-dev
|
63c7b24645d94c92dc6dc32d57c23b5167950c8b |
11-Dec-2014 |
Chris Craik <ccraik@google.com> |
Merge "Correct layer size formatting in trace" into lmp-mr1-dev
|
c2379070a46f208bce490b938e0673ba00373e2e |
11-Dec-2014 |
Chris Craik <ccraik@google.com> |
Correct layer size formatting in trace bug:18722704 Change-Id: Icef9aaa62633b2d86ad250f43d4c8fa5cc0b6842
enderNode.cpp
|
9a7fe1a034bf0a9dea7c0676211bb780d3ab30be |
11-Dec-2014 |
John Reck <jreck@google.com> |
Force-flush state sync on texid change Bug: 18718646 Caused because the Texture object thought the GLES texture was in a different state than it was as it persists across EGL/GL contexts. Fix this by force-flushing the default values when the texid has changed. Change-Id: I264bac9a2beb08df8e2ba8a85ad15f0dd1fce22a
ssetAtlas.cpp
|
eb2dcc791e649e07ec8114e00752b54965c46e65 |
11-Dec-2014 |
John Reck <jreck@google.com> |
Merge "Don't preload textures for AssetAtlas" into lmp-mr1-dev
|
ebd52610cfeff6e557fde284a7e1efc5e6438285 |
11-Dec-2014 |
John Reck <jreck@google.com> |
Don't preload textures for AssetAtlas Bug: 18317479 RenderNode::prepareSubTree calls prefetchAndMarkInUse on every bitmapResoruce in the DisplayList. However, this resulted in textures being uploaded for bitmaps that would be drawn from the AssetAtlas instead. To fix this we teach TextureCache about the AssetAtlas so that calls to TextureCache return the Texture from AssetAtlas if it exists. Thus usage of AssetAtlas is now purely to allow for further optimizations via draw merging instead of a requirement to get any benefit at all. Change-Id: I65282fa05bac46f4e93822b3467ffa0261ccf200
ssetAtlas.cpp
ssetAtlas.h
aches.cpp
aches.h
isplayListOp.h
penGLRenderer.cpp
enderState.cpp
enderState.h
extureCache.cpp
extureCache.h
enderthread/EglManager.cpp
|
4ac36f80beb958c77a92a3e1a235f6ed9daaa510 |
10-Dec-2014 |
Chris Craik <ccraik@google.com> |
Fix frame-allocated path lifecycles bug:18667472 Previously, we were allocating per-frame temporary paths within the PlaybackStateStruct, but these are not safe as layers allocate these transiently. Instead, move these to the OpenGLRenderer, which has better define lifecycle. Additionally, don't store SkPath objects directly in vector, since they are then subject to relocation. Change-Id: I8187ef542fcd5b030502bb75eb123ee26c0daa96
mbientShadow.cpp
isplayList.h
penGLRenderer.cpp
penGLRenderer.h
|
4f1942d999c60fd91cb826651b6d978d47a74321 |
10-Dec-2014 |
John Reck <jreck@google.com> |
Merge "Teach AssetAtlas about more drawables" into lmp-mr1-dev
|
dad7d84c04c5954b63ea8bb58c52b2291f44b4df |
09-Dec-2014 |
John Reck <jreck@google.com> |
Teach AssetAtlas about more drawables Bug: 18317479 Change-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b
isplayListOp.h
|
ee648e517f09cccf59010a7423240a38aaeb2c04 |
09-Dec-2014 |
Derek Sollenberger <djsollen@google.com> |
Remove unnecessary/erroneous reference counting The SkBitmap* used by HWUI holds a reference to the PixelRef (which in turn holds the colorTable) so keeping an additional ref is not only unnecessary, but also potentially problematic. If a bitmap changes its pixelRef after it has been added to a displayList, then we end up with unbalanced ref/unref calls that cause the newly added PixelRef to be unref'd and prematurely deleted, while the original PixelRef is leaked. bug: 18659976 Change-Id: I34a06152e7bb2d733249a207dafd36b9b5dc0712
esourceCache.cpp
|
01a5ea35fbba4c5bb1d7790ae1677a2fa752e042 |
03-Dec-2014 |
John Reck <jreck@google.com> |
Resume RT-animations after a pauseSurface Bug: 18203577 The issue occurs as a result of performTraversals() both doing a window relayout call *and* early-returning because it's not dirty. To fix this pauseSurface() returns whether or not the RT-side is "dirty" to force ViewRootImpl to do a draw even if mDirty is otherwise empty. Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
ef124887c616d03cf0a689d2b7d5b1894405d12e |
02-Dec-2014 |
Chris Craik <ccraik@google.com> |
Merge "Clip outline to View clip bounds for shadow computation" into lmp-mr1-dev
|
faa79ff9d964de940660d2226d5b06ded9294597 |
01-Dec-2014 |
Chris Craik <ccraik@google.com> |
Clip outline to View clip bounds for shadow computation bug:18509823 This allows animations of View clipBounds (and other callers of setClipBounds) to affect shadows, instead of leaving them floating. Change-Id: I249fa4b371a170cb0c54001f5b0e0097e109b8b8
enderNode.cpp
|
76de89820c51c4bc288b440a82374b9d6c806244 |
01-Dec-2014 |
John Reck <jreck@google.com> |
Merge "Prevent calling GL functions with an invalid surface" into lmp-mr1-dev
|
a12b2405df5c12363e24cebc684f5f3a5c9a5b7b |
21-Nov-2014 |
Sangkyu Lee <sk82.lee@lge.com> |
Prevent calling GL functions with an invalid surface Bug: 18518580 When destroying CanvasContext, the surface can be invalid state. So the surface should be updated to null prior to destroying GL resources to ensure that GL functions are not called with an invalid surface. Some GL implementation makes an error if GL functions are called with an invalid surface. (Adreno 3xx) Cherry picked from AOSP: f76d36f96bf221672e98e440c9df7cbf0e02e84e Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
enderthread/CanvasContext.cpp
|
659de832b9796e14de44b6411980a65e33283a93 |
01-Dec-2014 |
Chris Craik <ccraik@google.com> |
Merge "Enable stencil clipping within clearLayerRegions" into lmp-mr1-dev
|
ca84c8b1b0e364e01ce392f0dbca5132830a148d |
26-Nov-2014 |
Chris Craik <ccraik@google.com> |
Merge "Revert "Force-use the pbuffer surface for destroy"" into lmp-mr1-dev
|
9f81485a76dd02a07fd460a29db6adddd2ca2efe |
26-Nov-2014 |
Chris Craik <ccraik@google.com> |
Revert "Force-use the pbuffer surface for destroy" bug:18528859 This reverts commit b945f2313aee6e49a082ba5caaf95334d2570d52. Change-Id: I6915624d356cb8570471eb3a5b8921f59b58db6d
enderthread/CanvasContext.cpp
|
52b2cf9fdf95ccdcbb3f5e403eb9691c1ead1214 |
24-Nov-2014 |
Dohyun Lee <dohyun.lee@lge.com> |
Enable stencil clipping within clearLayerRegions bug:18538502 Cherry-pick of adc0d9da8648abfea1035fb1108eceea9fd9b5b1 from AOSP Previously stencil clipping within clearLayerRegions is disabled by commit 62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer regions causes black-colored triangle regions when a TextView has RotateAnimation because the draw within clearLayerRegions does not affected by the current stencil clip. Change-Id: Id32a0b16754b109905f833e063ebfa156bd953f2 Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
penGLRenderer.cpp
|
dec3f138c2f6a31879b0fe055a26d618e4874bb5 |
25-Nov-2014 |
John Reck <jreck@google.com> |
Merge "Force-use the pbuffer surface for destroy" into lmp-mr1-dev
|
ee6606519d22805c1caf23a3c75cde9fc97b34eb |
25-Nov-2014 |
Chris Craik <ccraik@google.com> |
Merge "Improve DisplayList state output" into lmp-mr1-dev
|
b945f2313aee6e49a082ba5caaf95334d2570d52 |
25-Nov-2014 |
John Reck <jreck@google.com> |
Force-use the pbuffer surface for destroy Bug: 18518580 If CanvasContext is being destroyed() the Surface is probably no longer valid as well, so make sure to makeCurrent() to the pbuffer surface so that the subsequent GL operations are not using an invalid EGLSurface Change-Id: Ica5d6a065841772c47e00ad65aa7894c7e27e043
enderthread/CanvasContext.cpp
|
71d08a07189c2b433080203895d9d5e936b16b9e |
25-Nov-2014 |
John Reck <jreck@google.com> |
Switch TextureCache to SkPixelRef::fStableId Bug: 18245805 Change-Id: I08e6792dbeed86b13e569c7f2137de0e50dc2763
esourceCache.cpp
esourceCache.h
extureCache.cpp
extureCache.h
|
b5a5435a77bae40b55053ccde93b1ed45d0e8329 |
21-Nov-2014 |
Chris Craik <ccraik@google.com> |
Improve DisplayList state output bug:17991451 Log hardware layers and shadow casting Change-Id: I2ae40f270d18f5b2a5af985513e0f5e8841216c2
enderNode.cpp
enderProperties.h
ests/Android.mk
|
29dc496a42d49a37dcd99c0465f3cec18a47e6ff |
21-Nov-2014 |
Chris Craik <ccraik@google.com> |
Merge "Revert "Add a way to override Xfermode DO NOT MERGE"" into lmp-mr1-dev
|
69e65019b0a6204f0ed9487d8fd7b3564eba6df8 |
21-Nov-2014 |
Chris Craik <ccraik@google.com> |
Revert "Add a way to override Xfermode DO NOT MERGE" Feature no longer needed. bug:18448377 This reverts commit 4678dcc5524258908eadc5fe1e5e1874768967eb. Change-Id: Ib0a19946e966a54857165555827b5fa7b34b6bea
isplayListRenderer.cpp
isplayListRenderer.h
|
3b2ba44be3699a4e133d7a09cb4ed182405d7ff9 |
20-Nov-2014 |
Chris Craik <ccraik@google.com> |
Merge "Improve logging around performance critical events" into lmp-mr1-dev
|
70850ea258cbf91477efa57a1f1a23cc0044cc93 |
18-Nov-2014 |
Chris Craik <ccraik@google.com> |
Improve logging around performance critical events bug:17702227 Add details useful to developers (such as layer size/View name), and switch away from logging implementation names/details, since they are generally not relevant to developers. Change-Id: Iee605d182f241450f7e75a6d0c283d51fa1312f5
ayer.cpp
ayerRenderer.cpp
penGLRenderer.cpp
athCache.cpp
rogram.cpp
enderNode.cpp
extureCache.cpp
ont/Font.cpp
tils/TraceUtils.h
|
fbc8df03e498baf47ff1a5e05e182f1bcd60c770 |
15-Nov-2014 |
John Reck <jreck@google.com> |
Trace some interesting events Bug: 18337099 Change-Id: Ie2e60da2b9f06e0368061c944d8123ab6903355c
ssetAtlas.cpp
aches.cpp
enderthread/CanvasContext.cpp
enderthread/EglManager.cpp
|
41a8043b30a289bdba55a2469e598b3fe67c3bf1 |
12-Nov-2014 |
Rob Tsuk <robtsuk@google.com> |
Merge "Add a way to override Xfermode DO NOT MERGE" into lmp-mr1-dev
|
4e50ee4f42e4fdf753b9f681a6236f4a46e25bb0 |
12-Nov-2014 |
ztenghui <ztenghui@google.com> |
Merge "Shadow: Fix the crash in spot shadow" into lmp-mr1-dev
|
3932063bc75dc1e4efc2c428ca208d2e2290164d |
12-Nov-2014 |
ztenghui <ztenghui@google.com> |
Shadow: Fix the crash in spot shadow Fix the crash from searching for closest umbra vertex by initialized the starting index correctly. Fix another potential crash related to ray intersection by introducing epsilon. b/18315089 Change-Id: I9ac9a781a885701a8388714d44f79a1d905e5d33
potShadow.cpp
|
4678dcc5524258908eadc5fe1e5e1874768967eb |
12-Nov-2014 |
Rob Tsuk <robtsuk@google.com> |
Add a way to override Xfermode DO NOT MERGE Add a non-public API to Canvas/GLES20Canvas to provide a way to draw the touch ripple animation without using a save layer. Change-Id: I6e2095adffe515194f669fb75bb67abf813bd518
isplayListRenderer.cpp
isplayListRenderer.h
|
ca93f69c96df85bd6bc72a2a47dae6c0d5336ab2 |
07-Nov-2014 |
John Reck <jreck@google.com> |
Merge "Have an actual fallback if the surface is lost" into lmp-mr1-dev
|
aa95a88327d9a3ac8a4a00b065b78ac0f28b3a19 |
07-Nov-2014 |
John Reck <jreck@google.com> |
Have an actual fallback if the surface is lost Bug: 17516789 This will force a relayout/reinitialize pass if the Surface is lost mid-render instead of crashing on the next frame Change-Id: If08bfa16f740728fa7c05904fa11e26f07b81e2e
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
|
4b19b7aaff1d1ff972ebe68101c2107454bbe5de |
07-Nov-2014 |
John Reck <jreck@google.com> |
Merge "Fix wrong-thread issue" into lmp-mr1-dev
|
12f5e3433226f0a2886a98b0b8da8d5e947c5cde |
07-Nov-2014 |
John Reck <jreck@google.com> |
Fix wrong-thread issue Bug: 18259560 Change-Id: Ic63a86efba9c86f21defac0695a73db8b09ae284
eferredLayerUpdater.h
isplayListRenderer.cpp
isplayListRenderer.h
enderer.h
|
7ae6fc81efd05a7561ee2de853184d2a3788b88d |
07-Nov-2014 |
ztenghui <ztenghui@google.com> |
Merge "A better looking and faster spot shadow." into lmp-mr1-dev
|
d2dcd6fded3a036f334a88bf9593398833f2919a |
30-Oct-2014 |
ztenghui <ztenghui@google.com> |
A better looking and faster spot shadow. 1. This improve the looking, the star shape (spike) on long action bar is gone. Shadow is more smooth now. 2. The performance is better, too. For averaging around rect, round rect and circle, the spot shadow itself is 3 times faster. On N7 v1, it could be less than 0.1 ms. b/14976551 b/16712006 Change-Id: I61ed546ee56e7c8dbe504dfcaef12d084904b4b8
mbientShadow.cpp
potShadow.cpp
potShadow.h
ector.h
|
a35778c799e8073a42b9e22191bde9d838327ab7 |
06-Nov-2014 |
John Reck <jreck@google.com> |
Yank ResourceCache out of Caches Bug: 17947547 Pull the ResourceCache (aka, ref-counting side channel) out of Caches so that DisplayListRenderer doesn't use Caches, avoiding the risk of instantiating Caches on the wrong thread or without a GL context Change-Id: I7d63b70b3b0a0163308c5dedd6ef255eadebe8fd
aches.h
isplayList.cpp
isplayListRenderer.cpp
isplayListRenderer.h
enderNode.cpp
esourceCache.cpp
esourceCache.h
|
fd15f475541a4d13293374f18204cb1b3e010582 |
05-Nov-2014 |
Rob Tsuk <robtsuk@google.com> |
Log shader source when it fails to compile So that there will be something to diagnose when such failures occur during stability tests. Bug: 18092655 Change-Id: I9a9d8d33b34273a477f2a9dbcf092887dcbc91c0
rogram.cpp
|
e6c0bda5dd945f3668b4108c49ee52f1a04253d6 |
04-Nov-2014 |
Rob Tsuk <robtsuk@google.com> |
Merge "Make points drawn with default paint visible" into lmp-mr1-dev
|
b7c26562d08bf72882eeca268a1bb51ea579653d |
04-Nov-2014 |
Rob Tsuk <robtsuk@google.com> |
Make points drawn with default paint visible When no stroke width is set, use 0.5 instead of 0.25 to make sure the resulting rectangle spans at least one pixel. Bug: 15455111 Change-Id: Id0a4b6d014c542ffc98b13a032f88ae0ce69b3a1
athTessellator.cpp
|
88f5fc7c5a9fb1e677c508165f732cd76f5eef3a |
03-Nov-2014 |
John Reck <jreck@google.com> |
Fix counting Change-Id: I9a3568908a7223d69430c1765fb5a4db96d7ac9c
aches.cpp
|
0e89e2b7bcb2c035e8cee77f93120e7c5617f8d2 |
31-Oct-2014 |
John Reck <jreck@google.com> |
Layer changes Bug: 17208461 * Switch Layer to be VirtualLightRefBase instead of Caches' side-channel ref-counting * Include active layers in gfxinfo dump * Run gfxinfo dump on the correct thread * Dump gfxinfo on Layer creation failure Change-Id: I28d195699e2334518e215ab28c7a17355aee9678
aches.cpp
eferredLayerUpdater.cpp
isplayList.cpp
isplayList.h
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayer.h
ayerCache.cpp
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
enderNode.h
enderState.cpp
enderState.h
esourceCache.cpp
esourceCache.h
enderthread/CanvasContext.cpp
enderthread/EglManager.cpp
enderthread/EglManager.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
|
141823ec6313d9545b8354ea1e3e017a1da3cfa8 |
29-Oct-2014 |
John Reck <jreck@google.com> |
Merge "Be more conservative about current buffer" into lmp-mr1-dev
|
950ff1b88cc1330f8e80d62ed3aa15bee6be0556 |
27-Oct-2014 |
John Reck <jreck@google.com> |
Be more conservative about current buffer Bug: 18065565 Change-Id: I0b9c85ecf384ebe525e3a38803ab77d7ee37f33a
enderthread/EglManager.cpp
|
23d307c8d88f4a3849163b9e5b7cd11d0d4f372c |
27-Oct-2014 |
John Reck <jreck@google.com> |
Cleanup debug options Bug: 18138852 Bug: 18065434 Change-Id: Ibb07b73b147c2a8b287fe8aee3f6624582f21b00
eferredDisplayList.cpp
eferredDisplayList.h
rawProfiler.cpp
rawProfiler.h
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
roperties.h
|
badac04dfd445a1fd3e3ecea04815e83fad5226c |
23-Oct-2014 |
John Reck <jreck@google.com> |
Merge "Add some free zoom to lockHardwareCanvas" into lmp-mr1-dev
|
1125d1fa92ab9f3b8315bbfb72e038b62dfd454b |
23-Oct-2014 |
John Reck <jreck@google.com> |
Add some free zoom to lockHardwareCanvas Bug: 18099195 Don't use EGL_SWAP_BUFFER_PRESERVED on surfaces that will never benefit. Also clean up some confusing naming Change-Id: I674ca64e0464a3282cff79e5ecd350d08f47c014
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/EglManager.cpp
enderthread/EglManager.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
5c9d717d3e7064db76d2a01223af51379dadf2c3 |
22-Oct-2014 |
John Reck <jreck@google.com> |
Fix damage bug Bug: 18087374 Change-Id: Ie183392122c73f93010fb3f4be071c924b352966
enderNode.cpp
|
733bb3bc78cfb4553441f5d86fce02eb12e32d02 |
22-Oct-2014 |
John Reck <jreck@google.com> |
Merge "Fix memory corruption in test" into lmp-mr1-dev
|
bb2d0cc7e1d487f7021b1f9ec0c6740e41b535f2 |
21-Oct-2014 |
John Reck <jreck@google.com> |
Surface:lockHardwareCanvas Bug: 17440886 Change-Id: I1f2d98c63ec1a2814c2258cf7e0096139263770a
enderthread/TimeLord.cpp
ests/main.cpp
|
af608319f22989f673d1d0d4d3105f62109274bd |
16-Oct-2014 |
John Reck <jreck@google.com> |
Fix memory corruption in test Bug: 18012918 Change-Id: I8d69624e9be9f0399ddba10ce3903f93177d5930
ests/main.cpp
|
94c40fe92117f301c7758de2861ab0c1d6cfded0 |
08-Oct-2014 |
John Reck <jreck@google.com> |
CARD LAND! Bug: 16712006 Initial work towards benchmarking HWUI systems Currently this will just create a screen full of "cards" to simulate a high load scenario for shadows and clipping Change-Id: Ie9f9a9570844e136db8053e8fc62fe06cb922a5f
ests/Android.mk
ests/TestContext.cpp
ests/TestContext.h
ests/main.cpp
|
786afcb3eec18315ec54987a08814ff28f13d09f |
25-Sep-2014 |
Jorim Jaggi <jjaggi@google.com> |
Trim graphics memory when closing the shade Graphics memory usually gets trimmed in applications when the activity goes into the background. We use quite a lot of graphics memory when the shade/lockscreen is open, and some of them never gets freed unless the recents activity is closed, because we don't have these activity-trimming-heuristics for the shade. This change proactively trims the graphics memory when the shade gets closed or when the lockscreen is hidden, to emulate the same heuristics as for activities. This change also adds trimMemory on RenderThread to systrace to verify that no jank is introduced with this change. This change immediately saves around 10-30 MB on an xxhdpi device after the shade is closed. Bug: 17581375 Change-Id: I4fb622efb51815fe08187be97ba15d012d4de5d4
enderthread/CanvasContext.cpp
|
8cdb0bc08728f18b75eca429678ea9b778191b6e |
06-Oct-2014 |
ztenghui <ztenghui@google.com> |
Merge "Use float instead of double to increase spot shadow perf" into lmp-mr1-dev
|
6a2296d856fe4db524ab71c6500f356ff0454f29 |
04-Oct-2014 |
John Reck <jreck@google.com> |
am 9da6e743: am d988a45d: Merge "Cleanup DeferredLayerUpdater" into lmp-dev * commit '9da6e7435945e34d05e0c8c5c9a324218480c6ff': Cleanup DeferredLayerUpdater
|
9122b1b168d2a74d51517ed7282f4d6a8adea367 |
03-Oct-2014 |
ztenghui <ztenghui@google.com> |
Use float instead of double to increase spot shadow perf This is helping spot shadow for 15%-20% increase. With the new algorithm, we are less sensitive to the floating point error. b/16712006 Change-Id: Ie30a6ce01e73d56054a0cf65a84549454339a7fd
potShadow.cpp
potShadow.h
|
749906b468912dab7bf69a86e852deac3e80b0cc |
04-Oct-2014 |
John Reck <jreck@google.com> |
Cleanup DeferredLayerUpdater Bug: 17765082 DeferredLayerUpdater had fallen behind RT updates. Re-snap to latest expectations, ensuring to call requireGlContext() prior to detachSurfaceTexture to avoid leaking SurfaceTextures Change-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
497cb6c0a9818c5ba27df3e5a50878144505405f |
02-Oct-2014 |
Chris Craik <ccraik@google.com> |
Merge "Avoid creating Caches instance with gfxinfo dump" into lmp-mr1-dev
|
59e129fbc8a70d58d124ccc309661719f562b486 |
02-Oct-2014 |
Chris Craik <ccraik@google.com> |
Merge "Account for colorfilter transparency in determining paint opacity" into lmp-mr1-dev
|
5f243860a79ec158fc9f769bda7202dfd202da59 |
02-Oct-2014 |
ztenghui <ztenghui@google.com> |
am 9ad17521: am f9033048: Merge "+ correcting shadow visual appearance (b/17610926)" into lmp-dev * commit '9ad17521ac073562991cddb78f14d6df8d5fd05a': + correcting shadow visual appearance (b/17610926)
|
c5b5f0556b542a22f01d254e6284f69e9eb23e74 |
02-Oct-2014 |
Chris Craik <ccraik@google.com> |
Account for colorfilter transparency in determining paint opacity bug:17765601 Change-Id: I90d76ee199bb357c71fc8f537c1abfa20d848416
isplayListOp.h
penGLRenderer.cpp
enderer.h
|
8def74de33b197c0c5ec8774576b1d71c7ec4f1b |
02-Oct-2014 |
ztenghui <ztenghui@google.com> |
+ correcting shadow visual appearance (b/17610926) + adjusting spot and ambient shadow opacity constants to achieve desired appearance + reducing ambient scale ratio back to 1.0 to address over-lightening at higher elevations + partially revert ag/546290 Change-Id: I9d7f664f73a7b9b83df73b739103c97054bd4f6e
hadowTessellator.cpp
|
059476a24502500bbc277b86f9a4f7e840d1b5f5 |
30-Sep-2014 |
Chris Craik <ccraik@google.com> |
Avoid creating Caches instance with gfxinfo dump bug:17509891 Change-Id: I182851068ba04926d60226b3ace95efea59eac45
enderNode.cpp
|
a8bea8edde2f20cae48e5cc8de782679306b3cc3 |
24-Sep-2014 |
Chris Craik <ccraik@google.com> |
Add tracing for saveLayer bug:17702227 Change-Id: Ia9cbf31b360c93f712e021bea406cb63e4cc4c2a
penGLRenderer.cpp
|
bc341912b124ea52d1a383bb8cc0a12d0671eaa2 |
23-Sep-2014 |
Chris Craik <ccraik@google.com> |
Reject transparent draws more conservatively bug:17600162 Transparent draws are not safe to reject for all xfermodes other than clear. Now, to be safe, only perform the rejection for SrcOver draws since other modes are fairly uncommon. We could specifically determine whether the xfermode could change the output given a transparent input, but there's little to be gained from the additional complexity. Change-Id: Ia699ac4bdc4da3353955840b53f1922d3cb1d85d
enderer.h
|
9e7c91919159050f397e28ba8df04d0b42b96e01 |
20-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Account for alpha in hasShadow()" into lmp-dev
|
9fa364dc72613f4301b0783f0547fe6b01abac39 |
20-Sep-2014 |
Chris Craik <ccraik@google.com> |
Account for alpha in hasShadow() bug:17587220 Change-Id: Ic7f2dea95302b713dc93edb4a0193a7be77fb2eb
enderProperties.h
|
6cc6219f6fc5bf5a0e1ac22f2cb752fefddec02c |
19-Sep-2014 |
John Reck <jreck@google.com> |
Merge "glFinish to flush deletes" into lmp-dev
|
4ced2620b730a7c7140f73da503946f9827442bc |
19-Sep-2014 |
John Reck <jreck@google.com> |
glFinish to flush deletes Bug: 17479800 Change-Id: I4d4a3eeda510e037f806052025184f3cde18c847
aches.cpp
|
651486d0186755f30f08d17126a61bf7127cba96 |
19-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix garbage showing up beneath dialogs" into lmp-dev
|
284b24358410cb0200e525a5ba36994090c83f20 |
19-Sep-2014 |
Chris Craik <ccraik@google.com> |
Fix garbage showing up beneath dialogs bug:17463894 Fixes the setViewport method to immediately affect the return values of getViewportWidth/Height methods. Also works around tiling extension issues observed on first frame after window resize by disabling tiling for that frame. Change-Id: Ie172d572d20d74a1be9cc58ad389af2cffa0e4b6
penGLRenderer.cpp
penGLRenderer.h
tatefulBaseRenderer.cpp
enderthread/CanvasContext.cpp
|
f16b4940e6449752fe425f23d508325775ffdb4e |
18-Sep-2014 |
John Reck <jreck@google.com> |
Merge "Special case EGL_BAD_SURFACE" into lmp-dev
|
2cdbc7d2283aae3d77b12c8fdbba8ca4bd3db5ea |
18-Sep-2014 |
John Reck <jreck@google.com> |
Special case EGL_BAD_SURFACE Bug: 17516789 Change-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6
enderthread/CanvasContext.cpp
enderthread/EglManager.cpp
enderthread/EglManager.h
|
5083943ff85c7452b166e6c2b044e3d9dae9d017 |
17-Sep-2014 |
John Reck <jreck@google.com> |
Merge "Change default fbo cache size to 0" into lmp-dev
|
e9cd97ee88e6628897e878889d3920857e9c118a |
17-Sep-2014 |
John Reck <jreck@google.com> |
Change default fbo cache size to 0 Bug: 17479800 FBO cache is very expensive and no longer necessary, disable it by just setting size to 0. Change-Id: I664616f262c8339919e1d20baaafa5de2b628d7e
roperties.h
|
73821c8d2bd453de6bf3f516e1f1cdb9a132f4a7 |
17-Sep-2014 |
Chris Craik <ccraik@google.com> |
Handle premultiplication correctly for ColorMatrixColorFilters bug:17405627 Previously, the input content to the color matrix computation was left premultiplied. Since the color matrix could reduce the alpha channel, the alpha was re-multiplied, but this was incomplete, and incorrect. Instead, apply the color matrix in unpremultiplied space. Change-Id: I87b8e03d2e228e6ded81f7bbfea952605d7a095c
rogramCache.cpp
enderer.h
|
072707dfad1da6f49f4d3ce58ca104f6c46a7266 |
15-Sep-2014 |
Jorim Jaggi <jjaggi@google.com> |
Use RenderThread for navigation bar ripples Bug: 17506181 Change-Id: Icf3b80f8c4bc29fe85313381d4019dda3ef85ea9
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
|
025207b3cfbb0bbbaa8c1b8f7e14941fc38160aa |
15-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Force isolation of clip and matrix within layer" into lmp-dev
|
4ace7305608442ab35ea9aa65a4220df152c187f |
15-Sep-2014 |
Chris Craik <ccraik@google.com> |
Force isolation of clip and matrix within layer bug:17379260 Unclipped save layers need to isolate their clips and matrices so that the save time readout of background content matches clip and position with the restore/compose step. Change-Id: I2de474cda76e960d080852f1716d6ddfa8a512d4
isplayListRenderer.cpp
penGLRenderer.cpp
|
2f259016321d672373ed8c0880ffe6a24e5184a6 |
13-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Correctly initialize animator asynchronousity" into lmp-dev
|
572d9acd598517c20c7bf2feb189357e925fa879 |
13-Sep-2014 |
Chris Craik <ccraik@google.com> |
Correctly initialize animator asynchronousity bug:17483792 Change-Id: Icb6b6e6318d4c79ee94228806cb60b275424b9c9
nimator.cpp
|
692737be4fdc5c4e6f209a1c1816858e85024718 |
13-Sep-2014 |
ztenghui <ztenghui@google.com> |
Merge "Update the shadow strength" into lmp-dev
|
f7d76dffd86398a787f0d8bd092a571c019daf04 |
13-Sep-2014 |
ztenghui <ztenghui@google.com> |
Update the shadow strength b/17486691 Change-Id: I8e8f0b64e757772c18f038f6b329ef91a4e155a5
hadowTessellator.cpp
|
1aec711b2e7c2e43fdc2069be229cfd3c9ddba16 |
12-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Disable layer leak tracking" into lmp-dev
|
21029ef131d6a98862ae6faf3305bee2872e9c5f |
12-Sep-2014 |
Chris Craik <ccraik@google.com> |
Disable layer leak tracking bug:17208461 Change-Id: Ibbdf3ec79c4fd19e1935a559d425d074b611e162
enderState.cpp
enderState.h
|
4340c260c002f0cf7bc41571673e57913b5df19f |
12-Sep-2014 |
Chris Craik <ccraik@google.com> |
Snap outline clipping to integer coordinates correctly bug:17403105 Change-Id: I65b5d7103aac58ba6feb4b021c276c67e9341716
penGLRenderer.cpp
|
24a95a10db926e9608c00e522293c372bf566d38 |
11-Sep-2014 |
ztenghui <ztenghui@google.com> |
Merge "Finer tessellation can draw better looking shadows for circles." into lmp-dev
|
5be52c11d98ba85c559634bc9be96368332ac78c |
11-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Update HWUI paint filter to understand new location of skia bitmap filter preference" into lmp-dev
|
591be6c7af512a7dbae5a7f0cc9890b82af74e58 |
11-Sep-2014 |
Chris Craik <ccraik@google.com> |
Update HWUI paint filter to understand new location of skia bitmap filter preference bug:17455286 Change-Id: I3b0e04833f0c2699a1322fdd7e98c155841c0d93
penGLRenderer.cpp
|
25e5a02d1cbbaa8352be314c45f9cf3599a8f30e |
11-Sep-2014 |
ztenghui <ztenghui@google.com> |
Finer tessellation can draw better looking shadows for circles. b/14976551 Change-Id: I4b9e320b025dbee37cd1893881ddbaad62e3a6e2
essellationCache.cpp
|
ca517b97e06dc76c07c031a6ee6e3aabd530495f |
11-Sep-2014 |
ztenghui <ztenghui@google.com> |
Merge "Re-triangulate the spot shadow." into lmp-dev
|
512e643ce83b1d48ad9630a3622276f795cf4fb2 |
10-Sep-2014 |
ztenghui <ztenghui@google.com> |
Re-triangulate the spot shadow. Fix the valid umbra detection. This looks better b/c every vertex will have one ray shooting at it, such that we don't miss the corner. This performs better too, due to the polygon intersection is removed and less ray intersection. 2x performance for rect and circle for spot shadow in test app. b/17288227 b/15598793 b/16712006 Change-Id: I4a5ee397b9e192e93c8e35e6260b499e3e38a6f4
mbientShadow.cpp
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
ertexBuffer.h
|
bfd1cd620991ac2fa9202fdce6c00ec47d071935 |
10-Sep-2014 |
Chris Craik <ccraik@google.com> |
Additional layer logging bug:17208461 Track layer's last known state. Change-Id: Ic1799191f5839a1d6cc56f598f2ac2671dc27a6f
aches.cpp
ayer.cpp
ayer.h
ayerCache.cpp
enderState.cpp
|
b2201151f367a432650a5ea2ba7b2b22fccf1f20 |
09-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "hwui: Caches: use mBoundTextures only for GL_TEXTURE_2D" into lmp-dev
|
70735bd5ddd6ba3063d5537f510324cb2515aba6 |
29-Aug-2014 |
Fred Fettinger <fred.fettinger@motorola.com> |
hwui: Caches: use mBoundTextures only for GL_TEXTURE_2D bug:17441218 GLConsumer uses glBindTexture() directly instead of going through Caches::bindTexture(). This can cause libhwui to draw with the wrong texture bound in the following case which involves 2 TextureViews: Frame 1: GLConsumer::updateTexImage() calls glBindTexture(GL_TEXTURE_EXTERNAL_OES, 1) HWUI renders TextureView A: calls Caches::bindTexture(GL_TEXTURE_EXTERNAL_OES, 1) and draws Frame 2: GLConsumer::updateTexImage() calls glBindTexture(GL_TEXTURE_EXTERNAL_OES, 1) GLConsumer::updateTexImage() calls glBindTexture(GL_TEXTURE_EXTERNAL_OES, 2) HWUI renders TextureView A: calls Caches::bindTexture(GL_TEXTURE_EXTERNAL_OES, 1) and draws HWUI renders TextureView B: calls Caches::bindTexture(GL_TEXTURE_EXTERNAL_OES, 2) and draws In this case, HWUI will incorrectly draw TextureView A using texture 2 on frame 2, because mBoundTextures[0]=1, even though the texture currently bound to GL_TEXTURE_EXTERNAL_OES is 2. Since GLConsumer is always used with a target of GL_TEXTURE_EXTERNAL_OES, work around this problem by having mBoundTextures[] store only the textures bound to the target GL_TEXTURE_2D. This is the common case where the extra performance is needed. Since it's legal to have different textures bound to GL_TEXTURE_2D and GL_TEXTURE_EXTERNAL_OES on one texture unit, Caches::bindTexture() does not need to clear mBoundTextures[mTextureUnit] when target != GL_TEXTURE_2D. Change-Id: I8bc54ab8adcfacad7f3ed17a31236dc7a86c967a Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
aches.cpp
aches.h
|
69fb8a23990fd8948be6f0045c2b0b988b6ca6d6 |
09-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix tessellation bounds computation" into lmp-dev
|
21bcfc4ff8642771bf42b264e1524ef47b00ae22 |
09-Sep-2014 |
Chris Craik <ccraik@google.com> |
Fix tessellation bounds computation bug:17401066 Now correctly accounts for scale, both in hairline case (where scale needs to be accounted for), and in standard case (where scale shouldn't be applied, since bounds are in local space) Change-Id: I597a20834dce42ddb741b46e4c1a4f3169a48ccc
athTessellator.cpp
|
8a226d24b8b2fde4c855d0051cb7bfc5b5813c36 |
09-Sep-2014 |
Chris Craik <ccraik@google.com> |
Don't track TextureLayer lifecycles in RenderState bug:17208461 They are destroyed via finalizer-enqueued destroy method, so it's not valid to check that they've been destroyed at gl context destruction time. Change-Id: I670f69825547facd5f31d44acb406418881fee00
ayer.cpp
ayer.h
ayerCache.cpp
ayerRenderer.cpp
|
5f5df97df96895c92f0d067c90d527aab2d7f1e3 |
08-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix save count offsetting within DisplayList chunks" into lmp-dev
|
c166b6c4fc3e1158ca08cfed24639409161055cf |
06-Sep-2014 |
Chris Craik <ccraik@google.com> |
Fix save count offsetting within DisplayList chunks bug:17388541 Change-Id: I7cb1139b8cd30f72ae7c6de2074c3c5865b8f309
enderNode.cpp
|
3207ffe12045ed6d8a2ea04993738cf71320183d |
06-Sep-2014 |
John Reck <jreck@google.com> |
Merge "Disable RT-anim for AnimatorSet" into lmp-dev
|
f5945a0c8bb868f978d9d0d22043a8b44464a86e |
06-Sep-2014 |
John Reck <jreck@google.com> |
Disable RT-anim for AnimatorSet Bug: 17317184 Unfortunately this will disable *all* RT animations in a scene, but we don't have more selective targetting currently Change-Id: I57e1c0ae43957f45229473bdcdaf34c05825fab7
nimator.h
nimatorManager.cpp
|
4e849178ef35687d0ce679487d8cfb6c5521fe3b |
06-Sep-2014 |
John Reck <jreck@google.com> |
Merge "Fix race condition" into lmp-dev
|
83eb430270a8de2e231639d6498f6451b9958fc6 |
06-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add shadow/clipping properties to HierarchyViewer" into lmp-dev
|
ec845a215e343cdb3b2e4c7b6aff7b24beb0236b |
06-Sep-2014 |
John Reck <jreck@google.com> |
Fix race condition Bug: 17372309 AnimationContext::startFrame() happens both with and without the UI thread lock. Pass the TraversalMode into it so that ThreadedRenderer's subclass can correctly decide when it is safe to push over mPendingAnimatingRenderNodes, as doing so outside of the lock is Very Bad. Change-Id: Ife5dd3a2b46b0a207cd9234c159a674afdbf5efd
nimationContext.cpp
nimationContext.h
enderthread/CanvasContext.cpp
|
5c75c52e048a01c23b18f4e31ae624b5fe43e23c |
05-Sep-2014 |
Chris Craik <ccraik@google.com> |
Add shadow/clipping properties to HierarchyViewer bug:15777980 Change-Id: Ic3d24326f585d2d2b9889486f0ed322eb98b5af8
enderProperties.h
|
599e254ea33231b1809466ae765dbee53dc4685c |
06-Sep-2014 |
Chris Craik <ccraik@google.com> |
Additional layer logging, and added mutex bug:17208461 Change-Id: I006d432a3b633235dde0b81ad2bf28b835b5335f
enderState.cpp
enderState.h
|
6dad93eff6cb62aded9d07bc3381cf1cbea468b9 |
05-Sep-2014 |
John Reck <jreck@google.com> |
Merge "Yet more layer tracking logging" into lmp-dev
|
443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44 |
05-Sep-2014 |
John Reck <jreck@google.com> |
Yet more layer tracking logging Bug: 17208461 Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
enderNode.h
enderState.cpp
enderState.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderThread.h
|
2d3f9033f8803d471720be60228d9894dd385488 |
04-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Prioritize reveal clipping over Outline clipping" into lmp-dev
|
e83cbd451868a734bfac07ccd680d5617080b579 |
04-Sep-2014 |
Chris Craik <ccraik@google.com> |
Prioritize reveal clipping over Outline clipping bug:15780987 bug:17350602 Also update docs around clipping nesting behavior, and some Z ordering behavior. Change-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613
enderNode.cpp
napshot.cpp
napshot.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
e23b8dd58fba275802d48fccb43170845aac0382 |
04-Sep-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Remove invalid premul step from HWUI's matrix color filter." into lmp-dev
|
e2478d45ccbe5b6abb360ac9d44771b5f4a50bde |
04-Sep-2014 |
John Reck <jreck@google.com> |
Fix some wrong-thread issues around animator management Bug: 17372309 Fixes a case where UI thread and RT thread both used the same method which wasn't safe for either of them. Adds additional assertions & logging in unusual circumstances to try and track down where the issue is occuring from. Change-Id: I93d31a6fd0c5927259b67bdf96a475944226eee6
nimationContext.cpp
nimationContext.h
nimator.cpp
nimator.h
nimatorManager.cpp
nimatorManager.h
enderthread/CanvasContext.cpp
|
17035b0211a3c9d45ea46a99217a6acbe76e8fbe |
03-Sep-2014 |
John Reck <jreck@google.com> |
Have destroy call freePrefetchedLayers Bug: 17208461 There's a potential race condition between HardwareRenderer.destroy() being called (which calls destroyCanvasAndSurface()) and the renderer being finalized (which is what calls freePrefetchedLayers), during which time it's possible we get a TRIM_MEMORY_COMPLETE and destroy the EGL context. Fix this race condition by moving stopDrawing() and freePrefetchedLayers() into destroyCanvasAndSurface() where they should have been in the first place. Also, if we hit the assertion failure, dump the current state of Caches to try and provide more context for the failure. Change-Id: Ife0ba3562041e8b08e87e3e13640472b3004eed6
aches.cpp
aches.h
ayerCache.cpp
ayerCache.h
enderState.cpp
enderState.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
3d3f5f8c688fbaaf251cfde0ed04507279d9cadb |
03-Sep-2014 |
John Reck <jreck@google.com> |
Merge "Implement TODO" into lmp-dev
|
1661715d4066a557ab0877271d62762579a38fa9 |
03-Sep-2014 |
John Reck <jreck@google.com> |
Implement TODO Change-Id: I551ad0dab6356baa4c7787718b54d5b7337a3f26
enderthread/CanvasContext.cpp
|
0fd79c955b3745648d5f326bc784ced1e1188935 |
02-Sep-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix precision issues for roundrect clipping" into lmp-dev
|
26131368ecc2e16dfb4965b9165632ee3ca4f1d9 |
02-Sep-2014 |
ztenghui <ztenghui@google.com> |
Fix the (0,0) vector case for extra vertices computation TODO: Figure out why we have collided vertices from input polygon. b/17340792 Change-Id: I6636ff957ef17514bd11cf290ccc0a2c302aca0b
mbientShadow.cpp
|
68a73e8700c3bb30395e4ebf1b6e5a9b81699a5a |
30-Aug-2014 |
Chris Craik <ccraik@google.com> |
Fix precision issues for roundrect clipping bug:16984008 Change-Id: I941232d569293717f6bcd249d9e01f72a7409d2e
rogramCache.cpp
|
cbf4c08796ee76a513b6bc30e8756f78d936cdc6 |
29-Aug-2014 |
ztenghui <ztenghui@google.com> |
Merge "Ambient shadow tessellation improvement." into lmp-dev
|
d5e8ade498b41b42874273cbfa375aed7b4d6a08 |
14-Aug-2014 |
ztenghui <ztenghui@google.com> |
Ambient shadow tessellation improvement. Using the vertices, instead of ray casting for the triangulation. This request a dynamic index buffer associated with vertex buffer, so we update the VertexBuffer to support it. The ambient shadow could be 3x-6x times faster for circle and rect now. b/16712006 b/14257173 Change-Id: I2f22a8fe19bc59acee5c18e4a3a395acd5042a66
mbientShadow.cpp
mbientShadow.h
penGLRenderer.cpp
ector.h
ertexBuffer.h
|
7da70ed6a59b70bb48ab3f48a78b5cc29e1c8af7 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Merge "Listener callbacks ordering fixups" into lmp-dev
|
4d2c47206a8e1706e5f89ef73c0e50e7321bf862 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Listener callbacks ordering fixups Bug: 17228458 Bug: 17317816 Ensure that onStart is called prior to onCancel/onFinished if those happen prior to the UI-thread handled start delay. Ensure that onFinished is called if cancel/end is called Change-Id: I23c16ea1c4f925d59d41ec5281d62dfc0c38595b
nimator.cpp
|
dff9957cc22a1174a4cf91de6609c50934d29434 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Free prefetched layers on TRIM_MEMORY Bug: 17208461 Change-Id: I831c10d29d5920274b90e11a67d6cd106972a058
enderthread/CanvasContext.cpp
|
80068b735eb4ef26f0d9dbcb0fbc5e4982c5c215 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Merge "Track buildLayer calls, destroy if unused" into lmp-dev
|
998a6d81896df8b662cc10ddeb35087b78b38d72 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Track buildLayer calls, destroy if unused Bug: 17208461 Change-Id: Ibdb104a493285d77a6891c5e74e38a52c7014da9
enderNode.cpp
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/EglManager.cpp
|
bf939b2671ba0618e0cdca3e6c75d59f35a83bba |
28-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Update transform isolation to handle command chunks" into lmp-dev
|
c7e2993628a6c87500cb7e5369e6a52eacb3280c |
28-Aug-2014 |
John Reck <jreck@google.com> |
Fix log line Change-Id: I290491f559281c7b3d1d132495ea2fffcfaf4725
nimationContext.cpp
|
d0cd9db31639b246587fe494ec15d32d9fdb3dc7 |
28-Aug-2014 |
John Reck <jreck@google.com> |
Actually end animators on tree destruction Bug: 17313962 Change-Id: I66b86d50b415f9aa33da23297f22e2cf7f96f565
nimationContext.cpp
nimationContext.h
nimatorManager.cpp
|
4c5a27b5f667ebc7cb2b188655820ad3fddedb52 |
28-Aug-2014 |
John Reck <jreck@google.com> |
Merge "Animator stuff" into lmp-dev
|
119907cd2575c56b1ebf66348b52e67aaf6a88d8 |
14-Aug-2014 |
John Reck <jreck@google.com> |
Animator stuff Bug: 17228458 Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
ndroid.mk
nimationContext.cpp
nimationContext.h
nimator.cpp
nimator.h
nimatorManager.cpp
nimatorManager.h
ContextFactory.h
enderNode.cpp
enderNode.h
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/TimeLord.cpp
enderthread/TimeLord.h
|
c3e75f9d54b3629b3fd27afafa2e07bd07dad9b3 |
28-Aug-2014 |
Chris Craik <ccraik@google.com> |
Update transform isolation to handle command chunks bug:15570351 Prevent drawing transformations on a ViewGroup's canvas from directly affecting the transformation of the children through the renderer, since it's already baked into mTransformFromParent at record time. Change-Id: I6310a2260dfe4def0bde1fd2c5b93791a645d586
isplayListOp.h
enderNode.cpp
enderNode.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
1d4774233304c484673e2af2c1de2ab41021c979 |
27-Aug-2014 |
Chris Craik <ccraik@google.com> |
Crash instead of leaking layers/textures between GL contexts bug:17208461 Change-Id: I4d58f301cf0f5e8145e808a5d6ade4de7801970b
ayer.cpp
enderState.cpp
enderState.h
enderthread/EglManager.cpp
|
bed17d21b0b7c7aa8738198271d8c406440b259a |
26-Aug-2014 |
ztenghui <ztenghui@google.com> |
Merge "Correctly detect the wrong Z value for the light" into lmp-dev
|
3bd3fa1f1d437e22aee35381a559dcee15a437dd |
25-Aug-2014 |
ztenghui <ztenghui@google.com> |
Correctly detect the wrong Z value for the light b/17221975 Change-Id: I2b46da95ad12ca5260d7fe9514a75558b6b6393b
potShadow.cpp
tils/MathUtils.h
|
1698297daf8068bc9e6971d43744d48f1672bab2 |
26-Aug-2014 |
John Reck <jreck@google.com> |
Merge "DO NOT MERGE Copy shaders" into lmp-dev
|
8afd0f245cc0c4a0366f39f41b5f78e47ee83be3 |
22-Aug-2014 |
Chris Craik <ccraik@google.com> |
Create z reordering boundaries around dispatchDraw bug:16012254 This means rendernodes with a Z will no longer be drawn at the end of their parent's DisplayList, but at the end of the associated reorder region (DisplayListData::Chunk). Change-Id: Ia033fee9d9a4db567b2a8d5e90fc57a4d0a64544
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
enderNode.cpp
enderNode.h
|
c1469f39b571f5660346fc837ac30b19d7651a43 |
25-Aug-2014 |
John Reck <jreck@google.com> |
DO NOT MERGE Copy shaders Bug: 16733996 Change-Id: I84afc1b24a23dd6ddf5ab48fb2bfcbe779f8d3e3
isplayListRenderer.h
|
190ead730fc3169a7b355f23d4cd3d8de8ad8fc3 |
22-Aug-2014 |
ztenghui <ztenghui@google.com> |
Merge "Improve the spot shadow computation." into lmp-dev
|
c50a03d78aaedd0003377e98710e7038bda330e9 |
21-Aug-2014 |
ztenghui <ztenghui@google.com> |
Improve the spot shadow computation. Get rid of compuation of the intersection for penumbra and convex hull for umbra. Use simple circle / normal to compute the penumbra and simple intersection for umbra. The new way could be 2x to 4x faster from rectangle to round shape. And this part is roughly half of the shadow computation, or 2/3 of spot shadow computation. This improve the spot shadow spikeness too. b/16712006 b/14976551 Change-Id: I02911784868731369efa73f76fc915bc08248600
nterpolator.cpp
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
essellationCache.cpp
tils/MathUtils.h
|
759f780af0b838316556de69049fb892f7b11ed5 |
21-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Enable scissor for rounded outline clips" into lmp-dev
|
79d26c72aa6f898125df2386054f6a293da4122a |
21-Aug-2014 |
Chris Craik <ccraik@google.com> |
Enable scissor for rounded outline clips bug:17164074 Change-Id: I83ca428f4d7651c6774ab81ac390477fb90c5d38
tatefulBaseRenderer.cpp
|
7d3734491516fdda47059f2a36c1de9fa39dd8a9 |
21-Aug-2014 |
John Reck <jreck@google.com> |
Merge "Don't run animators in buildLayer" into lmp-dev
|
88180d269e5356db11e84a53755e470f430eceec |
21-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix layer shadow transform crash" into lmp-dev
|
9eb9f6f8cbbbd87d45da8071aa54cb066a797723 |
21-Aug-2014 |
John Reck <jreck@google.com> |
Don't run animators in buildLayer Bug: 17172689 Change-Id: Ib47d589c002543327fa336718440f9f8c95524e0
enderNode.cpp
reeInfo.h
enderthread/CanvasContext.cpp
|
c71bfcaa182e3d4fd9874362d3b4781fda934a21 |
21-Aug-2014 |
Chris Craik <ccraik@google.com> |
Fix layer shadow transform crash bug:17180252 Change-Id: Ia648b8c98a217a3a4973917bf255d1397802cbbe
amageAccumulator.cpp
amageAccumulator.h
enderNode.cpp
|
79c9f9168919b0fbb26f8ecd5704875dbc6a539b |
18-Aug-2014 |
Derek Sollenberger <djsollen@google.com> |
Remove invalid premul step from HWUI's matrix color filter. bug: 16186699 Change-Id: Ia0b828e76ce4831ee9e3b4f54c697e6017f1604d
rogramCache.cpp
|
83f75c88a0f0dce2e7d92348d5a498caf32cbdbd |
20-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Early reject drawText calls that will not draw" into lmp-dev
|
947eabf42d835d0dfb0daa2fe6d869139c7000d6 |
19-Aug-2014 |
Chris Craik <ccraik@google.com> |
Early reject drawText calls that will not draw bug:17114102 Prevents high contrast text from drawing invisible text. Also fixes stroked text bounds calculation. Change-Id: Iaeff51ead8b7b8ef2a1a0ca8b89598564e0d443f
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.cpp
enderer.h
|
3e8249568cc428296ac76c7ddce3f0382d40fe5b |
20-Aug-2014 |
John Reck <jreck@google.com> |
Implement full View.buildLayer Bug: 17152292 Change-Id: Ia3cc2aadf72fe14517f50762fc634794df51ad5a
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
2262abbd16e4d6c7c2e40f7d81b02dfe7db846e8 |
19-Aug-2014 |
Chris Craik <ccraik@google.com> |
Respect round rect clip when determining op opaqueness bug:17115570 Change-Id: I30184b4678d333b5d222af8b61daa07a5e865cab
isplayListOp.h
|
40f67da884e60970dc5b0259aa463941de4d2788 |
16-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix glyph positions underflow issue" into lmp-dev
|
39c5e7cbdfdc0c74eb5746467d9975dbaba3da61 |
16-Aug-2014 |
Chris Craik <ccraik@google.com> |
Fix glyph positions underflow issue bug:16450675 Avoid using unsigned ints in math with negative numbers Change-Id: Icdfb72451f03380dbf78b3703793869b2cd4e751
ont/Font.cpp
|
69e5adffb19135d51bde8e458f4907d7265f3e23 |
14-Aug-2014 |
Chris Craik <ccraik@google.com> |
Define shadow casting behavior within layers bug:15860114 Savelayers and HW layers both now support shadow casting. For save layers, the light source should always be correct, for HW layers, the light source position is set when the layer is created, and updated when it is resized. Change-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b
nimator.cpp
amageAccumulator.cpp
amageAccumulator.h
isplayListRenderer.cpp
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
enderNode.h
napshot.cpp
napshot.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
essellationCache.cpp
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/RenderProxy.cpp
enderthread/RenderThread.cpp
|
21be43e142a6fcb3283d7b2da14eb39b690cf643 |
14-Aug-2014 |
John Reck <jreck@google.com> |
Fix hwuitask & RT priorities Bug: 15993695 Change-Id: Ib6f07237cb834e8d10f3074f8fb206d27f91859a
enderthread/RenderThread.cpp
hread/TaskManager.cpp
hread/TaskManager.h
|
14a4e35208b7e97bbfa38f36130827c86bfafc2b |
13-Aug-2014 |
ztenghui <ztenghui@google.com> |
Bring back the shadow strength tweak bug:16712006 Change-Id: Ifc0ecca139d58140b45d7d227536a53069e1d480
aches.cpp
aches.h
penGLRenderer.cpp
|
91a8c7c62913c2597e3bf5a6d59d2ed5fc7ba4e0 |
12-Aug-2014 |
Chris Craik <ccraik@google.com> |
Switch to cos interpolation of shadow alpha bug:16852257 Updates default shadow opacities to compensate. Also, update variable/constant naming related to vertex alpha. Change-Id: I9055b4ac3c9ac305ca9d515f21b52d6aa6dc9c5c
mbientShadow.cpp
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
potShadow.cpp
|
c7d62b777b4da14e45e010817e4dc9fbf316da7e |
12-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Rework shadow interpolation" into lmp-dev
|
bf75945e7a1ae7c1000682716643c942c1e19ba6 |
12-Aug-2014 |
Chris Craik <ccraik@google.com> |
Rework shadow interpolation bug:16852257 Use pow(alpha, 1.5) to avoid harsh edges on shadow alpha ramps. Also adjusts shadow constants to compensate. Change-Id: I5869956d7d292db2a8e496bc320084b6d64c3fb7
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
|
b3cca876c2e11b865cb4f83abe2c48a60b95af5b |
09-Aug-2014 |
Chris Craik <ccraik@google.com> |
Fix ripples projecting to scrolled view bug:16873774 1) Fix projectionReceiveIndex, which could in some cases point at translate/restore ops. 2) Use background translateX / translateY for projected RenderNodes. This makes them match background position, and thus properly account for scroll. Change-Id: Idbd5700858fd67c5abea0270a1012952fe09ac22
isplayListRenderer.cpp
isplayListRenderer.h
enderNode.cpp
|
a7c2ea20c43ab797bef5801530687e22e83def8f |
08-Aug-2014 |
John Reck <jreck@google.com> |
Fix damage for layers for projection receivers Bug: 16880228 Change-Id: I59ab760a21f49cc2cac0d8936b173cff292e6114
ndroid.mk
nimator.cpp
nimator.h
nimatorManager.cpp
nimatorManager.h
amageAccumulator.cpp
amageAccumulator.h
penGLRenderer.cpp
enderNode.cpp
enderNode.h
|
7466986d2055eb8711f36a85ac539b1572ffe805 |
08-Aug-2014 |
Chris Craik <ccraik@google.com> |
Fix leak of SkPathRefs bug:15939479 SkPath objects owned by DisplayListOps weren't being torn down, and thus weren't releasing their SkPathRef innards. Change-Id: I2581e124600a93a399ef3251f456c02ab52839a8
isplayList.h
isplayListOp.h
enderNode.cpp
|
74cf7e6a25c6d7b331c231b7bc2512044f9d2950 |
07-Aug-2014 |
Chris Craik <ccraik@google.com> |
Cap scales used for tessellation with minimum and maximum bug:15615144 Change-Id: I3e833864af3a7b34e444bd13db34b6c90496a8b6
penGLRenderer.cpp
athTessellator.cpp
enderProperties.h
tils/MathUtils.h
|
dc0349bebafb486b044655f3c146450b527a5123 |
07-Aug-2014 |
John Reck <jreck@google.com> |
Add missing null check Bug: 16352267 Change-Id: Ib60baa6d22ec02ba623a297660e2e3ecc7557d0f
enderNode.cpp
|
796475006f5d670e8383a2050f11719522437a43 |
06-Aug-2014 |
Chris Craik <ccraik@google.com> |
Move bitmap transforms out of bitmap ops bug:11359533 This allows us to deduplicate a lot between the two ops, and fixes the shader coordinate space for the left,top argument drawBitmap to match software. Change-Id: I53da05af9ee74c74e9e70b4ab8053190ca220b16
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
|
cd3a22cfec09c065d0667dd044c0788912e82465 |
06-Aug-2014 |
John Reck <jreck@google.com> |
Don't start RenderThread to do trimMemory Bug: 16825138 Change-Id: I35f57898b14bc8526c3d93a3003bca6f5a3d7fbe
enderthread/RenderProxy.cpp
|
3b52c03f5035b833d365215420739aa840ac5080 |
06-Aug-2014 |
John Reck <jreck@google.com> |
clamp & round alpha Bug: 16842521 Change-Id: Ifd93f40b5751746835c9d56bb3c2b5ba700bdccc
enderProperties.h
tils/MathUtils.h
|
f99f320dc79e290a89d668243b6d77c3442b36ab |
06-Aug-2014 |
Chris Craik <ccraik@google.com> |
Fix large radius RR clipping issue on certain devices bug:16804363 Since dist can be in the 1000s of pixels, and length() may square it in its current precision, scale the value down significantly first, since final precision isn't very important. Change-Id: Id20f7a49d6171355c8e242442c2b5083f746dca3
rogramCache.cpp
|
c79eabcd3c6306bb2ec75f9584b79e661f265127 |
05-Aug-2014 |
John Reck <jreck@google.com> |
roundOut layer damage Bug: 16734708 Change-Id: I8815b7cf5f74be6deda98aaaf7cde85509def373
enderNode.cpp
|
5c09e8ad5ee8e67976066366527ee58792551953 |
04-Aug-2014 |
Chris Craik <ccraik@google.com> |
Merge "Remove scaling bucket hack" into lmp-dev
|
a736cd9d3587a120e5233d627cd8bf06353be107 |
04-Aug-2014 |
Chris Craik <ccraik@google.com> |
Remove scaling bucket hack bug:16626221 Fixes glyph cache pressure and double scaling artifacts. Change-Id: I06cde720db646531b45943283cb4ecb48af8ff5b
aches.cpp
aches.h
penGLRenderer.cpp
|
77b5cad3efedd20f2b7cc14d87ccce1b0261960a |
31-Jul-2014 |
Chris Craik <ccraik@google.com> |
Add outline alpha bug:16140822 bug:16566746 This allows background drawables to alter the opacity of a shadow being cast with their own alpha values. Change-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c
utline.h
enderNode.cpp
|
af4d04cab6d48ae0d6a5e79bd30f679af87abaad |
29-Jul-2014 |
Chris Craik <ccraik@google.com> |
Use RoundRect clipping for circle reveal animation bug:16630975 Also, remove inverse clipping feature from reveal animator. Change-Id: I770a4eb48cd123b0ca0f39d16a0f3eefd1be3653
nimator.cpp
nimator.h
isplayListOp.h
penGLRenderer.cpp
enderNode.cpp
enderProperties.h
evealClip.h
napshot.cpp
napshot.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
62d307c2402777d5e53b4590af5f32f8c55afd81 |
29-Jul-2014 |
Chris Craik <ccraik@google.com> |
Fix behavior of stencil clipping within clearLayerRegions bug:16376960 The draw within clearLayerRegions should never be affected by the current stencil clip, since it's just ensuring that the content of the layer is cleared, and not doing real content drawing. Also, add optional verbose GL event logging Change-Id: I538b1bc631fc091340b76e12db6af0c219851b57
ebug.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
tatefulBaseRenderer.cpp
|
591a824c5df7f3a90722424308861d8f101e217f |
29-Jul-2014 |
John Reck <jreck@google.com> |
Merge "Add layer/texture creation tracing" into lmp-dev
|
ec4cefc152749f9805d3a971a4a395687b5a3831 |
29-Jul-2014 |
John Reck <jreck@google.com> |
Add layer/texture creation tracing Change-Id: I0af6a36c97a9f5f35d28e0e36539ba8d8011ea7c
ayer.cpp
ayerRenderer.cpp
extureCache.cpp
|
590b8d3601a518f6c3e00a28e88add36142bde22 |
28-Jul-2014 |
Bo Liu <boliu@google.com> |
Merge "Add kModeSync" into lmp-dev
|
09d5cddf67b676018700bcc10a72242641cd7eec |
24-Jul-2014 |
John Reck <jreck@google.com> |
Add kModeSync Bug: 16526750 Change-Id: I4c087160e80432739321172fd57880846c8de6e0
isplayList.cpp
isplayList.h
isplayListRenderer.cpp
enderNode.cpp
|
00cae4153e0a52494650cacaca7ac43be715f611 |
25-Jul-2014 |
Chris Craik <ccraik@google.com> |
am b5c4634e: am 63582f46: Move ClipBounds to native * commit 'b5c4634e36d5e515852f05722afeb8de053dec62': Move ClipBounds to native
|
a753f4c6cb8558795e673df1896532cd148781e2 |
24-Jul-2014 |
Chris Craik <ccraik@google.com> |
Move ClipBounds to native bug:15698973 Also simplifies RenderNode LTRB properties Change-Id: I09263a697b71d325a46b57cd5250a2b165f251c8
enderNode.cpp
enderProperties.cpp
enderProperties.h
|
7780176cd4ded3e8d992a0d6deab28325b734af8 |
25-Jul-2014 |
Chris Craik <ccraik@google.com> |
am 9cba57c5: am b6163d6d: Revert "Dump RenderThread stack on unresponsive" * commit '9cba57c58ebdfc375bcfced53483fe47e2b5a03e': Revert "Dump RenderThread stack on unresponsive"
|
738ec3aace180018560998d1c2cdeb9ddde5fbfa |
25-Jul-2014 |
Chris Craik <ccraik@google.com> |
Revert "Dump RenderThread stack on unresponsive" bug:16563871 bug:16565900 bug:16555847 bug:16551643 This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280. Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
enderthread/DrawFrameTask.cpp
enderthread/RenderProxy.cpp
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
15a807bb9c98455a175f42389bdc59f46c0bc195 |
25-Jul-2014 |
John Reck <jreck@google.com> |
am 4afa4696: am c8f0e9b1: Fix ALL compile warnings * commit '4afa469652dd6baa277b57cb584c08cccaf23c50': Fix ALL compile warnings
|
e6be6fada5ce8ae4a852b8f699efd11646804a42 |
25-Jul-2014 |
Chris Craik <ccraik@google.com> |
am 27222820: am 1a146fc8: Compute layer bounds over subset of VertexBuffer verts * commit '2722282067f472e30e0642b8374034ac01bca314': Compute layer bounds over subset of VertexBuffer verts
|
19393ccd037af058184097f92fa84263ae242898 |
25-Jul-2014 |
Chris Craik <ccraik@google.com> |
am 394e8703: am 2d3c6c93: Connect shadow style attributes to renderer * commit '394e8703222d59f0de4da82afce423ada12c346f': Connect shadow style attributes to renderer
|
1aa5d2d7068147ff781cfe911a93f01593a68c79 |
24-Jul-2014 |
John Reck <jreck@google.com> |
Fix ALL compile warnings All warnings/errors fixed for GCC & Clang Change-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3
mbientShadow.cpp
ayerRenderer.h
penGLRenderer.cpp
athTessellator.cpp
enderNode.cpp
hadowTessellator.cpp
potShadow.cpp
essellationCache.cpp
ector.h
ertex.h
tils/MathUtils.h
|
a728570a9a21a5fb0881b3e99bc2fdf3e168d5e3 |
24-Jul-2014 |
John Reck <jreck@google.com> |
am dc7f7045: am ca66e06b: Dump RenderThread stack on unresponsive * commit 'dc7f7045f66733dbd3bf46934ddd6dec5b12a64a': Dump RenderThread stack on unresponsive
|
9a89bc6524620c87c7a321433470c668e2b95d69 |
24-Jul-2014 |
Chris Craik <ccraik@google.com> |
Compute layer bounds over subset of VertexBuffer verts bug:15538815 Change-Id: I0dbb54f656a6ae99a87c5734761107e1c2351b65
mbientShadow.cpp
potShadow.cpp
ertexBuffer.h
|
058fc640017c90120c599d378a4cbc55668b05b7 |
24-Jul-2014 |
Chris Craik <ccraik@google.com> |
Connect shadow style attributes to renderer bug:15859361 Moves lighting info out of StatefulBaseRenderer, since it's not useful at record time, and only used by OGLR. Change-Id: I7ab065d02d9304afad1dc4c48597a7a621366f8e
penGLRenderer.cpp
penGLRenderer.h
enderer.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
73b7a4db4116774156fda3a510cc3afa14be9ffd |
23-Jul-2014 |
John Reck <jreck@google.com> |
Dump RenderThread stack on unresponsive Bug: 16408405 Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
enderthread/DrawFrameTask.cpp
enderthread/RenderProxy.cpp
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
99bc64e72162a19a76253617a3df7897ee5e3b3f |
23-Jul-2014 |
Chris Craik <ccraik@google.com> |
am 97d572ec: am f2ecf428: Merge "Build layer damage bounds for shadows" into lmp-dev * commit '97d572ecb4804fc764a2bc99d0a0f6dddfe6fbd8': Build layer damage bounds for shadows
|
35763b1c0b3b26231d8b12329e435b1395bf4be2 |
23-Jul-2014 |
Chris Craik <ccraik@google.com> |
am 1f9b1c74: am d93bb9e1: Merge "Make setter methods on Outline call setEmpty() based on params" into lmp-dev * commit '1f9b1c74aad278704920e8181c31229dd05bb49b': Make setter methods on Outline call setEmpty() based on params
|
0645128b80621edee70f8cab4afb208fe0c26bec |
21-Jul-2014 |
Chris Craik <ccraik@google.com> |
Make setter methods on Outline call setEmpty() based on params bug:16142564 Additionally, better define behavior around null outline providers: A view with an empty outline, and setClipToOutline=true will not be rendered, though one with a null outline provider (and thus no outline) will be. Change-Id: Ic9549841b107b2eb51b417c66058a0cd69dd89eb
utline.h
enderNode.cpp
|
2923df53825ded6fae4ce2af8bf65690db244394 |
22-Jul-2014 |
Chris Craik <ccraik@android.com> |
am 48242d80: am 50a2d633: Merge "[HWUI] Fix invisible views are still shown in popup window" * commit '48242d801c8719f458a615b14b31760ae590006e': [HWUI] Fix invisible views are still shown in popup window
|
50a2d6339c7a6ee121c4aa52afc4cc027913f3fc |
22-Jul-2014 |
Chris Craik <ccraik@android.com> |
Merge "[HWUI] Fix invisible views are still shown in popup window"
|
5eac9e114e648a1f4ec010302f73f041ebdc65b4 |
23-Jul-2014 |
Chris Craik <ccraik@google.com> |
Merge "Build layer damage bounds for shadows" into lmp-dev
|
c93e45cf045f41aea95f856173e4043d988a5a5c |
16-Jul-2014 |
Chris Craik <ccraik@google.com> |
Build layer damage bounds for shadows bug:15538815 Change-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d
mbientShadow.cpp
athTessellator.cpp
ect.h
potShadow.cpp
essellationCache.cpp
ertexBuffer.h
|
d3de42cae84fadfa1befd082a2cf1bf72f9ad82a |
15-Jul-2014 |
John Reck <jreck@google.com> |
Add RT-enabled reveal animator Bug: 16161431 Also re-writes RevealAnimator to avoid using any listeners internally, removing the logic around shadowing the update listeners. Change-Id: I6ed8126398eed971a87f20bccb7584c9acafbb6c
nimator.cpp
nimator.h
evealClip.h
|
f3e85b5bac693780c75935f0d27acf536458702d |
18-Jul-2014 |
Chris Craik <ccraik@google.com> |
Merge "[HWUI]: fix residual line on FrameBuffer" into lmp-dev
|
33f5a59ac3e304970920dda824958870f85f76ef |
02-Jul-2014 |
henry.uh_chen <henry.uh_chen@htc.com> |
[HWUI]: fix residual line on FrameBuffer Symptom: If app applies animation to enlarge a bitmap, there will be an residual line on the screen Root Cause: On platform which has Tile Rendering implementation (ex. Qualcomm CPU), startTiling() call will restrict the framebuffer region which GPU can affect. So the expansion of clear region by 1 will not take effect if startTiling region is not expanded. Solution: Expand the startTiling region by 1, too. Reproduce steps: Apply animation to enlarge (and then shrink) a bitmap icon. Cherry-pick of 20adb6ce4d52b15472e7e5ee953e06cc349a827c from AOSP Change-Id: I163b898b87b74d221dc4210b7fa657aa93c82c19
penGLRenderer.cpp
penGLRenderer.h
|
5d705ee6ad828334a8ca1402f8ac784d46382490 |
17-Jul-2014 |
Chris Craik <ccraik@google.com> |
Merge "Minor cleanups around color usage" into lmp-dev
|
98d608dba6a0b3c15fb08f1fa2c8b9d170124c7c |
17-Jul-2014 |
Chris Craik <ccraik@google.com> |
Minor cleanups around color usage Change-Id: I56733cbe933a58d5977c032f056abb35265ee252
isplayListOp.h
penGLRenderer.cpp
athCache.cpp
|
5cdb8f998c58a2226112b36e4c391866346e5e17 |
17-Jul-2014 |
John Reck <jreck@google.com> |
Fix logging Bug: 16357287 Change-Id: Ic14e32c941e42ab1f1ed51ff8ed7185979e57a55
enderthread/CanvasContext.cpp
|
58ddced27752b5e47b0d42fec66f8dcfde070ec1 |
17-Jul-2014 |
Chris Craik <ccraik@google.com> |
Initializing variables - generally a good practice Change-Id: Ib29a69f741eda869701493bb04e155d786e6e402
aches.cpp
|
889fc94ffa70633e510e812b9da86723f4eee384 |
17-Jul-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add accessibility text contrast setting" into lmp-dev
|
cce47eb580d666ead1f6095d1e3b65233592bbaa |
17-Jul-2014 |
Chris Craik <ccraik@google.com> |
Add accessibility text contrast setting b/14624452 Adds a feature which draws all text (in the HW accelerated standard path) in a high contrast mode. Text is drawn at full alpha, and either white or black (depending on its original color) with a starkly contrasted outline beneath it. Change-Id: I943f624b6367de35367cced3b2a8298f2bc62377
isplayListRenderer.cpp
isplayListRenderer.h
|
514a8b88f7a57fd348dde193ee9ced0403deebd4 |
17-Jul-2014 |
John Reck <jreck@google.com> |
Merge "Fix root RenderNode damage calculation" into lmp-dev
|
0a97330b98dd633b58dcfff405d94476c89e867d |
16-Jul-2014 |
John Reck <jreck@google.com> |
Fix root RenderNode damage calculation Bug: 15888445 Change-Id: I281ec9271c9889673dcdfcb6d31e341a7b47b7de
enderNode.h
enderthread/CanvasContext.cpp
|
0d5ac954a111d19270d6e618ee051a8d6419e1a5 |
15-Jul-2014 |
Chris Craik <ccraik@google.com> |
Fix translated VertexBuffer layer damage calculation b/15986851 Change-Id: Id6be412e693c5233326164723a0a96e3802d9426
penGLRenderer.cpp
|
544e524db6e4da526af1c897fe5314036ede5012 |
11-Jul-2014 |
Chris Craik <ccraik@google.com> |
Fix arc 360 degree sweep rendering bug:15947035 Change-Id: I83715968cb90f4fcf39b25fb283d241d1a1284b5
isplayListRenderer.cpp
|
73842582fe1d1268fb9561a59885e1714948d737 |
11-Jul-2014 |
Chris Craik <ccraik@google.com> |
Abort on shader link/compile failure b/16207378 Change-Id: I12debb0846214a08459ad25454653a003f034402
rogram.cpp
|
83f7ee8d12df1e8f031a0d23a00084f4fcd0d2f3 |
10-Jul-2014 |
ztenghui <ztenghui@google.com> |
Remove the unnessary log We still need to investigate the underlying problem and fix it. bug:16015708 Change-Id: If38b550d5af990d5aaa6633ee129a61e927d66c1
hadowTessellator.cpp
|
3a1bffa835f279628e50385af3c85789bc737f64 |
03-Jul-2014 |
henry.uh_chen <henry.uh_chen@htc.com> |
[HWUI] Fix invisible views are still shown in popup window Symptom: Invisible views are still shown in popup window Root Cause: glClear isn't called if there is no draw command Solution: Even if there is no draw command, it still calls glClear by startFrame(). Reproduce steps: App set one view in a popup window to invisible, it will be still visible. Change-Id: I36bc7b752434ad388fbb80ea63341ac778f48d35
penGLRenderer.cpp
|
20adb6ce4d52b15472e7e5ee953e06cc349a827c |
02-Jul-2014 |
henry.uh_chen <henry.uh_chen@htc.com> |
[HWUI]: fix residual line on FrameBuffer Symptom: If app applies animation to enlarge a bitmap, there will be an residual line on the screen Root Cause: On platform which has Tile Rendering implementation (ex. Qualcomm CPU), startTiling() call will restrict the framebuffer region which GPU can affect. So the expansion of clear region by 1 will not take effect if startTiling region is not expanded. Solution: Expand the startTiling region by 1, too. Reproduce steps: Apply animation to enlarge (and then shrink) a bitmap icon. Change-Id: I7b4a59e180daa29dbe909d9e11f4093ae1d7396f
penGLRenderer.cpp
penGLRenderer.h
|
345c3099ae37b8e8c5ad6e6769c2d4864e83adb7 |
08-Jul-2014 |
John Reck <jreck@google.com> |
Merge "Fix layers lifecycle issues"
|
dcba6725e8b9d3eba9ad7a01258d6aa974feafba |
08-Jul-2014 |
John Reck <jreck@google.com> |
Fix layers lifecycle issues Bug: 16118540 Fix an issue where we could have a reference to a Layer after the GL context was destroyed Change-Id: I7bfd909d735ca6b942ebe188fc10099422eb6d95
enderNode.cpp
enderNode.h
reeInfo.h
enderthread/CanvasContext.cpp
|
83601538918620e63f5a765d3eaab3a63494b454 |
08-Jul-2014 |
John Reck <jreck@google.com> |
Revert "Fix destroyHardwareResources" This reverts commit bac48c4d0c6f71f67074a430cd365ea2e15924b8. Change-Id: Iba8b729d5e91ca31976fc2bdf9c1dd5fdb19de9a
enderNode.cpp
|
7f87e8acbbe02cb28af35f9f6dde09e700d7c5d2 |
08-Jul-2014 |
Chris Craik <ccraik@google.com> |
Merge "Query outline on background size change"
|
0f632046ddb26740aff356ef21b374521912075b |
08-Jul-2014 |
Chris Craik <ccraik@google.com> |
Query outline on background size change Background bounds are updated out of sync with View bounds, so query as they change. Change-Id: I9c94df17bac42dfcd4bb93b31903b59ebb58204b
utline.h
|
59744b79ec302000802cd56d30a1bf70f0183c80 |
02-Jul-2014 |
Chris Craik <ccraik@google.com> |
Add hack for custom re-rasterization buckets bug:14083128 Moves all of the font transform management into OpenGLRenderer::findBestFontTransform(), and now simply passes down final rasterization transforms into the FontRenderer. Change-Id: Ie02752e6af863347b142367c7d628db5f9fc2998
aches.cpp
aches.h
isplayListOp.h
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
ont/Font.cpp
ont/Font.h
|
3c2b7fa8c584c5ed56f1bd6ad53f2e87f0a6eb44 |
07-Jul-2014 |
John Reck <jreck@google.com> |
Add missing requireGlContext Change-Id: I7100e5e9986f502f66a23ecea07a6057522c43ac
enderthread/CanvasContext.cpp
|
32fb6307de7c3ee9399a39dc6734f1c82ffd1dcb |
07-Jul-2014 |
John Reck <jreck@google.com> |
Fix VPA.cancel() Bug: 15978905 Need to make sure we re-sync the UI properties on animator cancel, also don't animate for 1 frame after cancel() is called Change-Id: Ib660c0fb195b9f02bd795d03d43ea67bffebb499
nimator.cpp
|
1103b3255945d2eb2fa9c191e84e2270b343cca9 |
08-Jul-2014 |
Mike Reed <reed@google.com> |
SkBitmap::Config is deprecated, use SkColorType Change-Id: Ic953741325607bf85598c097bb3ab648d4a08996
isplayListOp.h
ayerRenderer.cpp
penGLRenderer.cpp
extureCache.cpp
|
ec0c92548071801c81e02ca72b9864739e1c080c |
08-Jul-2014 |
John Reck <jreck@google.com> |
Fix destroyHardwareResources The UI thread needs to know whether or not the display list is valid, so bring back View.destroyHardwareResources and instead have the native side assert that View did the right thing Change-Id: I4f8dee6e9c13ec7ab520becdc5cfe20e92a76f8f
enderNode.cpp
|
8d8af3c1b768d590754d657a7d1242dcb462454b |
02-Jul-2014 |
John Reck <jreck@google.com> |
Fixes to startDelay Bug: 15991758 Don't update the UI thread with final value until after startDelay Change-Id: Ie8bffb5a3ace353ec1d82943a4efcbd01c42c28f
nimator.cpp
nimator.h
nimatorManager.cpp
|
d907e5b1efeae51c302fd502f42a06bd16d6cae3 |
01-Jul-2014 |
John Reck <jreck@google.com> |
Merge "Fix onTrimMemory for HardwareRenderer"
|
f47a594f5250b1914c36423ee6b371f0b8db09d0 |
01-Jul-2014 |
John Reck <jreck@google.com> |
Fix onTrimMemory for HardwareRenderer Also fixes detachFunctor possibly drawing after return Bug: 15189843 Bug: 15990672 Change-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3
enderNode.cpp
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
711ecaf000f66ea8e68e3d6fc8fe9212d1882e2a |
30-Jun-2014 |
John Reck <jreck@google.com> |
Merge "More cleanups"
|
918ad523b2780e0c893f3d2a32d4ec13f2a7e921 |
27-Jun-2014 |
John Reck <jreck@google.com> |
More cleanups Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
f23b25abfb76e75f63103abc882bc91b8327a957 |
27-Jun-2014 |
Chris Craik <ccraik@google.com> |
Remove isRecording() method from renderers DisplayListRenderer is all that's accessed from java, and is entirely separate from OpenGLRenderer now. Change-Id: Ie733be71520c13fdb55dfe3522bb445ae2b50ac1
isplayListRenderer.h
penGLRenderer.cpp
enderer.h
|
906d47fd2bcedb9674b5765d01bd9c758069074c |
28-Jun-2014 |
Chris Craik <ccraik@google.com> |
Deep copy SkPath parameter to PathCache task bug:15440706 Change-Id: I2b5b25f620df838cb1155cc8502d86ad3644c212
athCache.cpp
athCache.h
|
ca1b3b83bb4289315e25520364182ebad951ba08 |
27-Jun-2014 |
John Reck <jreck@google.com> |
Cleanup Change-Id: I8a75e6e32a4cb02e3978503305b4cdce1727e89a
isplayListOp.h
penGLRenderer.h
|
68bfe0a37a0dcef52abd81688d8520c5d16e1a85 |
25-Jun-2014 |
John Reck <jreck@google.com> |
Animator refactoring & fixes Tweaks animators to have less unnecessary refcounting Pull animator management out into seperate class More control to tweak animator lifecycle, such as doing Java-side handling of start delay by attaching but not starting the animator Change-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c
ndroid.mk
nimator.cpp
nimator.h
nimatorManager.cpp
nimatorManager.h
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderNode.cpp
enderNode.h
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
|
3faf67c9b3aac71794cbafee91f8ecc4ab454bc3 |
24-Jun-2014 |
John Reck <jreck@google.com> |
Merge "Fix contants; RT-enable WebView pt2"
|
cd028f336e36b22dbe8cf623eb5bd2361314495c |
24-Jun-2014 |
John Reck <jreck@google.com> |
Fix contants; RT-enable WebView pt2 Bug: 15838537 * Fix kSync_UIRedrawRequired constant value (woops) * Tell CanvasContext that WebView is now rt-safe Change-Id: Idf15cf21115c2ca24b8ccd00025e8502864cd87c
enderthread/CanvasContext.cpp
enderthread/DrawFrameTask.h
|
07126e12cc4409e31e64c47a8cf7eb620806ff29 |
23-Jun-2014 |
Derek Sollenberger <djsollen@google.com> |
Cleanup unused includes in the hwui library. Change-Id: I94c188403f5fa541e47a03a3bd1c7cf00c29bf4e
ndroid.mk
|
6b39324d7756f1a36faf275941aabb19ee6bbb53 |
24-Jun-2014 |
John Reck <jreck@google.com> |
Merge "No-fail invokeFunctor"
|
3b20251a355c88193c439f928a84ae69483fb488 |
23-Jun-2014 |
John Reck <jreck@google.com> |
No-fail invokeFunctor Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
ndroid.mk
eferredDisplayList.cpp
eferredDisplayList.h
eferredLayerUpdater.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayer.h
ayerCache.cpp
ayerCache.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
enderNode.h
enderState.cpp
enderState.h
enderer.h
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/EglManager.cpp
enderthread/EglManager.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
61606cec5ceb705910dec94222b22e66a0365094 |
23-Jun-2014 |
Bo Liu <boliu@google.com> |
Merge "Enable asynchronous RenderThread for WebView"
|
826b56448691221e4cfe2f19a09c3d8790f78d2c |
14-May-2014 |
Bo Liu <boliu@google.com> |
Enable asynchronous RenderThread for WebView BUG: 12179257 Change-Id: Ib7358dc84a0a58020d178d10b324b9631848c06d
enderthread/DrawFrameTask.cpp
|
a7090e0cfd7c719a6d4c03aae34f5db98754cbdd |
21-Jun-2014 |
Chris Craik <ccraik@google.com> |
Update 'DisplayList' vs 'RenderNode' naming in several places Change-Id: I635c6627d098b661fb9b0ba1bd42fa6d7277d287
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
enderNode.h
enderer.h
enderthread/CanvasContext.cpp
|
3281442aa75872b8947f0b0a5203257c6849129d |
21-Jun-2014 |
Chris Craik <ccraik@google.com> |
Merge "Wrap ViewGroup content in save/restore to protect composited children"
|
80d4902196899d1325cd9f52c06ae0174cf9bd4c |
21-Jun-2014 |
Chris Craik <ccraik@google.com> |
Wrap ViewGroup content in save/restore to protect composited children bug:15570351 Pos Z composited children are drawn before the primary restore for a RenderNode. This means that without an additional save/restore (which wraps the content) they aren't protected from transformations/clips that happen within the ViewGroup's DisplayList. Also changes RenderNode to use OpenGLRenderer tag for displaylist dumping consistency, and simplifies the entry points into RenderNode drawing, since the distinction between tree root vs tree internal is no longer important. Change-Id: I2621eba0592c74d71f85a91a4ab3d0da2d7468d3
isplayListOp.h
ayer.cpp
penGLRenderer.cpp
enderNode.cpp
enderNode.h
|
b127713b58c1a8f8bae687742ef15e60b3dbeb44 |
20-Jun-2014 |
John Reck <jreck@google.com> |
Merge "Re-enable ViewPropAnimRT"
|
2218472d23483f09341bf655d55db21dcbabc1b6 |
20-Jun-2014 |
John Reck <jreck@google.com> |
Re-enable ViewPropAnimRT Change-Id: I2f30547c4e2212747c479760dff4f3f901d1eaf3
nimator.cpp
nimator.h
enderNode.h
|
402c8f5a07470bd582a5e7d5c5ff581c5e03a545 |
20-Jun-2014 |
Mike Reed <reed@google.com> |
Merge "stop using (deprecated) SkBitmap::Config"
|
b933055cf3f7f8ea89bfd3bc9c37a3891ff7310a |
16-Jun-2014 |
Mike Reed <reed@google.com> |
stop using (deprecated) SkBitmap::Config Change-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b
athCache.cpp
extureCache.cpp
|
7aab5a1f9f0be7f84010325d9b7f314540f2d36f |
20-Jun-2014 |
John Reck <jreck@google.com> |
Add negative guard Bug: 15631600 Change-Id: Idd7740f58876e73694fafb8ef55ebaff511f6dca
nterpolator.cpp
|
e48df005750549b5531a916368f168189e370acc |
19-Jun-2014 |
Chris Craik <ccraik@google.com> |
Merge "Clean up tessellation cache in prep for other tesselation types"
|
6ac174b97246ed40fe780b29561603b61770fa17 |
17-Jun-2014 |
Chris Craik <ccraik@google.com> |
Clean up tessellation cache in prep for other tesselation types bug:15536396 Also fixes compilation warning, avoids SkPaint deep copy Change-Id: I74334f08b1d34c6789aabf968ff62db5bacbed1b
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.cpp
essellationCache.cpp
essellationCache.h
hread/Task.h
|
c25e506f7fc08790c0532f927f31310a2ca778b7 |
18-Jun-2014 |
John Reck <jreck@google.com> |
Throw ISE on too-big-views-with-layers Bug: 12971954 Change-Id: I3ef995e91f236014b0a72a90846ef19ce6dc42b1
enderNode.cpp
reeInfo.h
|
ce9f308063cc2bc7851f3f58c881da8a7271eecc |
18-Jun-2014 |
John Reck <jreck@google.com> |
Fix dirty calculation for layer updates Bug: 15682142 Defer early return of alpha <= 0 for damage accumulation until popTransform() so that layer updates will be performed regardless of alpha Change-Id: Ifb94dd3ed2d96d610e6f2f3071933903016273a5
amageAccumulator.cpp
enderNode.cpp
|
75af3f3c9693f939c73ce1a7c2889a7f8d4853c0 |
17-Jun-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add abort logging for huge scales and tessellation recursion depth"
|
fe02b4b344c37200486d8afc972560fb550cb17e |
17-Jun-2014 |
Chris Craik <ccraik@google.com> |
Add abort logging for huge scales and tessellation recursion depth bug:15615144 Change-Id: I275732eb97f9d5179beed23eecd2ee3cc7112e10
athTessellator.cpp
enderProperties.h
|
c4fc71dec806a116c9cd7a562c433f5ded60765d |
17-Jun-2014 |
Chris Craik <ccraik@google.com> |
Merge "Interrupt canvas before invoke"
|
734df4b4271e90e320f3ff37b4b0d49e92cb1e3c |
16-Jun-2014 |
Chris Craik <ccraik@google.com> |
Interrupt canvas before invoke Change-Id: I5b818958f6255c594339bd10d9efa99e9e2c00d4
enderthread/CanvasContext.cpp
|
81efa15fad43a2e70a14b1cae6ad4ea527292555 |
17-Jun-2014 |
John Reck <jreck@google.com> |
Merge "Make sure the root node has a type"
|
2dc223d23764a78f052529e86a59a1979d03b811 |
17-Jun-2014 |
John Reck <jreck@google.com> |
Make sure the root node has a type Bug: 15686491 Change-Id: I4bd64a6470dd704740e99d21cfdbe84805961401
amageAccumulator.cpp
|
293e868bfc1b07aad2cb2ebeee5b07424852c510 |
17-Jun-2014 |
John Reck <jreck@google.com> |
Handle Z in DA Bug: 15671775 Change-Id: I33c7a70e78ef523ffd03165fb6c39d8e04d04f1f
amageAccumulator.cpp
enderNode.cpp
enderProperties.h
|
0d28bb47d771a2ac99cec6e4a071a98d2cd705dd |
17-Jun-2014 |
Chris Craik <ccraik@android.com> |
Merge "Fix the texture ID reuse issue in HWUI."
|
5e7ef9489f3247c02395202d88fb4fb425aa8412 |
17-Jun-2014 |
Chris Craik <ccraik@android.com> |
Merge "hwui: fix possible null pointer de-refrence"
|
0732ba5756296f1ae3da48a39e4d498aba366386 |
17-Jun-2014 |
Chris Craik <ccraik@android.com> |
am 88b1c9ad: am e709d53f: am 0d28bb47: Merge "Fix the texture ID reuse issue in HWUI." * commit '88b1c9ad87ca6d6faaf824bff4ee9d3c799362e5': Fix the texture ID reuse issue in HWUI.
|
11a8d4f8b99549262bcc9b64efe8ca21801c8f91 |
17-Jun-2014 |
Chris Craik <ccraik@android.com> |
am 678886fd: am b1fc06a4: am 5e7ef948: Merge "hwui: fix possible null pointer de-refrence" * commit '678886fde5cd779de79f8e38479aa6de82f8e755': hwui: fix possible null pointer de-refrence
|
88b1c9ad87ca6d6faaf824bff4ee9d3c799362e5 |
17-Jun-2014 |
Chris Craik <ccraik@android.com> |
am e709d53f: am 0d28bb47: Merge "Fix the texture ID reuse issue in HWUI." * commit 'e709d53ff31c74a6abf2a27350966d18d8dad4f7': Fix the texture ID reuse issue in HWUI.
|
678886fde5cd779de79f8e38479aa6de82f8e755 |
17-Jun-2014 |
Chris Craik <ccraik@android.com> |
am b1fc06a4: am 5e7ef948: Merge "hwui: fix possible null pointer de-refrence" * commit 'b1fc06a4321f13360fcca49bbf87f87f34c22d58': hwui: fix possible null pointer de-refrence
|
ecae1ffd7719a60e471550436f885299d27de7df |
16-Jun-2014 |
Tenghui Zhu <ztenghui@android.com> |
am df36dd20: am 386caf6c: Merge "update parameters in uploadToTexture() for GLES20" * commit 'df36dd200c55a6ad463b46bab0ffff49d21206ff': update parameters in uploadToTexture() for GLES20
|
4a473c7d9406a2d6f6792f0f48d933424740ec5c |
10-Jun-2014 |
jiayuanr <jiayuanr@codeaurora.org> |
Fix the texture ID reuse issue in HWUI. Issue: When the layer of previous frame is destroyed, it doesn't clear the texture id in mBoundTextures[mTextureUnit], so in the next frame, if glGenTexture returns same texture ID of the previous frame, the new texture is not bound. CRs-fixed: 671736 Change-Id: Ifc5fd2115fb1863b3c006ab14b0faabeaeb4eab4
aches.cpp
aches.h
ayer.cpp
|
1fa4cef34a8ac07e2ef15f2fef3dcfe520848c8d |
12-Jun-2014 |
Digish Pandya <digishp@codeaurora.org> |
hwui: fix possible null pointer de-refrence add layer check for null before de-refrencing it. issue link: http://code.google.com/p/android/issues/detail?id=61622 Change-Id: I54fc21ec594effcfb1eededd80dd5b0b52645c4c
ayerRenderer.cpp
|
c5e0a295418a1fd8c17608041962d70296af6794 |
27-Nov-2013 |
Lu, Shenghua <shenghua.lu@intel.com> |
update parameters in uploadToTexture() for GLES20 Google optimized the uploadToTexture with GLES3.0+, This allows us to upload a sub-rectangle of texture, but this has compliance issue with GLES 2.0. With OpenGL ES 2.0 we need to copy the bitmap in a temporary buffer if the stride doesn't match the width, and then upload entire temporary stripes. Change-Id: I8987cd8347913c61b7fa45bd47be1189aa6bdb05 Signed-off-by: Shenghua Lu <shenghua.lu@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com> Signed-off-by: Guobin Zhang<guobin.zhang@intel.com>
extureCache.cpp
extureCache.h
|
2357d72ce2427c7b91f8c23487f0d49590e78ea6 |
16-Jun-2014 |
ztenghui <ztenghui@google.com> |
resolved conflicts for merge of ecae1ffd to master Change-Id: I1ba660ce832e3360fa136be6aa0415645bfda328
|
816f71b7e0dc263362e9fc8d251c8d1944bff17c |
13-Jun-2014 |
John Reck <jreck@google.com> |
Merge "Move LayerType to RenderNode"
|
25fbb3fa1138675379102a44405852555cefccbd |
12-Jun-2014 |
John Reck <jreck@google.com> |
Move LayerType to RenderNode Change-Id: Icb79a5015cb0362b1f3a66d09007450730135a97
amageAccumulator.cpp
amageAccumulator.h
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderNode.cpp
enderNode.h
enderProperties.cpp
enderProperties.h
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/DrawFrameTask.cpp
|
a447d29c65fb811cd184775a3476101a1cede929 |
12-Jun-2014 |
John Reck <jreck@google.com> |
Fix DA bugs * Now aware of transform of DrawDisplayListOp * Supports projection Bug: 15539677 Bug: 15506680 Change-Id: Ic16f482cd48c3add12e49eca529281be12b93491
amageAccumulator.cpp
amageAccumulator.h
atrix.cpp
atrix.h
enderNode.cpp
enderNode.h
enderProperties.cpp
enderProperties.h
reeInfo.h
|
bd2d97f2b7212a74c11ee09f3badaea70ba9fe0b |
13-Jun-2014 |
Chris Craik <ccraik@google.com> |
am 9de2a8f4: Merge "Add AA flag to TessellationCache key" into lmp-preview-dev * commit '9de2a8f42d88e50146947a7bf21b212ea134ee83': Add AA flag to TessellationCache key
|
ed4ef0bc17c33ecd7e689e3c40244a7c1c6063d0 |
12-Jun-2014 |
Chris Craik <ccraik@google.com> |
Add AA flag to TessellationCache key bug:15539571 Change-Id: I7cf470ca962041ab3c00c740e87c6ae9a95f06a8
essellationCache.cpp
essellationCache.h
|
5b368b3d9f1f99a9b92971a0596ccb15f77017d2 |
12-Jun-2014 |
Chris Craik <ccraik@google.com> |
am 98b10e48: Merge "Limit path approximation recursion depth" into lmp-preview-dev * commit '98b10e480279d331e54b9f28546629687244a01c': Limit path approximation recursion depth
|
0adb6d6e5090fd08242e7015b2ffdc91e3a42307 |
12-Jun-2014 |
Chris Craik <ccraik@google.com> |
Merge "Limit path approximation recursion depth" into lmp-preview-dev
|
9c3dd62d0fbec40ea15b0a56a01bcfefa3ceabdd |
12-Jun-2014 |
Chris Craik <ccraik@google.com> |
Limit path approximation recursion depth bug:15369119 Change-Id: I6f009f5e8790129e1aa8a51e1fc6cdd1415dd617
athTessellator.cpp
athTessellator.h
|
1b3be0877a07dac81fd21c898ba917e6ee5354b2 |
11-Jun-2014 |
Chris Craik <ccraik@google.com> |
Fix race in shadow tessellation by deep copying task params bug:15369119 Change-Id: Ica1445f06693b1cfd038cf3494afe1210d5507c1
essellationCache.cpp
|
6ef8e0178d6ad9fee5b410da8fd28f97205c23eb |
12-Jun-2014 |
Chris Craik <ccraik@google.com> |
Workaround to avoid polygon flashing DO NOT MERGE b/15539571 Temporarily disables caching of tessellation. Change-Id: If014b8c40664711aef761eec606d28aff1859b14
essellationCache.cpp
|
e830c37a4a499c439083afc56c64fa178ea5889d |
12-Jun-2014 |
John Reck <jreck@google.com> |
Merge "Fix DA bugs"
|
3e136626daa184a8191808343c95be9c7313448b |
12-Jun-2014 |
Chris Craik <ccraik@google.com> |
am 69453787: Merge "Fix race in shadow tessellation by deep copying task params" into lmp-preview-dev * commit '6945378752381a04d81eb426876a6495488cd459': Fix race in shadow tessellation by deep copying task params
|
546f353e7f562fdbcf59980bcb7dc11567658aa3 |
10-Jun-2014 |
Mark Salyzyn <salyzyn@google.com> |
hwui: 64-bit compile issue Change-Id: Ic3e3dbc6cde4bc58b23a8ab267b0868f370ad149
enderthread/RenderProxy.cpp
|
1e5cf9aced40e6e14262e542d0ed0e24cda877a0 |
10-Jun-2014 |
Chris Craik <ccraik@google.com> |
am b1c76a1a: Merge "Tessellate on worker threads" into lmp-preview-dev * commit 'b1c76a1abcfb2f33e12fef37ec71d20724863b5e': Tessellate on worker threads
|
05f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5 |
03-Jun-2014 |
Chris Craik <ccraik@google.com> |
Tessellate on worker threads Tessellate and cache (where possible) shadow and round rect tessellation tasks. Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
mbientShadow.cpp
mbientShadow.h
ndroid.mk
aches.cpp
aches.h
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
athCache.cpp
athCache.h
athTessellator.cpp
athTessellator.h
roperties.h
ect.h
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
essellationCache.cpp
essellationCache.h
ertexBuffer.h
hread/TaskManager.cpp
tils/Macros.h
tils/MathUtils.h
|
743922e9dfe295d4cc837eee1646272aa88da135 |
06-Jun-2014 |
John Reck <jreck@google.com> |
Merge changes Ie0773f85,Ie5e75505 * changes: Even FASTER damage calculations! Have all the setters return changed
|
c229c2a6a85c36015cd30353193df2628ba760fb |
06-Jun-2014 |
Chris Craik <ccraik@google.com> |
am 8632b85b: Merge "Fix issues around GL on incorrect thread" into lmp-preview-dev * commit '8632b85b3ceca1b64ca37843ffd87bc10f4ae72f': Fix issues around GL on incorrect thread
|
56f46abdcdb6ad65225e5e8ff5b0ccae8d9bacce |
05-Jun-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix issues around GL on incorrect thread" into lmp-preview-dev
|
18bf85d4aeedc5989475cadfee735751adac23ad |
05-Jun-2014 |
Chris Craik <ccraik@google.com> |
Fix issues around GL on incorrect thread bug:15416165 bug:15414673 DisplayListRenderer must override these callbacks from StatefulBaseRenderer, since the super implementations call GL. Eventually, we'll just have DisplayListRenderer inherit from StatefulBaseRenderer directly. Change-Id: I7b20aa0ac6cae3bf6c6969c63bf9ba98ab2831ff
isplayListRenderer.h
|
e4267ea4f20740c37c01bfb6aefcf61fddc4566a |
04-Jun-2014 |
John Reck <jreck@google.com> |
Even FASTER damage calculations! * Now with more native! * Less matrix math thanks to bulk-property-update support! * Zero JNI on the View.damageInParent() path! * Fully aware of RT-driven animators! * Likely full of new and exciting bugs! * But it also fixes at least 1 existing invalidate bug! Change-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f
ndroid.mk
amageAccumulator.cpp
amageAccumulator.h
eferredLayerUpdater.cpp
rawProfiler.cpp
rawProfiler.h
enderNode.cpp
enderNode.h
enderProperties.cpp
enderProperties.h
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
79c7de77a7da9cbcb9428ab6203987feb35a427f |
23-May-2014 |
John Reck <jreck@google.com> |
Have all the setters return changed Change-Id: Ie5e755058a7094bb0c2fce60ec3cef47c23823ce
nimator.h
enderProperties.h
|
982e28cafdf847c97d0e33d06c177d4aa927c6f1 |
03-Jun-2014 |
John Reck <jreck@google.com> |
Merge "Cleanup"
|
ce444ca4006cfe0e2151d858da732fc413a716bd |
03-Jun-2014 |
John Reck <jreck@google.com> |
Cleanup Change-Id: Ie366390272724a2c1dfda99b0e85806b7a612744
ndroid.mk
isplayListOp.h
|
776512d4b6a7c1b1b7893cde5bec1f3d65c0ea94 |
02-Jun-2014 |
John Reck <jreck@google.com> |
am feccbdc4: Merge "Add setStartValue to RNA" into lmp-preview-dev * commit 'feccbdc4d0bee3eb4c395bd93ba51cbc6616527a': Add setStartValue to RNA
|
c6b3264e16f1d2b72e7f9508559981ce9970157c |
02-Jun-2014 |
John Reck <jreck@google.com> |
Add setStartValue to RNA Bug: 15198607 Should be good-enough for Ripples to use for pseudo-chaining support. Change-Id: Ia8666928ccb69ae401cb583751632a52bd928b63
nimator.cpp
nimator.h
|
c6b6154ac1eb4e839f363115aef3649c967bcfdd |
30-May-2014 |
John Reck <jreck@google.com> |
am ea5af639: Merge "Re-jigger layers" into lmp-preview-dev * commit 'ea5af63965bf323580aa1e2854efb2f8cc3dc396': Re-jigger layers
|
d72e0a339b54af0c4e731513bbad120dff694723 |
30-May-2014 |
John Reck <jreck@google.com> |
Re-jigger layers Bug: 15185239 Bug: 15238382 Make DeferredLayerUpdater ref counted so that HardwareLayer:finalizer() works non-crashily on leaked layers Give DeferredLayerUpdater the ability to have a layer destroyer set so that leaked layers can still be recycled on the RenderThread Order layer updates based off of pushLayerUpdate() calls to fix issue with nested layers Change-Id: I4449cee607f7e5126e02fed7464cf48038e3dfdf
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
25e40de45f89490f03ca010a88d2265d9c901493 |
30-May-2014 |
Kenny Root <kroot@google.com> |
resolved conflicts for merge of b68f5f09 to master Change-Id: Ib8dd3a353f40a3357c8dc5ac591cd5e3ab4d0a4b
|
b68f5f0932511fb9975b7e04eebe48707af59e0a |
30-May-2014 |
Chris Craik <ccraik@android.com> |
am 4d31c547: am ce7fa780: Merge "Fix a resource race bug in PathCache" * commit '4d31c5474bcc4bcc6a6d8dfe232360dad701a3fc': Fix a resource race bug in PathCache
|
4d31c5474bcc4bcc6a6d8dfe232360dad701a3fc |
30-May-2014 |
Chris Craik <ccraik@android.com> |
am ce7fa780: Merge "Fix a resource race bug in PathCache" * commit 'ce7fa780cdee2730b570cc34066f15c74d44e6ef': Fix a resource race bug in PathCache
|
b2367cbf396f564cb6c66c0aaa51710ffa7bc052 |
30-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Update HWUI matrix API"
|
7061f7d7910fdf1189ea7bf1398f6cf8b9bd0104 |
27-May-2014 |
yuyang <yuyang@codeaurora.org> |
Fix a resource race bug in PathCache When enabled defer rendering, it will do precache for DrawPathOp. The paint used for creating PathTask in precache just get the address of mFilteredPaint of OpenGLRenderer. So for the following defer operation like DrawTextOp has possibility change the mFilteredPaint by getPaint while another WorkerThread in PathCache is using the paint which pointed to the same address of mFilteredPaint to generate bitmap. As a result, it will generate a wrong bitmap for generateTexture in PathCache. To fix it, do a copy of paint when creating PathTask. CRs-Fixed: 664244 Change-Id: I5516f5b143458b88d3573d15b7ebb34f688800c7
athCache.cpp
athCache.h
|
2cfc0e543f69750b4ccc9d5f52b384e525cf9e77 |
30-May-2014 |
John Reck <jreck@google.com> |
am 894bb170: Merge "Enable debug stuffs" into lmp-preview-dev * commit '894bb1701ae15b87af1e3bfe865fe191081cc806': Enable debug stuffs
|
2143fdba1c9bc22a7bd999be91db77a091666285 |
30-May-2014 |
John Reck <jreck@google.com> |
am b5797c9e: Merge "Re-enable atlas" into lmp-preview-dev * commit 'b5797c9eebd6407bd19526d4d4ed371be147b323': Re-enable atlas
|
aee470c0232afdac4256d13020fa0cf04f30395c |
30-May-2014 |
John Reck <jreck@google.com> |
Merge "Enable debug stuffs" into lmp-preview-dev
|
fe5e7b7346a54537b980796ceeca66bfdbd05561 |
24-May-2014 |
John Reck <jreck@google.com> |
Enable debug stuffs Bug: 14596762 * dumpsys gfxinfo implemented * profile GPU visual_bars implemented Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
ndroid.mk
rawProfiler.cpp
rawProfiler.h
roperties.h
enderNode.cpp
enderNode.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
c8affe0e1b1f3f63b12477f832a1a66019ac0df8 |
29-May-2014 |
John Reck <jreck@google.com> |
Re-enable atlas Bug: 14590563 Change-Id: I04ed5bf1b2654dab4a65c1e43faaeba32459870f
enderthread/CanvasContext.cpp
|
139088228faa7f3c446af7387e017933998a5570 |
10-Dec-2013 |
Derek Sollenberger <djsollen@google.com> |
Update HWUI matrix API 1. more closely mirror Skia API by using const ref instead of ptrs 2. store SkMatrix in the drawOp instead of the linear allocation heap Change-Id: I4b9f6f76b9f7d19325e29303d27b793679fd4823
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
enderer.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
81d29b5f0c8018f3cb49d2598322aa652a4417f2 |
28-May-2014 |
John Reck <jreck@google.com> |
am 2d196d9f: Merge "Implement FlushCaches TODO" into lmp-preview-dev * commit '2d196d9f9d4978fd0df80815e15012518be5ff18': Implement FlushCaches TODO
|
45d01929291eba56e1bce582192941446b86bf5a |
28-May-2014 |
John Reck <jreck@google.com> |
Merge "Implement FlushCaches TODO" into lmp-preview-dev
|
cd3a8245489fa36c528b075efe99a147cf4f6785 |
24-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "DO NOT MERGE Inspect SkShader to determine hw shader." into lmp-preview-dev
|
e1628b7c6fc3822fa83cf02028ce8ad67abb0afe |
24-May-2014 |
John Reck <jreck@google.com> |
Implement FlushCaches TODO Change-Id: Id05429e98ffe0858275b32c41fb215c1d8d930b2
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
d04d303e5d8521403514cf960a694e566df19536 |
23-May-2014 |
John Reck <jreck@google.com> |
resolved conflicts for merge of 1f6c973b to master Change-Id: I0d0a72f1d737fa80ac4c258c1f9fc52ef85724bd
|
a5dda645da738da7b4ae15e28fa7d93d3b04b94f |
23-May-2014 |
John Reck <jreck@google.com> |
Bag of scheduling tweaks Bug: 15118640 * Prevent over-stuffing the queue by dropping frames * Prevent double-drawing in one pulse by RT by deferring vsync registration until post-draw so that it catches the next vsync pulse instead of the current one * Bias vsync race condition towards the UI thread * Fix queueDelay to actually work Change-Id: Ibf584258bd93ebcbba058bd976dc8b307f1c6155
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
c33fb2b5c014f37ce36dbc12eff1e969562f7d50 |
23-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Pass the radius as a float deeper into HWUI allowing RS to generate more accurate blurs."
|
0fa2bd699ab5539c0ce6b79eb6b4b681734b8bb5 |
05-May-2014 |
Leon Scroggins III <scroggo@google.com> |
DO NOT MERGE Inspect SkShader to determine hw shader. cherry-pick of Iaa7189178bda1c55f96da044d2a9fa602ba36034 Instead of duplicating internal info about SkShader, inspect the SkShader installed on the SkPaint. core/java/android/view/GLES20Canvas.java: Remove setupModifiers, nResetModifiers, and nSetupShader. core/jni/android/graphics/Shader.cpp: Remove calls to create/destroy the (previously) attached SkiaShader. core/jni/android_view_GLES20Canvas.cpp: Remove native code for setupShader and resetModifiers. graphics/java/android/graphics/BitmapShader.java: graphics/java/android/graphics/ComposeShader.java: graphics/java/android/graphics/LinearGradient.java: graphics/java/android/graphics/RadialGradient.java: graphics/java/android/graphics/Shader.java: graphics/java/android/graphics/SweepGradient.java: Remove code keeping track of native SkiaShader. libs/hwui/Caches.h: Include Extensions.h. libs/hwui/DeferredDisplayList.cpp: Compare shaders on the paint, instead of on DrawModifiers. libs/hwui/DisplayList.cpp: libs/hwui/DisplayList.h: Remove vector of SkiaShaders. libs/hwui/DisplayListOp.h: Access the SkShader on mPaint. Remove SetupShaderOp and ResetShaderOp. libs/hwui/DisplayListRenderer.cpp: libs/hwui/DisplayListRenderer.h: Remove resetShader, setupShader, refShader, and mShaderMap. libs/hwui/FontRenderer.cpp: Pass SkShader to setupDrawShader and setupDrawShaderUniforms. libs/hwui/OpenGLRenderer.cpp: libs/hwui/OpenGLRenderer.h: Add LayerShader, a class inheriting from SkShader, to mimic the behavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on the SkPaint so it can be inspected later. Set a LayerShader instead of a SkiaLayerShader. setupDrawShader and setupDrawShaderUniforms now inspect an SkShader passed in. Inspect SkShader instead of mDrawModifiers.mShader. Remove resetShader and setupShader. setupDrawColorUniforms now takes a boolean indicating whether there is a shader. Add an inline function for accessing the SkShader on an SkPaint. In setupDrawBlending(Layer*, bool), do not check the shader (which will never be set), but do check whether the color filter may change the alpha (newly fixed behavior). In setupDrawBlending(SkPaint, ...), check the SkShader and whether the color filter affects alpha (the latter is new behavior). libs/hwui/Renderer.h: Remove pure virtual functions setupShader and resetShader. libs/hwui/ResourceCache.cpp: libs/hwui/ResourceCache.h: Remove functions for refing/unrefing shaders. libs/hwui/SkiaShader.cpp: libs/hwui/SkiaShader.h: Much of this code was redundant and has been removed. Convert structs into class with nothing but static functions for calling describe/setupProgram. libs/hwui/TextureCache.cpp: libs/hwui/TextureCache.h: Use the SkPixelRef as the key to the bitmap Lru cache, since shader inspection will provide a different SkBitmap pointer (though it will hold the correct SkPixelRef with the correct generation ID). tests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java: tests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java: Update manual test to have more shaders: radial, sweep, compose, invalid compose. BUG:10650594 Change-Id: I2e7182b3fc28268e7ca82fac6780540b6b45365c
aches.h
eferredDisplayList.cpp
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
enderer.h
esourceCache.cpp
esourceCache.h
kiaShader.cpp
kiaShader.h
extureCache.cpp
extureCache.h
|
d490aa426090fc358873821b47ef27ead0c97409 |
23-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Inspect SkShader to determine hw shader."
|
d1ad5e62fda248c6d185cde3cb6d9f01a223066c |
05-May-2014 |
Leon Scroggins III <scroggo@google.com> |
Inspect SkShader to determine hw shader. Instead of duplicating internal info about SkShader, inspect the SkShader installed on the SkPaint. core/java/android/view/GLES20Canvas.java: Remove setupModifiers, nResetModifiers, and nSetupShader. core/jni/android/graphics/Shader.cpp: Remove calls to create/destroy the (previously) attached SkiaShader. core/jni/android_view_GLES20Canvas.cpp: Remove native code for setupShader and resetModifiers. graphics/java/android/graphics/BitmapShader.java: graphics/java/android/graphics/ComposeShader.java: graphics/java/android/graphics/LinearGradient.java: graphics/java/android/graphics/RadialGradient.java: graphics/java/android/graphics/Shader.java: graphics/java/android/graphics/SweepGradient.java: Remove code keeping track of native SkiaShader. libs/hwui/Caches.h: Include Extensions.h. libs/hwui/DeferredDisplayList.cpp: Compare shaders on the paint, instead of on DrawModifiers. libs/hwui/DisplayList.cpp: libs/hwui/DisplayList.h: Remove vector of SkiaShaders. libs/hwui/DisplayListOp.h: Access the SkShader on mPaint. Remove SetupShaderOp and ResetShaderOp. libs/hwui/DisplayListRenderer.cpp: libs/hwui/DisplayListRenderer.h: Remove resetShader, setupShader, refShader, and mShaderMap. libs/hwui/FontRenderer.cpp: Pass SkShader to setupDrawShader and setupDrawShaderUniforms. libs/hwui/OpenGLRenderer.cpp: libs/hwui/OpenGLRenderer.h: Add LayerShader, a class inheriting from SkShader, to mimic the behavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on the SkPaint so it can be inspected later. Set a LayerShader instead of a SkiaLayerShader. setupDrawShader and setupDrawShaderUniforms now inspect an SkShader passed in. Inspect SkShader instead of mDrawModifiers.mShader. Remove resetShader and setupShader. setupDrawColorUniforms now takes a boolean indicating whether there is a shader. Add an inline function for accessing the SkShader on an SkPaint. In setupDrawBlending(Layer*, bool), do not check the shader (which will never be set), but do check whether the color filter may change the alpha (newly fixed behavior). In setupDrawBlending(SkPaint, ...), check the SkShader and whether the color filter affects alpha (the latter is new behavior). libs/hwui/Renderer.h: Remove pure virtual functions setupShader and resetShader. libs/hwui/ResourceCache.cpp: libs/hwui/ResourceCache.h: Remove functions for refing/unrefing shaders. libs/hwui/SkiaShader.cpp: libs/hwui/SkiaShader.h: Much of this code was redundant and has been removed. Convert structs into class with nothing but static functions for calling describe/setupProgram. libs/hwui/TextureCache.cpp: libs/hwui/TextureCache.h: Use the SkPixelRef as the key to the bitmap Lru cache, since shader inspection will provide a different SkBitmap pointer (though it will hold the correct SkPixelRef with the correct generation ID). tests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java: tests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java: Update manual test to have more shaders: radial, sweep, compose, invalid compose. BUG:10650594 Change-Id: Iaa7189178bda1c55f96da044d2a9fa602ba36034
aches.h
eferredDisplayList.cpp
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
enderer.h
esourceCache.cpp
esourceCache.h
kiaShader.cpp
kiaShader.h
extureCache.cpp
extureCache.h
|
b8fe2fcd71e438b5ea6a85b1e2024ca9dc62b9d1 |
22-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Define light position (using new lighting spec) in Java"
|
797b95b26bbb7557678af78b9a2a61830158920f |
21-May-2014 |
Chris Craik <ccraik@google.com> |
Define light position (using new lighting spec) in Java Also updates the relative shadow strengths. Change-Id: I6cac7275d38df98aea9f0dda463cd7207102986a
aches.cpp
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
hadowTessellator.cpp
hadowTessellator.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
61317325b7b4b4ffafd9400ab5966e8d7c67df2e |
21-May-2014 |
Chris Craik <ccraik@google.com> |
Disable shadow drawing for empty/null outlines Change-Id: I60d0f326cfab97d88c49d17cf32e619b5e60b94a
isplayListOp.h
utline.h
enderNode.cpp
|
e392c81f6b8f9ace0c0a48c9d4df117fda31fd13 |
21-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Pass the radius as a float deeper into HWUI allowing RS to generate more accurate blurs. Also, when converting radius to an integer value snap to the appropriate integer boundaries. bug: 10650594 Change-Id: Icca4bc17d88162bbcbc6035d4f81bd1d98a4de2d
ontRenderer.cpp
ontRenderer.h
tils/Blur.cpp
tils/Blur.h
|
f2985ba3f41c4619f7b64797d07e3a008e17b20a |
19-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Correct viewport initialization, bounds comparison"
|
50b843883d6906b74ba14ddde285ee8716a23782 |
19-May-2014 |
Chris Craik <ccraik@android.com> |
am 3c769ec0: am 00fabcbe: am b1708e9b: Merge "Use alpha channel instead of red in drawCachedGlyphBitmap" * commit '3c769ec02b8b82bec4dec2169bf76af58be94a9a': Use alpha channel instead of red in drawCachedGlyphBitmap
|
3c769ec02b8b82bec4dec2169bf76af58be94a9a |
19-May-2014 |
Chris Craik <ccraik@android.com> |
am 00fabcbe: am b1708e9b: Merge "Use alpha channel instead of red in drawCachedGlyphBitmap" * commit '00fabcbeb035fb513293ea01d245002f40b3234f': Use alpha channel instead of red in drawCachedGlyphBitmap
|
00fabcbeb035fb513293ea01d245002f40b3234f |
19-May-2014 |
Chris Craik <ccraik@android.com> |
am b1708e9b: Merge "Use alpha channel instead of red in drawCachedGlyphBitmap" * commit 'b1708e9b764268a06d91219a5c39ee9efd32ab00': Use alpha channel instead of red in drawCachedGlyphBitmap
|
1a49868fd82f8975da5685fdb6ca3cc83a99bdf5 |
18-May-2014 |
Ben Cheng <bccheng@google.com> |
Use default visibility for Snapshot::getLocalClip (attempt #2). The change appeared to be dropped. See commit 65ba94f79d6e737c3e66c09032221999b2eb50d7 for details. Change-Id: Ib60968d6327ef04d21e4adca2c394f66343f204b
napshot.h
|
ad2f8e334f3ef22d3e412b0660a2e1f996f94116 |
16-May-2014 |
Alan Viverette <alanv@google.com> |
Update ripple behavior, use render thread animation Change-Id: Ib6bc1e08b05d29606f452961963d58b8fc866746
nimator.cpp
nimator.h
|
c9ee304c91b5572f0c1cd95e9bd1e4a84e28587d |
16-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Round rect outline clipping"
|
deeda3d337aed1eee218b89a7aba5992ced371f0 |
06-May-2014 |
Chris Craik <ccraik@google.com> |
Round rect outline clipping Change-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b
eferredDisplayList.cpp
eferredDisplayList.h
penGLRenderer.cpp
penGLRenderer.h
utline.h
rogram.h
rogramCache.cpp
ect.h
enderNode.cpp
napshot.cpp
napshot.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
tils/MathUtils.h
|
924197513aa2df4c1fb2977c1727f5d2c21f2689 |
15-May-2014 |
Chris Craik <ccraik@google.com> |
Correct viewport initialization, bounds comparison Change-Id: Ibd751856e3712991e149800ed179464397dad7c3
penGLRenderer.cpp
napshot.h
|
ff941dcd815021bb20d6504eb486acb1e50592c3 |
15-May-2014 |
John Reck <jreck@google.com> |
Animator start value... Change-Id: Ifd35ed95a28c625086d7fa97764fe63ab4a997f1
nimator.cpp
nimator.h
enderNode.cpp
enderNode.h
reeInfo.h
|
c62c1cc17ded117433d23ba5dd6c364b05fbcdbd |
12-May-2014 |
Digish Pandya <digishp@codeaurora.org> |
Use alpha channel instead of red in drawCachedGlyphBitmap the correct value to copy in bitmap is alpha component from the cachebuffer. currently it is offset to red channel if format is RGBA which is wrong. this is followup fix for https://android-review.googlesource.com/#/c/93943/ Change-Id: I96b5ba35df5ccaef44caf2542d35d6585ba1df80 Signed-off-by: Digish Pandya <digishp@codeaurora.org>
ixelBuffer.h
ont/Font.cpp
|
fe4c1e225d147fe9cb5d7c121b7d6d11a312844e |
15-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Combine projection matrix, and viewport management"
|
96f266ee5ddb372eb3f5ac1200730d9403848907 |
15-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Remove Path based outline clipping"
|
2bcad176757386d906157bb898167fbcebe9f55e |
15-May-2014 |
Chris Craik <ccraik@google.com> |
Remove Path based outline clipping Change-Id: Ic5ccd98a7517b46e768e53d6b0c8fdcda305fb2c
enderNode.cpp
enderProperties.cpp
enderProperties.h
|
a64a2bef1048db5a742843f1e3bea9e80d0defc5 |
14-May-2014 |
Chris Craik <ccraik@google.com> |
Combine projection matrix, and viewport management Merge management of ortho projection matrix with the viewport size, since they should always be changed together. Change-Id: Iccb8f30828f4fb7848999ac54852e7ed2d6f2eb1
isplayListRenderer.cpp
ayer.cpp
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
3eb9882a67167141817faef6556c0393fa6bab72 |
15-May-2014 |
John Reck <jreck@google.com> |
Merge "Disable texture atlas"
|
cdfeef6624613ca06fe8a7edfb92608afb0499ee |
15-May-2014 |
John Reck <jreck@google.com> |
Disable texture atlas Bug: 14952384 Change-Id: If38b3e4c08c2c3dd9c00ae9e6e8c10e208e737d1
enderthread/CanvasContext.cpp
|
a6464b38fc3c807abbce0cb4e7b542b2dd34111c |
15-May-2014 |
ztenghui <ztenghui@google.com> |
Merge "Check the array before accessing it"
|
f11310f395a135ac7ef204ced5b3d3facf491422 |
14-May-2014 |
ztenghui <ztenghui@google.com> |
Check the array before accessing it TODO: Figure out why the path is generating empty polygon. bug: 14615368 Change-Id: If116e34388b7c6a71bf5ddd36e0c9716d7450732
hadowTessellator.cpp
|
bee74c2b479153bb6a4b9e03f068658042a5fdfc |
13-May-2014 |
John Reck <jreck@google.com> |
Merge "Clamp to uint8 for alpha"
|
66f0be65a1046f54ddce0498b242c1fa0776b1ea |
13-May-2014 |
John Reck <jreck@google.com> |
Wire up texture atlas Bug: 14590563 Change-Id: I2dffbc089dc801f5fb2d1c8fd38e1c71d160e110
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
|
531ee701ddca2d1604fcce8e5d6d8837a3f651ac |
13-May-2014 |
John Reck <jreck@google.com> |
Clamp to uint8 for alpha Change-Id: Id3e51671297bfb879969ad2fe7a5741dd4cf4c29
nimator.cpp
|
c8ac775659fd252ce2cc9a61837c170ff70f0a1a |
13-May-2014 |
John Reck <jreck@google.com> |
More native interpolators Gotta collect 'em all Change-Id: I3ccc2b5c842b27b906c8a0470fbedc2bf285bc38
nterpolator.cpp
nterpolator.h
|
315c329544d7c593d1072b071cbb92d9afe74021 |
10-May-2014 |
John Reck <jreck@google.com> |
Add TimeInterpolator support to RNA Bug: 14678626 Change-Id: I6554e7fcd42c49fac3618ca792083bb68e358f55
nimator.h
nterpolator.cpp
nterpolator.h
tils/MathUtils.h
|
ddc52285ca6fd147f442a21e90e0e4702a10d304 |
11-May-2014 |
Jorim Jaggi <jjaggi@google.com> |
Revert "Simplify projection matrix management." This reverts commit 0efaa71d5414287ed4beac0a88cf76f7e33a1e74.
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
|
2417f7e08ccdcb5bb0383de1aa6a0098ca98356c |
10-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Simplify projection matrix management."
|
c42bfb95c6b7166b7916057af9df6e20d8c4c8ef |
10-May-2014 |
John Reck <jreck@google.com> |
Merge "Refactor VirtualLightRefBase & JNI"
|
0c0ec26366045e515790a6acdab782965efc63b4 |
10-May-2014 |
Chris Craik <ccraik@google.com> |
Simplify projection matrix management. Store in and use from snapshot, and remove the kFlagOrthoDirty flag, as it's redundant with kFlagIsFboLayer. Change-Id: I2bd380192d50117f4ce1fd2058213669a886f406
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
|
9fa4071c4768c63902c6a74a4b480b51a8b95d43 |
10-May-2014 |
John Reck <jreck@google.com> |
Refactor VirtualLightRefBase & JNI Change-Id: I8e244e7109e59d5be96871b23bb9b1201c7f9eaa
nimator.h
anvasProperty.h
isplayList.h
enderNode.h
tils/VirtualLightRefBase.h
|
f9075798d7de2c23f67987d55ac1e4412de8265f |
10-May-2014 |
Chris Craik <ccraik@android.com> |
am 90eaf92e: am 7e13d1d4: am f6c9c420: Merge "Correct stride for drawing to cached glyph bitmap" * commit '90eaf92e325457ccb30286879a2f92b7ba517c7d': Correct stride for drawing to cached glyph bitmap
|
90eaf92e325457ccb30286879a2f92b7ba517c7d |
09-May-2014 |
Chris Craik <ccraik@android.com> |
am 7e13d1d4: am f6c9c420: Merge "Correct stride for drawing to cached glyph bitmap" * commit '7e13d1d4a46a01ebaa412d622ef76d90bd39d12a': Correct stride for drawing to cached glyph bitmap
|
7e13d1d4a46a01ebaa412d622ef76d90bd39d12a |
09-May-2014 |
Chris Craik <ccraik@android.com> |
am f6c9c420: Merge "Correct stride for drawing to cached glyph bitmap" * commit 'f6c9c4204c2f8f86277d081112c9dd863ddaa778': Correct stride for drawing to cached glyph bitmap
|
e1f788b3e216329c570929eb4526332ae0db14d1 |
09-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Rename matrices for consistency"
|
b9312a54e49f2f0e35bf65f91d796eeb3a6084bc |
09-May-2014 |
Digish Pandya <digishp@codeaurora.org> |
Correct stride for drawing to cached glyph bitmap fixes the glyph cachebuffer index to account for pixelbuffer format size. issue: in launcher home screen create icon group and rename the group to some text string with emo-icons (smilies). without this change the drop shadows for emo-icons will look bad. Change-Id: I525a9219d35f4541363fd64e7fc5fd1053269725 Signed-off-by: Digish Pandya <digishp@codeaurora.org>
ont/Font.cpp
|
e10e827ed68b0a9487cf8dd1fc545f9a09517ae9 |
08-May-2014 |
Chris Craik <ccraik@google.com> |
Rename matrices for consistency The projection matrix no longer contains viewing transformation, and has thus been renamed. Change-Id: I4f85ccdac97f4cb4f987bb05c389816680f1c94f
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
e4aa95e3627226bcb0d8cc3e42dca6e4df8f421c |
08-May-2014 |
Chris Craik <ccraik@google.com> |
Add logging utility methods Change-Id: I0f316830dcc0bbf438292a6d0fbe9f8154368500
ndroid.mk
atrix.cpp
atrix.h
penGLRenderer.cpp
ect.h
napshot.cpp
tils/GLUtils.cpp
tils/GLUtils.h
tils/MathUtils.h
|
5b554f010358d8f47e31d92a42aa3edc4a71ec47 |
08-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Avoid caching shadow properties in Java & HWUI."
|
ef27453cf71e331e4076df5e5c665b06d5c3e050 |
07-May-2014 |
John Reck <jreck@google.com> |
Merge "Cleanup attachFunctor"
|
832b151465ed81c43e59891d5eebe62128b21fbb |
07-May-2014 |
John Reck <jreck@google.com> |
Cleanup attachFunctor Bug: 13961296 Change-Id: Id48d11bfcc234afd1fd7e4fdd409a50e7208c81d
penGLRenderer.cpp
penGLRenderer.h
enderthread/CanvasContext.cpp
|
b6d9211d31d29221501a8f2a33e6ba0fe18d6ef5 |
07-May-2014 |
John Reck <jreck@google.com> |
Merge "Implement TODO(romainguy)"
|
63a06673253914510bbeebd500655008682dade1 |
07-May-2014 |
John Reck <jreck@google.com> |
Implement TODO(romainguy) Bug: 14277445 Change-Id: Id52d6f7fcc023000adcc440bd4da67d9a673536b
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
368cdd85268999997fb495cf90c4417221797de0 |
07-May-2014 |
John Reck <jreck@google.com> |
Don't try to draw if there's no canvas or surface Bug: 14616376 doFrame() can happen after the canvas or surface is destroyed, handle it gracefully Change-Id: Ibbbbdbfa77fa2134bd2abc215ca1a0886d706969
enderthread/CanvasContext.cpp
|
c29a0a4664a4b9871fadd668b632469a0db240b9 |
31-Mar-2014 |
Derek Sollenberger <djsollen@google.com> |
Avoid caching shadow properties in Java & HWUI. bug: 10650594 Change-Id: I6f57df002710bb0567ed7e53fc0bfe96cfd504b8
eferredDisplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
tils/Blur.cpp
tils/Blur.h
|
ebb9e69513b690881a5bad7bf45c6f32e0fc7062 |
06-May-2014 |
John Reck <jreck@google.com> |
Merge "Implement loadSystemProperties"
|
e4280baaa709c74d86cf6a389a4674ca665f5af6 |
06-May-2014 |
John Reck <jreck@google.com> |
Implement loadSystemProperties Bug: 14087580 Change-Id: I7153f38c70b554a78c56a0e794da929fc401ee7a
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
81997fef183074728b8981fd8e858b82ec70ed27 |
05-May-2014 |
Chris Craik <ccraik@google.com> |
am 3cb74d21: am 5d8343b8: am a85db5ab: Merge "libhwui: Handle the blurImage() implement once RS::init fail" * commit '3cb74d21b2ac2427e805f72a113e8d7a2cc460f3': libhwui: Handle the blurImage() implement once RS::init fail
|
3cb74d21b2ac2427e805f72a113e8d7a2cc460f3 |
05-May-2014 |
Chris Craik <ccraik@google.com> |
am 5d8343b8: am a85db5ab: Merge "libhwui: Handle the blurImage() implement once RS::init fail" * commit '5d8343b8e27e766b5bfaaed2f9b1952c0d15da8d': libhwui: Handle the blurImage() implement once RS::init fail
|
5d8343b8e27e766b5bfaaed2f9b1952c0d15da8d |
05-May-2014 |
Chris Craik <ccraik@google.com> |
am a85db5ab: Merge "libhwui: Handle the blurImage() implement once RS::init fail" * commit 'a85db5ab785c59726c3644999801e48f449714f3': libhwui: Handle the blurImage() implement once RS::init fail
|
a85db5ab785c59726c3644999801e48f449714f3 |
05-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "libhwui: Handle the blurImage() implement once RS::init fail"
|
f9be77940e365036fecd8cc0e491e8545c34e79b |
03-May-2014 |
John Reck <jreck@google.com> |
Make RenderNodeAnimator and WebView play nice Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
enderNode.cpp
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
18f16e6fba74eda173e1e7c869e6e2e2acc073ff |
03-May-2014 |
John Reck <jreck@google.com> |
TIME LORD! Bug: 14444180 Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
ndroid.mk
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
enderthread/TimeLord.cpp
enderthread/TimeLord.h
|
52244fff29042926e21fa897ef5ab11148e35299 |
02-May-2014 |
John Reck <jreck@google.com> |
Add CanvasProperty for drawCircle Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
nimator.cpp
nimator.h
anvasProperty.h
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.h
enderNode.cpp
enderNode.h
reeInfo.h
enderthread/DrawFrameTask.cpp
tils/Macros.h
|
64ab917e5eb3269c72c795781a512d4ee7d9d7a4 |
01-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add more shadow control knobs"
|
f5be3ca5cc5b3a10747b577f60059a99862bb9a8 |
01-May-2014 |
Chris Craik <ccraik@google.com> |
Add more shadow control knobs Change-Id: I1ff500bf429029a97b681ced9df652f4ee9f1332
aches.cpp
aches.h
penGLRenderer.cpp
hadowTessellator.cpp
hadowTessellator.h
|
52622668f91c69ec718b356d2e0f8555fc88435f |
30-Apr-2014 |
John Reck <jreck@google.com> |
Use resize, not reserve Reserve ensures the underlying buffer is the correct size, but iterating across it is not necessarily valid. Use resize() instead to ensure that the iterator access is valid Change-Id: I35ff5f4416bb94cf4ce2c6acf72ffd17ab3e523a
enderNode.cpp
|
293513a59d36cd96a3e474dde5981380d372d8c9 |
30-Apr-2014 |
Bill Yi <byi@google.com> |
Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD
|
25ff2c1ec1b0a3e33710fcf6777abd0fed809877 |
29-Apr-2014 |
John Reck <jreck@google.com> |
Merge "RenderThread animator support"
|
e45b1fd03b524d2b57cc6c222d89076a31a08bea |
15-Apr-2014 |
John Reck <jreck@google.com> |
RenderThread animator support Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
ndroid.mk
nimator.cpp
nimator.h
nterpolator.cpp
nterpolator.h
enderNode.cpp
enderNode.h
enderProperties.cpp
enderProperties.h
reeInfo.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
0d575b084fe5a691c2a99163515de0dc54f66e18 |
29-Apr-2014 |
ztenghui <ztenghui@google.com> |
Merge "Make sure the theta is correctly represented and incoming polygon is CW for shadow."
|
2e023f3827dfc0dfc1ed7c3dd54d02b4a993f0b4 |
29-Apr-2014 |
ztenghui <ztenghui@google.com> |
Make sure the theta is correctly represented and incoming polygon is CW for shadow. Now the theta = 0 should be on +x axis. And cos(theta) should correctly represent x value. Without this fix, the poly theta (from atan2) can be wrongly rotated 90 degrees. Also, make sure the incoming polygon is CW for the shadow system. This fix visual artifacts in recent regression for spot shadows. bug:13553955 Change-Id: I9bbf54db094e7f133326da4dae4610962da849c1
mbientShadow.cpp
penGLRenderer.cpp
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
|
cc39e16cb98855f35079941b5e7e6eac2b7bc388 |
26-Apr-2014 |
Chris Craik <ccraik@google.com> |
Add elevation, Z properties to View Change-Id: I3dd3b683a66e248a0fdf2ca69d1e962615b0daf9
enderNode.cpp
enderProperties.cpp
enderProperties.h
tils/MathUtils.h
|
ea42e015277687cef168f960252b9d7596ff1160 |
14-Nov-2013 |
Lu, Shenghua <shenghua.lu@intel.com> |
libhwui: Handle the blurImage() implement once RS::init fail Once the RS::init failed, go through the original single thread path, this will avoid blocking the main thread(ANR), but we also should have some implement in RenderScript component. Change-Id: I3a21395ffd5bc144c15254893f425b1dd2643ba4 Signed-off-by: Shenghua Lu <shenghua.lu@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com>
ontRenderer.cpp
|
d2cd53d4e525d6cd5e5ff261274f4969e2e8f3fd |
24-Apr-2014 |
ztenghui <ztenghui@google.com> |
Merge "Shoot the rays to the vertices of the incoming polygon."
|
7940dc57e3ffcf9c4a33375215f3a42250fa896c |
22-Apr-2014 |
ztenghui <ztenghui@google.com> |
Shoot the rays to the vertices of the incoming polygon. bug:13553955 Change-Id: I4825a49e8eaab969c40f2ee4086f7669c9c6fd29
mbientShadow.cpp
mbientShadow.h
hadowTessellator.h
|
717f39c7d98c7e4b08f7bb88102c720cb8990004 |
24-Apr-2014 |
Chris Craik <ccraik@google.com> |
Merge "Clip TouchFeedbackDrawable effect to receiver Outline"
|
3f085429fd47ebd32ac2463b3eae2a5a6c17be25 |
16-Apr-2014 |
Chris Craik <ccraik@google.com> |
Clip TouchFeedbackDrawable effect to receiver Outline Projected RenderNodes are now wrapped with a ClipRect or masked SaveLayer, so that they are clipped to the outline of the projection receiver surface. Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
isplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
enderNode.cpp
enderNode.h
enderer.h
kiaShader.cpp
kiaShader.h
napshot.h
tatefulBaseRenderer.h
|
e0bb87d4bdbd3b08ab6a8569c8e564ed59b8a5a7 |
23-Apr-2014 |
Chris Craik <ccraik@google.com> |
Fix translationZ matrix computation bug:14259972 Ensure that translationZ is applied for true3dTransform property transformations, even if the node doesn't have any other transformation properties set. Additionally, use fuzzy compare for translationZ, similar to rotationX/Y, since they're expenive to leave set in rounding error cases. Change-Id: Idafa4423cc7751a8f433237b1f576aa7abb74f6e
enderNode.cpp
enderProperties.cpp
tils/MathUtils.h
|
2c423b22b42269c0652dff4155707cec823fbfc1 |
23-Apr-2014 |
Victoria Lease <violets@google.com> |
am df64ac68: ask skia to use flat gamma when rendering fonts from hwui * commit 'df64ac688d400c74438db091952d236fffd5f778': ask skia to use flat gamma when rendering fonts from hwui
|
df64ac688d400c74438db091952d236fffd5f778 |
23-Apr-2014 |
Victoria Lease <violets@google.com> |
ask skia to use flat gamma when rendering fonts from hwui Bug: 13748392 Change-Id: I6930629b8e900628f15354f663b86dfb29a4db78 (cherry picked from commit b66270eac288de53207e55d10879b070a0ec8b6b)
ont/Font.cpp
ont/Font.h
|
b78263d37690a6a5cb12dd31d82ad2e140b3dfc7 |
23-Apr-2014 |
Victoria Lease <violets@google.com> |
Merge "ask skia to use flat gamma when rendering fonts from hwui"
|
b66270eac288de53207e55d10879b070a0ec8b6b |
23-Apr-2014 |
Victoria Lease <violets@google.com> |
ask skia to use flat gamma when rendering fonts from hwui Bug: 13748392 Change-Id: I6930629b8e900628f15354f663b86dfb29a4db78
ont/Font.cpp
ont/Font.h
|
222f33178b1547b70350ead660070eb01e56eac2 |
22-Apr-2014 |
Chris Craik <ccraik@google.com> |
Fix is_zero check Fixes x/y rotations which were incorrectly disabled due to this check. Change-Id: Ie8a7c8904c729a91b18243323b0be6110e743137
enderProperties.cpp
|
dbc9a86d05e5e835051de22f6cb30ec1921e9705 |
18-Apr-2014 |
John Reck <jreck@google.com> |
Force a full redraw on surface change Bug: 13913604 Change-Id: Ie90c7ee74cf83358e19d8b4f0bae078540a93a8d
enderthread/CanvasContext.cpp
|
6f07a0dc875a9eac67312085a8e0133b9e2f4771 |
17-Apr-2014 |
John Reck <jreck@google.com> |
Add missing resume() call Bug: 14087850 Change-Id: Ic555ca6027e617c7ed6e7e66b5cf713c36ed1c6c
enderthread/CanvasContext.cpp
|
e8a866d4a41daa43e394505e12503b32c2d929e4 |
14-Apr-2014 |
John Reck <jreck@google.com> |
Merge "Fix issue with bitmap uploading"
|
860d155f866cc15a725e7ce03763280987f24901 |
12-Apr-2014 |
John Reck <jreck@google.com> |
Fix issue with bitmap uploading Bug: 13912749 Change-Id: Ic23fa1d280118dc93dc2716a4a24cc0bbbdca595
eferredLayerUpdater.cpp
eferredLayerUpdater.h
isplayListOp.h
enderNode.cpp
enderNode.h
exture.cpp
exture.h
extureCache.cpp
extureCache.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
|
fae904d63947fe1687d1d44be29234cc3d538f24 |
14-Apr-2014 |
John Reck <jreck@google.com> |
Fence on destruction Bug: 14052927 destroyCanvasAndSurface() needs a fence as when it returns the underlying BufferQueue is going to be released from under the render thread. Change-Id: I0147a1d5ec5adf0239c761ef22f65cd8c8a137df
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
286ffe4b28d2c004ce98f7ddb3a5f34441ab0d80 |
12-Apr-2014 |
Chris Craik <ccraik@google.com> |
Merge "Remove use-after-free signal in RenderNode"
|
dd35634cb0059b4b745161eb80234d8e8da38033 |
12-Apr-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix BitmapMesh buffer copy"
|
143912fef8eff58146705849a0ba441ab6163409 |
11-Apr-2014 |
Chris Craik <ccraik@google.com> |
Remove use-after-free signal in RenderNode bug:9321162 mDestroyed is no longer useful, as RenderNode is ref counted (not to mention having its lifecycle significantly redesigned). Change-Id: I429b9dd7740362c85d6416fbae567f0d47098e4e
enderNode.cpp
enderNode.h
|
0664fef9e2a36025b3fad85b57b4d10617b4d66e |
11-Apr-2014 |
Chris Craik <ccraik@google.com> |
Fix BitmapMesh buffer copy Change-Id: I7c1a3651c7d91d7ff37ecbe18d974fa8cb1cf415
isplayListRenderer.cpp
|
f7483e3af0513a1baa8341d403df2e0c0896a9ff |
11-Apr-2014 |
John Reck <jreck@google.com> |
Simplify matrix calculations Bug: 13913604 Change-Id: I2c0f85a34e1e520050a5a6131306d6b7c352d827
enderNode.cpp
enderProperties.cpp
enderProperties.h
|
822bbb382fa6b6c8d1b45770e27c2c2732a7afb7 |
11-Apr-2014 |
John Reck <jreck@google.com> |
Merge "Make attachFunctor blocking"
|
d3d8dafc2f61fb118c060720b52684c59303f3db |
11-Apr-2014 |
John Reck <jreck@google.com> |
Make attachFunctor blocking Bug: 13930200 Change-Id: I9b0cf92fd16bb30baa09b6f8d7ae22a8b2a7fd80
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
8ca3eecc2b7fe507d3482745efc4cd2567ad15a1 |
10-Apr-2014 |
John Reck <jreck@google.com> |
Remove sync flush Bug: 13952590 It was attempting to flush state changes after the canvas was destroyed, which caused layer updates to crash. Due to the removal of SetDisplayListData, the sync mode isn't able to do anything ever, so remove it. Change-Id: I1e18ce288d81fd47cc6e612afda9476f75ecef2e
eferredLayerUpdater.cpp
enderthread/CanvasContext.cpp
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
|
f4198b713e43c0c0f9adac74203cf24c2a49b802 |
10-Apr-2014 |
John Reck <jreck@google.com> |
Merge hasFunctors & pushStaging into prepareTree Bug: 13902607 Fixes synchronous mode for WebView in HardwareLayers Change-Id: I90de1e26dcfd9b75cc2f03bac72705fc23237b68
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderNode.cpp
enderNode.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
|
8e1f918738abf70a4dc86dbb12b386a9deea37f8 |
10-Apr-2014 |
John Reck <jreck@google.com> |
Merge "Switch DisplayListData to a staging model"
|
8de65a8e05285df52a1e6f0c1d5616dd233298a7 |
10-Apr-2014 |
John Reck <jreck@google.com> |
Switch DisplayListData to a staging model Bug: 13912977 Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
eferredLayerUpdater.cpp
penGLRenderer.cpp
enderNode.cpp
enderNode.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
972d0488a555ff65a9e18655795e65e4b5365175 |
09-Apr-2014 |
Chris Craik <ccraik@google.com> |
Merge "When recording a child node into a parent, read staging projection property"
|
f7d9c1dc84671d4e99657ef071d275700d85bb11 |
09-Apr-2014 |
John Reck <jreck@google.com> |
Fix ThreadedRenderer.setEnabled() Bug: 13914116 Fixes lifecycle issues around setEnabled where ThreadedRenderer was reporting as being enabled before it had a Surface. This is incorrect. Also fix some EGL lifecycle issues Change-Id: I12ebb279707f9b533a570b61d68735d858b560bf
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
defb7f37fe67ef2389666f7adc5da1260df87017 |
09-Apr-2014 |
Chris Craik <ccraik@google.com> |
When recording a child node into a parent, read staging projection property bug:13770920 The other properties should not be read from the UI thread. Change-Id: I61d13774553d46a8963623727d8e8eeeb3385cc9
isplayListRenderer.cpp
enderNode.h
|
1949e7928eeec22cd3f74b5f763a4eb433238453 |
09-Apr-2014 |
John Reck <jreck@google.com> |
Ensure there's a GL context before creating a Layer Bug: 13745587 Change-Id: Ib0ec059d9a5974a48734daeec9d83580cada94a3
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
|
e2c455264351964bf1ae78da2256c17258f0d3ea |
08-Apr-2014 |
John Reck <jreck@google.com> |
Veto pool TODO Change-Id: I50067dba630b75aa539e4406cfc15f66949684b3
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
85189c5dafb08f051c7024f42ceedcbcf5dbbc7c |
08-Apr-2014 |
John Reck <jreck@google.com> |
Merge "Fence on draws that are reported"
|
28ad7b52e038ef0cdd89f753d9839444a434b299 |
08-Apr-2014 |
John Reck <jreck@google.com> |
Fence on draws that are reported Change-Id: Ib2ec16cbda40f40df1710bdc868869ea8301f17e
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
087bc0c14bdccf7c258dce0cdef46a69a839b427 |
05-Apr-2014 |
John Reck <jreck@google.com> |
Refcount RenderNode Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
aches.cpp
aches.h
eferredLayerUpdater.cpp
eferredLayerUpdater.h
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
ayer.cpp
ayer.h
penGLRenderer.cpp
enderNode.cpp
enderNode.h
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
tils/VirtualLightRefBase.h
|
49e6c73913e9bee58ea5e3984be151ee8e033163 |
31-Mar-2014 |
Chris Craik <ccraik@google.com> |
Move most TransformationInfo properties to RenderNode This change dedupes the various properties that were represented both in TransformationInfo, and RenderProperties on the native side. RenderNode (and its associated properties) are now permanently attached to a View in SW or HW. The native copy of these properties are their sole representation. Alpha to come in a later CL. Also fixed issue with copying RenderNode's transform, and added support of deleting RenderNodes in software rendering. Change-Id: Ideb6e7f32b780e87aa1c32637c368356b3eee3a1
enderNode.cpp
enderProperties.cpp
enderProperties.h
|
0e2806b171f135de35153a106d18d86646f4d1c0 |
02-Apr-2014 |
Ben Cheng <bccheng@google.com> |
am 3399ec31: am b386bfd7: am 89dddcc9: Merge "Use default visibility for Snapshot::getLocalClip." * commit '3399ec317d8a318ca384036bc6fecf4656f1f118': Use default visibility for Snapshot::getLocalClip.
|
3399ec317d8a318ca384036bc6fecf4656f1f118 |
02-Apr-2014 |
Ben Cheng <bccheng@google.com> |
am b386bfd7: am 89dddcc9: Merge "Use default visibility for Snapshot::getLocalClip." * commit 'b386bfd791d77e24bcfe3261420f82b0a9d3851d': Use default visibility for Snapshot::getLocalClip.
|
b386bfd791d77e24bcfe3261420f82b0a9d3851d |
02-Apr-2014 |
Ben Cheng <bccheng@google.com> |
am 89dddcc9: Merge "Use default visibility for Snapshot::getLocalClip." * commit '89dddcc948cb3e826bfddeefae73066849aba0fc': Use default visibility for Snapshot::getLocalClip.
|
65ba94f79d6e737c3e66c09032221999b2eb50d7 |
02-Apr-2014 |
Ben Cheng <bccheng@google.com> |
Use default visibility for Snapshot::getLocalClip. The method is in libhwui.so but used by libandroid_runtime.so (via android_view_GLES20Canvas.cpp). If the compiler decides not to inline this method, the linker won't be able to resolve the dependency when it has hidden visibility. The problem is found when testing GCC 4.9. Change-Id: I3b4d096c7767f0bef0796886dfb2c5ba2ecff48c
napshot.h
|
0d1f634f4b5e1bb37aa51777efb6a68619488d01 |
29-Mar-2014 |
John Reck <jreck@google.com> |
Add invokeFunctor Change-Id: I09e675d3e02e3e528642175ada00b2b17fab7652
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
c75db8266b352ef3a7a6b76654f770d7a24d547a |
29-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Remove kStatusInvoke & kStatusDraw"
|
750ca6dbdb259aea0ca5b77380a9303e586ef3ea |
29-Mar-2014 |
John Reck <jreck@google.com> |
Remove kStatusInvoke & kStatusDraw They are unused Change-Id: I44ecf1164dc6bc1b09438e733976d5a97a25f00e
penGLRenderer.cpp
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
|
b265e2ca50b6ceb2fd2987ef1f7d063b1bde19ae |
27-Mar-2014 |
Chris Craik <ccraik@google.com> |
Support shadows on the root RenderNode bug:13211941 Cleans up some of the RenderNode method naming Also removes unnecessary clip/save/restores, clipping shadows predictably, as drawn by the parent, before drawing (and clipping, etc.) the shadow casting child. Change-Id: I795115e1fb869bbbdd7be43e279b97490fecc7e0
isplayListOp.h
ayer.cpp
penGLRenderer.cpp
enderNode.cpp
enderNode.h
|
08c96b5515f061f61e13b348f6022ce7c586e4c4 |
28-Mar-2014 |
Chris Craik <ccraik@google.com> |
Merge "Disable shadow overdraw avoidance in the inverse clip case"
|
024433f89684e1f9cb7b15ade7c480c9346fbe4d |
26-Mar-2014 |
Chris Craik <ccraik@google.com> |
Disable shadow overdraw avoidance in the inverse clip case The caster is effectivly transparent, so skip the optimization just as is done for alpha < 1.0 Change-Id: I3d294222adf0137e20c1fb5808313d487e92e0a8
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
enderNode.cpp
|
07b6c552e6243c4f69a9c07ed9a08df78ff6d25e |
27-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Async drawing!"
|
668f0e38ef0277d55d3118af37e17b8c435df85c |
26-Mar-2014 |
John Reck <jreck@google.com> |
Async drawing! Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
ndroid.mk
eferredLayerUpdater.cpp
eferredLayerUpdater.h
ayer.cpp
ayer.h
enderNode.cpp
enderNode.h
enderthread/CanvasContext.cpp
enderthread/DrawFrameTask.cpp
enderthread/DrawFrameTask.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
ecd072161ec57ba8dfb26659511c0f6605601560 |
27-Mar-2014 |
Narayan Kamath <narayan@google.com> |
resolved conflicts for merge of 22d07464 to master Change-Id: Ic037261eedd6e224938c960d2b4597590c81ed9d
|
22d074643ed0d010ebfdb0fca685d65eb2632e58 |
27-Mar-2014 |
Narayan Kamath <narayan@google.com> |
resolved conflicts for merge of eaab4df0 to klp-modular-dev-plus-aosp Change-Id: I871431e5a3ce45a33563ced845e044d37471689b
|
eaab4df0ddadf313ab6b3c832896003968525091 |
27-Mar-2014 |
Narayan Kamath <narayan@google.com> |
am cd3f60f3: Merge "AArch64: Make frameworks/base code more portable" * commit 'cd3f60f30366a34b4499aab5a47b622069ba9cd6': AArch64: Make frameworks/base code more portable
|
f5df700e6ce056ebfa322314d970e52d6facc35a |
25-Mar-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make frameworks/base code more portable Changes in this patch include [x] Use %zu for size_t, %zd for ssize_t [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) Change-Id: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f 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>
esourceCache.cpp
|
62828dfca2b009d42a414b60117d7f34034841f8 |
26-Mar-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add private circular reveal API on View/RenderNode"
|
8c271ca63b62061fd22cfee78fd6a574b44476fd |
25-Mar-2014 |
Chris Craik <ccraik@google.com> |
Add private circular reveal API on View/RenderNode Change-Id: I139c8e12b354083149a665f6768f3f6931a8dd15
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
utline.h
enderNode.cpp
enderProperties.cpp
enderProperties.h
evealClip.h
|
e08f16695540009bed99a9b5c5147188edb496e6 |
25-Mar-2014 |
Chris Craik <ccraik@android.com> |
am 72cf99ab: am 7e55b35a: am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache" * commit '72cf99abdb6648f9346b72e0ef6d4da3c4dc9d17': Solve three memory leaks related to PatchCache
|
72cf99abdb6648f9346b72e0ef6d4da3c4dc9d17 |
25-Mar-2014 |
Chris Craik <ccraik@android.com> |
am 7e55b35a: am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache" * commit '7e55b35a603fe64e8db2c6050a1b778baaccd920': Solve three memory leaks related to PatchCache
|
7e55b35a603fe64e8db2c6050a1b778baaccd920 |
25-Mar-2014 |
Chris Craik <ccraik@android.com> |
am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache" * commit '4118480aabb4a7b332e289ebb71d2e4f9bc05d7e': Solve three memory leaks related to PatchCache
|
6fe434a41b378c601189c70cbe209171588d92c4 |
25-Mar-2014 |
Chris Craik <ccraik@android.com> |
am 4118480a: am 80470cdf: Merge "Solve three memory leaks related to PatchCache" * commit '4118480aabb4a7b332e289ebb71d2e4f9bc05d7e': Solve three memory leaks related to PatchCache
|
4118480aabb4a7b332e289ebb71d2e4f9bc05d7e |
25-Mar-2014 |
Chris Craik <ccraik@android.com> |
am 80470cdf: Merge "Solve three memory leaks related to PatchCache" * commit '80470cdf6c6995f4afe8d5e2c4b6e898625173fb': Solve three memory leaks related to PatchCache
|
bcad68ad80e5a44e5dc6988eddb8acabdc01a737 |
25-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Move where updateProperties is called"
|
632717e60990b900e6d20dddd3935a57dd6a8fa6 |
25-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Add missing null check"
|
5bf11bb98f5dbe278c257355d24c181237abd68c |
25-Mar-2014 |
John Reck <jreck@google.com> |
Add missing null check Bug: 13635394 mDisplayListData can be null, make sure to check for that before trying to walk through the children list in updateProperties Change-Id: I8d97b1656c1acf47b7c5df8a8771b0f30907261d
enderNode.cpp
|
bfb07a03777af424e99bca1dac4c903aaf44e99d |
25-Mar-2014 |
John Reck <jreck@google.com> |
Move where updateProperties is called Change-Id: I27da448996019094c44487ce28c5689d098d6535
eferredLayerUpdater.cpp
ayer.cpp
penGLRenderer.cpp
enderNode.h
enderthread/CanvasContext.cpp
|
6056e1027107aaa15f51a5ed775ff14c6b664ca3 |
04-Feb-2014 |
Jens Gulin <jens.gulin@sonymobile.com> |
Solve three memory leaks related to PatchCache A Patch can be fairly large, holding bitmap data, but is also frequently leaked which adds to the severity. The feature is used in many important processes such as Home, SystemUI and Chrome. The following leaks are solved: 1. The Patch itself was not always freed. PatchCache::removeDeferred() can mark patches to be cared for by PatchCache::clearGarbage(). But mCache.remove() would only destroy the container and the pointer, not the Patch object itself. 2. The vertices stored in the Patch at Patch::createMesh() would always leak. The empty/default destructor in Patch would not properly destroy "vertices" since it's just a pointer. 3. A BufferBlock that's added to the mFreeBlocks in PatchCache could leak. The leak happened when a patch later needed the entire free block, because the object was removed from the list but never deleted in PatchCache::setupMesh(). Change-Id: I41e60824479230b67426fc546d3dbff294c8891f
atch.cpp
atchCache.cpp
|
78ce1c5247de60a4247d81d168fd9fa97c7591d0 |
24-Mar-2014 |
John Reck <jreck@google.com> |
Add back clobbered cleanup Change-Id: I418b612710850bbc3033c4bd0143fb0f0befd2cb
enderProperties.cpp
|
d0a0b2a3140bfb1819a116413ce9d81886697a07 |
21-Mar-2014 |
John Reck <jreck@google.com> |
Add stagingProperties Change-Id: Ic7de551f8843fd70a77f738e33028e25c020bb3c
ayer.cpp
penGLRenderer.cpp
utline.h
enderNode.cpp
enderNode.h
enderProperties.cpp
enderProperties.h
|
b49f446c98096c4790a11d9b5bc83a4e585278c9 |
20-Mar-2014 |
Chris Craik <ccraik@google.com> |
Rework Outline API, remove isolatedZVolume remnants Change-Id: I30c2fe832dcb98fa6329b1a595b3d3aafbdcad6b
utline.h
enderNode.cpp
enderProperties.cpp
enderProperties.h
|
32ff540c74623d92a8bf1e0a0ae3153a7a6d13e4 |
20-Mar-2014 |
ztenghui <ztenghui@google.com> |
Merge "Early rejection on shadows which are outside of the clip bound."
|
af6f7ed8dd4288a41d0a07a1f0f0be7d6d035b33 |
19-Mar-2014 |
ztenghui <ztenghui@google.com> |
Early rejection on shadows which are outside of the clip bound. All the computations are estimated using bounding box. TODO: Spot shadow could have more accurate but also more expensive methods, we need more experiments to decide. Change-Id: I9c10c419576cee55daf0f9f278b0db78cb847447
penGLRenderer.cpp
ect.h
hadowTessellator.cpp
hadowTessellator.h
|
2488727a5955c87d775df23649919af71d064d13 |
03-Dec-2013 |
Leon Scroggins III <scroggo@google.com> |
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: Icaf597783da3ffb079ea18badb78fa31403bf8b8
extureCache.cpp
|
db2895e97745c68924b831701a2bf76e13a5025a |
20-Mar-2014 |
Chris Craik <ccraik@google.com> |
am 4eefde23: am 29f00c9f: am 7c9bd98a: am 89513ee5: Merge "Fix projection offset caching - DO NOT MERGE" into klp-dev * commit '4eefde23de23a5e9145a634e843964f6f6eaa6bd': Fix projection offset caching - DO NOT MERGE
|
4eefde23de23a5e9145a634e843964f6f6eaa6bd |
20-Mar-2014 |
Chris Craik <ccraik@google.com> |
am 29f00c9f: am 7c9bd98a: am 89513ee5: Merge "Fix projection offset caching - DO NOT MERGE" into klp-dev * commit '29f00c9f35d8565bb3e6b8a2526cbb237db6446a': Fix projection offset caching - DO NOT MERGE
|
d23d5b192ad718a374efc2cc6460659f3b1edfb9 |
20-Mar-2014 |
Chris Craik <ccraik@google.com> |
am 7c9bd98a: am 89513ee5: Merge "Fix projection offset caching - DO NOT MERGE" into klp-dev * commit '7c9bd98a4bb0aa6954d5f612c197d03f309980f0': Fix projection offset caching - DO NOT MERGE
|
29f00c9f35d8565bb3e6b8a2526cbb237db6446a |
20-Mar-2014 |
Chris Craik <ccraik@google.com> |
am 7c9bd98a: am 89513ee5: Merge "Fix projection offset caching - DO NOT MERGE" into klp-dev * commit '7c9bd98a4bb0aa6954d5f612c197d03f309980f0': Fix projection offset caching - DO NOT MERGE
|
c5dc251e2219cc3e96c3c91a3c3ff4a120e21912 |
20-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Move RenderNode to own file"
|
113e0824d6bddf4376240681f9cf6a2deded9498 |
18-Mar-2014 |
John Reck <jreck@google.com> |
Move RenderNode to own file Change-Id: I9380d161fd3ddd7b569c262dd8e7aa0c96151b1e
ndroid.mk
eferredLayerUpdater.h
isplayList.cpp
isplayList.h
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
enderNode.cpp
enderNode.h
|
5d39a77992ba6573fbc0cd4d85e0390bb5feb637 |
29-Jan-2014 |
Chris Craik <ccraik@google.com> |
Fix projection offset caching - DO NOT MERGE bug:13214038 Because the caching of projection matrix didn't account for changes in the offset flag, the flag could be ignored. Now we use both to verify that the cached matrix can be used. Change-Id: I193b94eaf0b98f046a6484f0866c3d25048653fd (cherry picked from commit d04a6b15f74035fd2068f34225825b55e94521f4)
rogram.cpp
rogram.h
|
bd6e460b761c51c11adfea9a9ce4e5e7e95caa07 |
19-Mar-2014 |
ztenghui <ztenghui@google.com> |
Merge "Get rid of useless code"
|
28c3ea018771562a9150f30c6a088e5bf7502972 |
18-Mar-2014 |
ztenghui <ztenghui@google.com> |
Get rid of useless code Change-Id: I7fedd0df349e1d9408d58edcab25396e2ff2edd6
potShadow.cpp
|
3ebdf0021796d94e82392f0308cd81a4887080c5 |
18-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Fix functor removal"
|
16efa9a330fcf10a09cc9564e9d319c6f4be2ae1 |
18-Mar-2014 |
John Reck <jreck@google.com> |
Fix functor removal Bug: 12179257 Change-Id: Ib63a351b1b289b08452f17086cb6c8b688e2ba4d
enderthread/CanvasContext.cpp
|
d5a8503c7a7bff3876226ac4b47e6bce51d7d85a |
17-Mar-2014 |
ztenghui <ztenghui@google.com> |
Merge "Fix the missing spot shadow when DEBUG_SHADOW is turned on"
|
99af9429cda84ad0af1d7fcecb580295b0046882 |
14-Mar-2014 |
ztenghui <ztenghui@google.com> |
Fix the missing spot shadow when DEBUG_SHADOW is turned on In the current design, this error should be tolerated since the delta should be small enough. So we should not return here. Change-Id: I251db2882b331d37ae7f0896e9aa95d69a5650da
potShadow.cpp
|
630c0abaea1b35b4626a1d752bd04f28529801e1 |
17-Mar-2014 |
ztenghui <ztenghui@google.com> |
Merge "Create one hole inside the umbra area to avoid overdraw."
|
34f67f26e355925aa1e00a20bc11e09b8dc32988 |
17-Mar-2014 |
Chris Craik <ccraik@google.com> |
Remove castsShadow and globalCamera APIs Change-Id: I5c1c375f45946609b1635d952c5adf55e23bdd60
isplayList.cpp
enderProperties.cpp
enderProperties.h
|
618236fe886b84f99cd7c48ece96b16f82a9d2b2 |
17-Mar-2014 |
Chris Craik <ccraik@google.com> |
Revert "Remove castsShadow and globalCamera APIs" This reverts commit 0334c314a5721f49b4d172a9cefe10f157cb28a4. Change-Id: I64714d17fb877e1b43c65eb44820d1128281c7a2
isplayList.cpp
enderProperties.cpp
enderProperties.h
|
0334c314a5721f49b4d172a9cefe10f157cb28a4 |
15-Mar-2014 |
Chris Craik <ccraik@google.com> |
Remove castsShadow and globalCamera APIs Change-Id: I4d81a7849eba60a1a9debce74eedd55d6331842d
isplayList.cpp
enderProperties.cpp
enderProperties.h
|
50ecf849cb7ccc3482517b74d2214b347927791e |
12-Mar-2014 |
ztenghui <ztenghui@google.com> |
Create one hole inside the umbra area to avoid overdraw. bug:13439450 Change-Id: I859575196bd5a3029f447883025a6ec3a1f1face
mbientShadow.cpp
mbientShadow.h
aches.cpp
penGLRenderer.cpp
penGLRenderer.h
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
|
7e6fe28b12bf936cc8c5c5f689a6aef6b7f21625 |
17-Mar-2014 |
Leon Scroggins III <scroggo@google.com> |
am 96978ee2: am f8d8777d: Update framework to use M33 Skia. DO NOT MERGE * commit '96978ee290ea0ef666c49ffa8733a8c74304c9f1': Update framework to use M33 Skia. DO NOT MERGE
|
96978ee290ea0ef666c49ffa8733a8c74304c9f1 |
17-Mar-2014 |
Leon Scroggins III <scroggo@google.com> |
am f8d8777d: Update framework to use M33 Skia. DO NOT MERGE * commit 'f8d8777dddf91c741981b4f795f2fb2b1d81c1b6': Update framework to use M33 Skia. DO NOT MERGE
|
f8d8777dddf91c741981b4f795f2fb2b1d81c1b6 |
03-Dec-2013 |
Leon Scroggins III <scroggo@google.com> |
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
extureCache.cpp
ont/Font.cpp
ont/Font.h
ont/FontUtil.h
|
acb6f07623b7df3d4179f70ae03ade574616ffa6 |
13-Mar-2014 |
John Reck <jreck@google.com> |
Split out RenderProperties Change-Id: Ia9888b4fb2c849d95a8c395cafef2e2294a23aae
ndroid.mk
isplayList.cpp
isplayList.h
enderProperties.cpp
enderProperties.h
|
33896588e8f62815d3ea2bfcea59332070acf988 |
12-Mar-2014 |
John Reck <jreck@google.com> |
No-op isolatedZVolumen property Change-Id: I7aa474d65a3d12efd4ffb731e07ee42f4d348183
isplayList.cpp
isplayList.h
|
361fd3d2ff302d60a49ae2d2d1cc61cb5fdb0ece |
12-Mar-2014 |
John Reck <jreck@google.com> |
Merge "Rename DisplayList->RenderNode"
|
e18264b079481a244b30e3f71012c53bbd861f92 |
12-Mar-2014 |
John Reck <jreck@google.com> |
Rename DisplayList->RenderNode Change-Id: Id42e23c9a1a6eb6eaeafef707ced7fa6887b03d0
aches.cpp
aches.h
eferredLayerUpdater.cpp
eferredLayerUpdater.h
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
b98f2116f5896acb4b221015b22624a3c5d5a7fe |
12-Mar-2014 |
Chris Craik <ccraik@google.com> |
Force shadow casters above the Z=0 plane Change-Id: Ifee75414829d4bfb3c7aa6219f1f9bcfd50ff0c6
penGLRenderer.cpp
hadowTessellator.h
potShadow.cpp
|
b79a3e301a8d89b9e1b1f6f3d7fd6aa56610a6f0 |
11-Mar-2014 |
Chris Craik <ccraik@google.com> |
Fix orthographic shadows projection, simplify shadow reordering Separate matrix passed to shadow system into two parts, one for transforming the polygon XY points (using the actual draw matrix) and a separate one which respects correct 4x4 3d rotations and translations for determining Z values. Change-Id: I7e30a84774a8709df6b2241e8f51fc5583648fe8
isplayList.cpp
isplayList.h
isplayListOp.h
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
potShadow.cpp
ector.h
|
e361ad7ab15fcf4919a56a6293689d968ee8dcff |
11-Mar-2014 |
Chris Craik <ccraik@google.com> |
Remove experimental perspective projection Change-Id: Iad688c8395ccd4673cc129973802b5f01dfb45ba
aches.cpp
aches.h
isplayList.cpp
atrix.cpp
atrix.h
penGLRenderer.cpp
|
726118b35240957710d4d85fb5747e2ba8b934f7 |
08-Mar-2014 |
Chris Craik <ccraik@google.com> |
Improve shadow tessellation performance - Tune and simplify shadow parameters - Remove additional inner rings - Improve polygon ray casting algorithm Change-Id: If0f28b2d66ae0480b675942bb65e8fcd2864425d
mbientShadow.cpp
aches.cpp
isplayList.cpp
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
|
a742ca4017c93c18c421af20651494624469ed78 |
11-Mar-2014 |
Narayan Kamath <narayan@google.com> |
am bbf82665: am 6e2fb587: Merge "LP64: Make 9 patches architecture agnostic." * commit 'bbf826659e8e5d0be683b2459207c495303d53b6': LP64: Make 9 patches architecture agnostic.
|
fa03b57295f7c73372bb62b0a1a3e906c3ee659e |
11-Mar-2014 |
Chris Craik <ccraik@android.com> |
am 7b4cce68: am c3bac8a0: Merge "Fix graphics corruption caused by HWUI caches" * commit '7b4cce68853d8bcfce2b6bd7f999915063eb56d2': Fix graphics corruption caused by HWUI caches
|
be34f2f3b340196426bdf558b28951359a4d84fa |
10-Mar-2014 |
John Reck <jreck@google.com> |
DisplayList lifecycle changes Bug: 13360343 Change DisplayList to be more forgiving with weaker lifecycle requirements. Is more self-managed with a strong reference to the renderer it needs Also fix naming mismatch Change-Id: I5c89453a72a52954f6f959f0846199705dbb6476
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
b5c4e7fd3866bbe30d7ea4d7bc463da5a70970e2 |
10-Mar-2014 |
Narayan Kamath <narayan@google.com> |
resolved conflicts for merge of 92860a74 to master Change-Id: I3036ef9f1251c756092dc5ee2c4fed8146855e1e
|
92860a74c6e57fb66b28afe95c13e7c0f97f831e |
10-Mar-2014 |
Narayan Kamath <narayan@google.com> |
am 8272c84c: am bbf82665: am 6e2fb587: Merge "LP64: Make 9 patches architecture agnostic." * commit '8272c84cb531a4f148f0b0a31d8359d381137378': LP64: Make 9 patches architecture agnostic.
|
bbf826659e8e5d0be683b2459207c495303d53b6 |
10-Mar-2014 |
Narayan Kamath <narayan@google.com> |
am 6e2fb587: Merge "LP64: Make 9 patches architecture agnostic." * commit '6e2fb587d71631bd29fdb844a6451d68e2144337': LP64: Make 9 patches architecture agnostic.
|
6381dd4ff212a95be30d2b445d40ff419ab076b4 |
03-Mar-2014 |
Narayan Kamath <narayan@google.com> |
LP64: Make 9 patches architecture agnostic. The Res_png_9patch struct had several pointer members whose size differed between 32 and 64 bit platforms. These members have been replaced by uint32_t offsets to serialized data. The serialized form for 9patches places a Res_png_9patch object at the beginning of serialized data, followed by int32_t arrays of xDivs, yDivs and colors. Note that these offsets are not strictly required, since they can be computed from the values of numXDivs, numYDivs & numColors, however they are called in tight loops so having them computed once is a beneficial. This change also removed the unused patch_equals function from aapt's Image.cpp. Change-Id: I3b9ac8ae5c05510d41377cae4dff1c69b40c2531
atch.cpp
atch.h
|
126fbb6ec902a135173aabbddedf19a7717ea768 |
08-Mar-2014 |
Narayan Kamath <narayan@google.com> |
am 19256340: am 22c66639: Merge "Fixes for 64bit in libhwui" * commit '192563407964926537d688d4098054c3834341c0': Fixes for 64bit in libhwui
|
9edb96b533317e781384616b38502cc324f65d34 |
08-Mar-2014 |
Chris Craik <ccraik@google.com> |
Merge "Update tessellation tracing"
|
87f9df880e4a5bfba65d2ed413b3ead649595129 |
07-Mar-2014 |
Chris Craik <ccraik@google.com> |
Update tessellation tracing Change-Id: I6c73f2467817412d9936dde217df9938a6884003
athTessellator.cpp
hadowTessellator.cpp
|
cde786835676f14c4d24cc4769a2de7ead853c5c |
07-Mar-2014 |
Narayan Kamath <narayan@google.com> |
am b152473f: am 9fce8535: Merge "AArch64: Make AssetAtlasService 64-bit compatible" * commit 'b152473f46d8176e7eb2c55b54342a7a29c525cf': AArch64: Make AssetAtlasService 64-bit compatible
|
42ae4cf2ce5ba02c2211813452badc07eab33735 |
07-Mar-2014 |
Leon Scroggins III <scroggo@google.com> |
Merge "resolved conflicts for merge of 8d3281f5 to klp-dev-plus-aosp" into klp-dev-plus-aosp
|
e648c19bf33ce78b3f67b7ffd95c92fd6996c418 |
07-Mar-2014 |
Leon Scroggins III <scroggo@google.com> |
resolved conflicts for merge of 8d3281f5 to klp-dev-plus-aosp Change-Id: If2855ff4f7a1e7645c69af378955868f44187376
|
a88bdf8d46c94c8729c65e156ec15ebfb8c5a1c7 |
07-Mar-2014 |
John Reck <jreck@google.com> |
Make sure we register functor count Bug: 13339664 Change-Id: Iafb8ba77bdf1d971c1d0a345ff525e7f7fa80352
isplayList.cpp
|
ef8c07c86fb810d4052fa9fa62751c46234299e9 |
06-Mar-2014 |
Chris Craik <ccraik@google.com> |
Merge "Draw shadows from casters together if the Z values are similar"
|
5e49b497ae2019586937aae0e8159292363728b5 |
03-Dec-2013 |
Leon Scroggins III <scroggo@google.com> |
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
extureCache.cpp
ont/Font.cpp
ont/Font.h
ont/FontUtil.h
|
eea6ef9c767c734797912022113191dd255c4ae6 |
06-Mar-2014 |
Chris Craik <ccraik@google.com> |
Fix warnings in hwui Change-Id: I6ad6b78531cc0426dc2ea82a32775f7b0265b5b1
isplayList.cpp
isplayListRenderer.cpp
isplayListRenderer.h
|
8b6f2df48e10de35d43621ce174eb3dde394725c |
03-Mar-2014 |
Chris Craik <ccraik@google.com> |
Draw shadows from casters together if the Z values are similar Change-Id: Ib5d00c83e81d9d4c384685a84988a681da8b4490
isplayList.cpp
isplayList.h
|
44fd8d24f761f82d21e9b00932648a1b6bf91449 |
26-Feb-2014 |
John Reck <jreck@google.com> |
DisplayList overhaul Change-Id: I53418d580c98f706e971545cff81b9921c12cc5f
isplayList.cpp
isplayList.h
isplayListRenderer.cpp
isplayListRenderer.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
67862524056ee2e73a94395139bb8bd0ec1ef38a |
28-Feb-2014 |
Chris Craik <ccraik@google.com> |
Fix use of Skia deprecated methods Change-Id: Ib89c20fc94bcce29b7490d6f55c73492735befda
isplayListOp.h
penGLRenderer.cpp
|
da3f525759d4b875fd6a498cbe22f7bc9e53aa83 |
27-Feb-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix TextureView texture filtering."
|
950fe8f8d4d654e645fa7205ca275b5a03feb214 |
27-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Cleanup unnecessary includes for libskia. The libskia target exports all of its public includes directories so redefining them here is redundant. Also this cleans up and makes it obvious where the framework is making using of private Skia headers. Change-Id: Ie7ecc9ddd3df780bed6b9af54ba58ca58274e043
ndroid.mk
|
f85da42512d5dd76a899097907974b48b887be60 |
26-Feb-2014 |
Chris Craik <ccraik@google.com> |
Fix build - DO NOT MERGE Change-Id: I1ab7c369082d1d2aa4f4ed11354c13ff86582410
extureCache.cpp
|
300bdfa13dd903c9335c11838cc0a604d0f8f2e6 |
26-Feb-2014 |
Chris Craik <ccraik@android.com> |
am 328b7ee6: am aecb8c43: am 7b4cce68: am c3bac8a0: Merge "Fix graphics corruption caused by HWUI caches" * commit '328b7ee6a2ba2dc8f162fa57dbafd4bfc89bb72e': Fix graphics corruption caused by HWUI caches
|
2c42b79c6ce5a1229e7f6cccb4b39b54435737c8 |
26-Feb-2014 |
Chris Craik <ccraik@google.com> |
Fix AOSP build - DO NOT MERGE Change-Id: I42b420c2ce89ce364a2809b28b827964e6923fa1
extureCache.cpp
|
36fad8f6fcfbc2087b910600ed5a6f9741177d00 |
09-Jan-2014 |
Sangkyu Lee <sk82.lee@lge.com> |
Fix graphics corruption caused by HWUI caches Some caches(PatchCache, TextureCache, PathCache) for HWUI uses deferred removal for their cache entries even though actual resource objects are immediately freed by ResourceCache. For this reason, the uniqueness of a resource address in the caches is not guaranteed in specific cases. (Because malloc() can return the same address when malloc() and free() called very frequently.) So it can be possible the cache have two cache entries for two different resources but the same memory address. (Of course one of the resources is already freed.) It also can be possible mGarbage vector in PatchCache has duplicated addresses and this can lead to duplicated free blocks in the free block list and graphics corruption. (Deferred removal was implmeneted based on an assumption of unique resource addresses.) So this patch makes sure resource objects are freed after the resources are removed from the caches to guarantee the uniqueness of a resource address and prevent graphics corruption. Change-Id: I040f033a4fc783d2c4bc04b113589657c36fb15b Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
atchCache.cpp
athCache.cpp
esourceCache.cpp
extureCache.cpp
|
9757ac0b9d62f6aea5e47cfb375f445c78bb7897 |
26-Feb-2014 |
Chris Craik <ccraik@google.com> |
Fix TextureView texture filtering. bug:11748993 TextureView should always be drawn with linear filtering if drawing a buffer sized differently from the layer. This fixes a bug where TextureViews that were sized differently from their contents wouldn't be drawn with texture filtering, causing visible scaling artifacts. Change-Id: I8a5d27452fe7269ec53896992f37cff51e3ce15a
eferredLayerUpdater.cpp
ayer.cpp
ayer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
|
8198c3a8f525c07e2b848852f6ad3e351e3b5461 |
26-Feb-2014 |
ztenghui <ztenghui@google.com> |
Merge "Use pre-computed index to draw the shadow."
|
63d41abb40b3ce40d8b9bccb1cf186e8158a3687 |
14-Feb-2014 |
ztenghui <ztenghui@google.com> |
Use pre-computed index to draw the shadow. Also draw the umbra part as triangle fans instead of zig zag fashion. b/12840179 Change-Id: Iaa5d15e77351acdd71f076bd8f9bb2d4d2b92faf
mbientShadow.cpp
mbientShadow.h
aches.cpp
aches.h
ontRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
|
919e95cc23d3567345719f2466e089682608638e |
22-Feb-2014 |
Chris Craik <ccraik@google.com> |
Modulate shadow alpha by caster alpha Change-Id: Ibc4b3958feb3b5dba91d30af470d76555a6209c8
isplayList.cpp
penGLRenderer.cpp
|
35eeb2d859d0e535b4d23bfd52db76db38b1551c |
21-Feb-2014 |
Narayan Kamath <narayan@google.com> |
am 61910447: am 7942397b: am 19256340: am 22c66639: Merge "Fixes for 64bit in libhwui" * commit '6191044729b2dace9c9b4b15b19a8839377d8973': Fixes for 64bit in libhwui
|
22c66639093a634b5688372d261d003b0478c450 |
21-Feb-2014 |
Narayan Kamath <narayan@google.com> |
Merge "Fixes for 64bit in libhwui"
|
2fb1fa6c88901fd16f1756a744a5f066f95c9253 |
21-Feb-2014 |
Narayan Kamath <narayan@google.com> |
Merge "AArch64: Make AssetAtlasService 64-bit compatible"
|
73fc558e44be259c0833c8c8074ad2333bcb378d |
13-Feb-2014 |
Kévin PETIT <kevin.petit@arm.com> |
Fixes for 64bit in libhwui Using reinterpret_cast allows conversions between pointer types and integers which don't have the same size. The corresponding flags is -Wint-to-pointer-cast. Change-Id: I8ff0c79d235fa6d07b8d9305edc185d946d5133d Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
isplayListOp.h
ixelBuffer.cpp
|
17ab38f8a87bc90eab11373f878f220ce3031de6 |
27-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make AssetAtlasService 64-bit compatible Changes in this patch include [x] Long(64-bit) is used to store native pointers in AssetAtlasService and related classes 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) Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> (cherry-picked from 4de3f481bc59ab4b766dc027e41aff7cda9d62f7) Change-Id: If22daf40eef46f8df9f94d65ddcc52c45b3acf2a
ssetAtlas.cpp
ssetAtlas.h
|
674554fc36932ca50b15bba41ac6f650254d4e72 |
19-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Reapply "Refactor setting an SkPaint onto a hwui Layer." This reverts commit 90d0c75e94a32fb7d993fae69762820aabc2fcbb. Change-Id: Ie807761231edf7c848b019931dccbf466208c0be
eferredLayerUpdater.cpp
eferredLayerUpdater.h
ayer.cpp
ayer.h
penGLRenderer.cpp
|
4de3f481bc59ab4b766dc027e41aff7cda9d62f7 |
27-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make AssetAtlasService 64-bit compatible Changes in this patch include [x] Long(64-bit) is used to store native pointers in AssetAtlasService and related classes 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) Change-Id: Ib4c77c134e3ad5b21732e20cde9a54a0b16bdab1 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
ssetAtlas.cpp
ssetAtlas.h
|
5efe5a2d35604595913c9e372c904b85c32e71c8 |
19-Feb-2014 |
John Reck <jreck@google.com> |
Merge "Support HardwareLayers in RenderThread"
|
19b6bcfd83eb7fb92ebd06d2fec89e308311f1d0 |
15-Feb-2014 |
John Reck <jreck@google.com> |
Support HardwareLayers in RenderThread Also has a few HardwareLayer lifecycle fixes Change-Id: I6308cb05f8f199eed72189ace768013a46815941
eferredLayerUpdater.cpp
eferredLayerUpdater.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
66d792b6631a8dfd0dd0b7abc75077760fa083cc |
19-Feb-2014 |
Chris Craik <ccraik@google.com> |
Merge "Make outline and shadow APIs public"
|
e9b8817bd720cd2a294126074eb533f943a9348f |
11-Feb-2014 |
Chris Craik <ccraik@google.com> |
Make outline and shadow APIs public Change-Id: If40dc27b2fdc41c3ed355bc9029474b1344c1a03
isplayList.cpp
isplayList.h
|
146a1f0cbcbab9cfead773f684134645edd34b6a |
19-Feb-2014 |
ztenghui <ztenghui@google.com> |
Merge "Separate spot and ambient shadow strength setting"
|
a39dd595791b41222ab310b5e8a76a64faa8ba5c |
15-Feb-2014 |
John Reck <jreck@google.com> |
Refcounting is hard Bug: 12994941 Change-Id: I6285ff818fc696dbe504174b98a54cb1d00b445c
eferredLayerUpdater.cpp
eferredLayerUpdater.h
|
ef94c6f88fbb1deb095b1494378befcdb9722839 |
14-Feb-2014 |
ztenghui <ztenghui@google.com> |
Separate spot and ambient shadow strength setting Change-Id: I4530e618b09a7f44b5382f8a40646c0ebf5f214c
aches.cpp
aches.h
penGLRenderer.cpp
|
90d0c75e94a32fb7d993fae69762820aabc2fcbb |
12-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Revert "Refactor setting an SkPaint onto a hwui Layer." This reverts commit e889298cd6ae1fc0d76bc00d7d12586db03eb261. Change-Id: I4b1d609b2d4280595d40cb10d6c18875c22999f8
eferredLayerUpdater.cpp
eferredLayerUpdater.h
ayer.cpp
ayer.h
penGLRenderer.cpp
|
e889298cd6ae1fc0d76bc00d7d12586db03eb261 |
11-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Refactor setting an SkPaint onto a hwui Layer. This CL removes the unecessary JNI call to set the colorFilter on a layer. Change-Id: I9e088f888938d4315745aa618334bfdb9e61343a
eferredLayerUpdater.cpp
eferredLayerUpdater.h
ayer.cpp
ayer.h
penGLRenderer.cpp
|
fc53ef27793a39e9effd829e9cae02a9ca14147e |
11-Feb-2014 |
John Reck <jreck@google.com> |
Implement missing safelyRun() on ThreadedRenderer Change-Id: I14b75f37a13fabaa759a51369190dbdc84087c4b
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
|
f6eebb21d5c58345eca8be25676e34346f5809b2 |
11-Feb-2014 |
John Reck <jreck@google.com> |
Merge "Refactor HardwareLayer"
|
3ff18faac21553f027cdb1ff4a98447f333750bd |
11-Feb-2014 |
Narayan Kamath <narayan@google.com> |
am deefd1fd: am 5f7c0b1d: am 6d8b21a8: Merge "Fix TinyHashMap to use generic hash_type instead of hash_t" * commit 'deefd1fdeaf0b538a13219517f8795fdde198e21': Fix TinyHashMap to use generic hash_type instead of hash_t
|
04fc583c3dd3144bc6b718fcac4b3e1afdfdb067 |
06-Feb-2014 |
John Reck <jreck@google.com> |
Refactor HardwareLayer Defer all the things! Groundwork to allow hardware layers to work in a renderthread world Change-Id: Ib3aa47525f393083621254a743dbaa6352f933bd
ndroid.mk
eferredLayerUpdater.cpp
eferredLayerUpdater.h
ayerRenderer.cpp
ayerRenderer.h
|
eef1be1d83eeb35377cfeb8a4932e317a3a975a7 |
10-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Removing SkiaColorFilter and inspecting the native object directly."
|
b67a7bf27ba2ecdb55be2117717b6818053f47fc |
08-Feb-2014 |
Chris Craik <ccraik@google.com> |
Add shadow casting / global perspective APIs, hidden for now. Global perspective isn't yet hooked up in rendering. Change-Id: I64ad272ea5dc523505260ce114f0a6bebdcfe9dc
isplayList.cpp
isplayList.h
|
76d3a1b8d035d27bc80b0f2fc480a903bd001514 |
10-Dec-2013 |
Derek Sollenberger <djsollen@google.com> |
Removing SkiaColorFilter and inspecting the native object directly. bug: 10650594 Change-Id: I4fcf66d008765afa0e35d011f58bc792183cb74f
ndroid.mk
eferredDisplayList.cpp
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
enderer.h
esourceCache.cpp
esourceCache.h
kiaColorFilter.cpp
kiaColorFilter.h
|
fad4593a3c9db193a4308c34168cc91c28218e2b |
06-Feb-2014 |
ztenghui <ztenghui@google.com> |
Add the clipToOutline by just using the clipPathOp Change-Id: I6ba23b589e579599d018600d0744be0efe2028c1
isplayList.cpp
isplayList.h
|
8852ab4357ffb653bafb36f3b9272866834f7a72 |
07-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Keep the SkPaint used when creating a layer."
|
e9bea2a18201d079831750865ab1d013528d862a |
07-Feb-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
Fix TinyHashMap to use generic hash_type instead of hash_t TinyHashMap used hash_t(key) to generate hashcode. This would not work for 64-bit pointers as hash_t is declared as an uint32_t. Replaced the hash_t(key) call to more generic android::hash_type(key). This function is a template function declared in TypeHelpers.h and has a version available for all data types including pointers. Change-Id: I612cf18b49ca7c30b63f9d6938df68fed7d80d08 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
tils/TinyHashMap.h
|
27bfb24518934f0344c79a1d655ea8d1208d2446 |
07-Feb-2014 |
Chris Craik <ccraik@google.com> |
Merge "Rework and clean up DisplayList projection"
|
d44fbe55a9f434cb5bb0e34c143ba1445141990d |
05-Feb-2014 |
Derek Sollenberger <djsollen@google.com> |
Keep the SkPaint used when creating a layer. This will allow us to inspect the paint for thing other than color and xfermode, such as SkColorFilters and SkShaders. bug: 10650594 Change-Id: I2c3ddd07a3966e1e77af34136307e2b59b2898c1
isplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
|
1df26446b7eac7050767c38ca977fde03a41a033 |
06-Feb-2014 |
Chris Craik <ccraik@google.com> |
Rework and clean up DisplayList projection Move the projection surface to be a property of a DisplayList, set to true for every background drawable. Additionally, handle a projecting view background such that it doesn't try to project onto itself (which is undesirable). Change-Id: Ic70b17474bd87340e80767f8518f73b233419c7a
isplayList.cpp
isplayList.h
isplayListRenderer.cpp
isplayListRenderer.h
napshot.cpp
napshot.h
|
fdace4e238afa9f2409c6397a78498b00f765ab0 |
07-Feb-2014 |
Chris Craik <ccraik@google.com> |
Merge "Simplify DisplayList matrices"
|
ba9a21561e09bddf4ba25fd41474fda6cb941bfb |
05-Feb-2014 |
Chris Craik <ccraik@android.com> |
am 2c764b20: am 0ec3ca6e: am 449273e2: Merge "Fix for positioning of glyphs within a bitmap" * commit '2c764b20e4a35c509f49e3d9430e135b4f3a0984': Fix for positioning of glyphs within a bitmap
|
629f67709b84a6bebdecdc8a500bf83560f557d0 |
05-Feb-2014 |
Chris Craik <ccraik@google.com> |
Simplify DisplayList matrices Somewhat unifies the ortho/perspecive paths - the property matrix (translate/scale/rotate) is now always a Matrix4. Change-Id: I36e4fe83d1150ee6e4be5f64f34d0fc8d6525cc6
isplayList.cpp
isplayList.h
isplayListOp.h
atrix.h
|
a989cb29c35149b35bf8c332ba39d7167bd95d6b |
03-Feb-2014 |
ztenghui <ztenghui@google.com> |
Merge "Fixing a bad bug when there is no real umbra"
|
5176c974f1d9af833b7584e895fcba61e6e7427a |
01-Feb-2014 |
ztenghui <ztenghui@google.com> |
Fixing a bad bug when there is no real umbra This fixed most of the issues when the light's Z postion is low. Change-Id: If49afbf8aa90b1ce32fd628a62ed982a1a473da2
potShadow.cpp
|
494db9e4bbf206025336aee9dfece93639686e44 |
31-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Simplify umbra calculation"
|
1d89563ff8f5afd77457ef58489a234f490b480c |
31-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add initial hidden outline APIs"
|
12d9526dd25915f1957d1a251715e562d14459da |
31-Jan-2014 |
Chris Craik <ccraik@google.com> |
Simplify umbra calculation Reuse pre-computed values Change-Id: Ia7725be0ec3ac58af477fcb8de375f5faa05abf4
potShadow.cpp
|
a2fe7affd3d077ac163da90996cb2e5e0ca3b8d1 |
29-Jan-2014 |
Chris Craik <ccraik@google.com> |
Add initial hidden outline APIs Background drawable outline usage and drawable outline calculation still to come. Change-Id: I8c7539f1638f86e1f8eb11f4fe49f705f61d58ba
isplayList.cpp
isplayList.h
isplayListOp.h
penGLRenderer.cpp
|
3040f7354106dbc2a43b0ca21de25811f0d4057d |
31-Jan-2014 |
John Reck <jreck@google.com> |
Merge "Fix nano vs. millis"
|
a6260b83da52b80438074a9fd207327d9e6e6d03 |
30-Jan-2014 |
John Reck <jreck@google.com> |
Fix nano vs. millis Change-Id: I54f752bb7faab5fa66c36252c9f7cf8f5c9939c9
enderthread/RenderTask.h
enderthread/RenderThread.cpp
|
f3560a133e3ec19c698a8c9d6cfc7d17fd95adc5 |
30-Jan-2014 |
ztenghui <ztenghui@google.com> |
Merge "Merge close vertices in a better way."
|
6657a6c53930eb0ff8d03317eb10ea7ddb0c49b4 |
26-Jan-2014 |
Chris Craik <ccraik@google.com> |
Update reordering method names, and make 3d reordering API public IsContainedVolume -> hasIsolatedZVolume conveys that this affects Z ordering of views ProjectToContainedBackground -> ProjectBackwards, since it ended up using its own projection target, separate from the 3d volume bit Change-Id: Ia2cde838cc4da134366fe6ff623290fbd65e50c3
isplayList.cpp
isplayList.h
|
967c7fb2af23cbdadba45f9113cbcaa9f55c3f24 |
29-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix projection offset caching"
|
d04a6b15f74035fd2068f34225825b55e94521f4 |
29-Jan-2014 |
Chris Craik <ccraik@google.com> |
Fix projection offset caching Because the caching of projection matrix didn't account for changes in the offset flag, the flag could be ignored. Now we use both to verify that the cached matrix can be used. Change-Id: I193b94eaf0b98f046a6484f0866c3d25048653fd
rogram.cpp
rogram.h
|
f5ca8b4cb178008472e67fa0ae6a3e3fa75d7952 |
28-Jan-2014 |
ztenghui <ztenghui@google.com> |
Merge close vertices in a better way. And add more verification code for testing purpose. Change-Id: I5bc4f69e6582c02fd03106af9a98abd05a6755b7
potShadow.cpp
potShadow.h
|
5e1814e2ebf5614f8f4f7edd063e1a79bd929844 |
29-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Remove logging of DisplayList staleness"
|
e742799cae886e0e9b2eb5514e58bab27e34a0ee |
28-Jan-2014 |
John Reck <jreck@google.com> |
Merge "Native-side proxy"
|
4f02bf4eef6af47f35c70c4dda5b7b9523d89ca0 |
04-Jan-2014 |
John Reck <jreck@google.com> |
Native-side proxy Remove RemoteGLRenderer Remove reflection-based control Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985
ndroid.mk
penGLRenderer.h
enderer.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
enderthread/RenderProxy.cpp
enderthread/RenderProxy.h
enderthread/RenderTask.cpp
enderthread/RenderTask.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
3783e70b557fe58f51d551242a42e7232e991c10 |
27-Jan-2014 |
Chris Craik <ccraik@google.com> |
Remove logging of DisplayList staleness Change-Id: Ie6b3af3065d4d10ec0bc9b419223d3458d297ea8
isplayList.cpp
isplayList.h
ayer.cpp
penGLRenderer.cpp
|
15a07a21eb33e8ca1c7444944fe0541a53380c0c |
26-Jan-2014 |
Chris Craik <ccraik@google.com> |
Use path outlines to define shadow shapes Fixes the simplifying assumption that shadow casters were always rectangular. Java side APIs + plumbing to pass down correct shapes still need to be added. Change-Id: Ic4fee90af15679951a44bb5cc6ae454b98c4c194
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
athTessellator.cpp
athTessellator.h
hadowTessellator.cpp
hadowTessellator.h
|
bb615a6ffbc8a051007163916f1ed085d10b5327 |
24-Jan-2014 |
Chris Craik <ccraik@google.com> |
Clear root level reorder lists to prevent accessing stale DisplayLists bug:12581401 Adds temporary logging which should log/crash earlier on incorrectly reordering hierarchies. Change-Id: Iee00940718c3cc868161e754aff93cd3b2747094
isplayList.cpp
isplayList.h
ayer.cpp
penGLRenderer.cpp
|
3ed192760314dc976cd02f62ac49798daa89b4b1 |
28-Aug-2013 |
Alexander Toresson <alexander.toresson@sonymobile.com> |
Fix for positioning of glyphs within a bitmap For positioning of glyphs within a bitmap, roundf(int + float) is used, where the float is the glyph position and the int is the text position. When the text position is varied, this may lead to the sum being rounded in different directions, due to floating point rounding, caused by that floating point numbers have different precision in different ranges. This may therefore lead to slightly different positioning for glyphs and therefore slightly different widths and heights for text strings, depending on the position they are rendered at. The solution in this patch is to use int + (int) roundf(float), which has consistent rounding, and also enables us to use the full range of ints. Change-Id: Id1143cdfcbdfa9915ced878ae04df589a3e03cee
ont/Font.cpp
|
cc3c25622c731d14a6f01bce684330eccba7db5a |
17-Jan-2014 |
ztenghui <ztenghui@google.com> |
Property support for light positioning. Tune up the light size to make it look better. Change-Id: I139a05f3dd53dacbe55759b91188f0e1cc2c7f80
aches.cpp
aches.h
penGLRenderer.cpp
hadowTessellator.cpp
hadowTessellator.h
|
3a3bdd042d8bd056d31a1b37332e91c1307060a0 |
17-Jan-2014 |
Chris Craik <ccraik@android.com> |
am ee846d3e: am 38cf0704: am e9a7d229: am 66b5a2b2: am 5150eb8f: Merge "Initialize pointer members to NULL to avoid illegal reference" * commit 'ee846d3e74eda006f4bbf17cb4844b4d8f9c5cb0': Initialize pointer members to NULL to avoid illegal reference
|
920287399aa640a5352e02ab19fd23b67a8c975b |
09-Jan-2014 |
lina.x.pi <lina.x.pi@sonymobile.com> |
Initialize pointer members to NULL to avoid illegal reference mBitmap and mTexture is not initialized to NULL which causes illegal address access when it fails to be created from oversized bitmap. Change-Id: Iea54bec8788bc5f3a10040fdb43f416c0d41a14c
kiaShader.h
|
8191effc83b3ec4cfc8647a6eb16ee641fa85a2f |
17-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Map shadow light position globally"
|
ed0f7cba53be0af991fc7435549f7a798b1d377b |
17-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix view z translation with 3d projection disabled"
|
7b3dfa4d13ca79404f8b0be6e47002cf8daff0a2 |
17-Jan-2014 |
Chris Craik <ccraik@google.com> |
Transform shadow casters correctly in 3d Change-Id: I11067c5aa8c749089b6ee163ddafa91865cc0d9f
hadowTessellator.cpp
|
cf8d9d4af3faecd804763d7c6f85b3f8741e180b |
16-Jan-2014 |
Chris Craik <ccraik@google.com> |
Fix view z translation with 3d projection disabled The ortho projection can't handle 3d translation, so skip that step if perspective projection isn't enabled. Change-Id: I231e6bcecc82e876b697e098e034f0fd3b06efde
isplayList.cpp
|
3197cded4e265bc99dc82d695bbb7163fe134ed4 |
16-Jan-2014 |
Chris Craik <ccraik@google.com> |
Map shadow light position globally Change-Id: Ic3201cecdf5d2a1dd628e7e40aee912ef516d3b2
penGLRenderer.cpp
hadowTessellator.cpp
hadowTessellator.h
|
f533e947035795a485344f4c270e16507f974901 |
15-Jan-2014 |
Chris Craik <ccraik@google.com> |
Support projection of DisplayLists onto ancestors. For now, ancestor views signal the acceptance of projections with a save(0x20)/restore pair. During the order traversal, each view with the save(0x20) code will collect descendent views with mProjectToContainedVolume (which still needs to be renamed) so that they can be drawn out of order later. - *Temporary* sample code added to HwAccelerationTest. - Note that a projected displaylist must not be clipped. Change-Id: I45c493e845961535b958d59c53e8aff3f8891d9f
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
napshot.cpp
napshot.h
|
81155da28476862a7056ec74312a8010ec154671 |
15-Jan-2014 |
John Reck <jreck@google.com> |
Merge "Remove dead code"
|
2114aef4eaa1c6539d4fe83bb130395dad7fbae7 |
15-Jan-2014 |
John Reck <jreck@google.com> |
Remove dead code Change-Id: I9c96d3d21bd3faed91a5146f5a2b8916c634fdff
enderer.h
|
8790be6de3644e332ec6a17c855da89ffc13a9bf |
03-Dec-2013 |
Leon Scroggins III <scroggo@google.com> |
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
extureCache.cpp
|
255fd80737432fb1d9d0590206f7c103176dcd2c |
14-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Simplify Z reordering logic"
|
9f68c096263b36f59c383435e587bd8bd279af34 |
10-Jan-2014 |
Chris Craik <ccraik@google.com> |
Simplify Z reordering logic Change-Id: I9e36f68d7be5cfd4d69a84a51824cb9a642fe18d
isplayList.cpp
isplayList.h
|
8a3452e7e1cc7b6edf719b155e9d95ec8fbf573a |
13-Jan-2014 |
ztenghui <ztenghui@google.com> |
Merge "Calculate and show the shadow from a spot light."
|
7b4516e7ea552ad08d6e7277d311ef11bd8f12e8 |
07-Jan-2014 |
ztenghui <ztenghui@google.com> |
Calculate and show the shadow from a spot light. Change-Id: Ia558852e8cde5d33866b22875eb501e4c6858819
ndroid.mk
penGLRenderer.cpp
hadowTessellator.cpp
hadowTessellator.h
potShadow.cpp
potShadow.h
ector.h
|
58f09b352417c4ff7e01365727cbf8a09b9bed23 |
09-Jan-2014 |
Alan Viverette <alanv@google.com> |
Add DisplayList bit for projecting onto a contained volume Does not handle reordering/translating the projected DisplayList. Change-Id: I6f1ebb2b20b7436c86fe849b35d582fd9c8a8967
isplayList.cpp
isplayList.h
|
23b797ab5151eb2474f3bdd679f2f07bfd723042 |
04-Jan-2014 |
John Reck <jreck@google.com> |
EGL migration to native Move EGL state management to native side for RemoteGLRenderer Change-Id: I12b0fed70246564d4caebf87374e8bbca655c572
ndroid.mk
tencil.cpp
tencil.h
enderthread/CanvasContext.cpp
enderthread/CanvasContext.h
|
d218a92c0afb8c0d98135b20b52ac87236e1c935 |
03-Jan-2014 |
Chris Craik <ccraik@google.com> |
Use const where possible for drawing parameters They should never be modified by a Renderer, only read and copied. Change-Id: I9d8d55dca19115ee9dfeb2bb3f092ba2fb327cd4
ssetAtlas.cpp
ssetAtlas.h
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
athCache.cpp
athCache.h
athTessellator.cpp
athTessellator.h
enderer.h
esourceCache.cpp
esourceCache.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
extDropShadowCache.cpp
extDropShadowCache.h
extureCache.cpp
extureCache.h
ont/Font.cpp
ont/Font.h
|
8523706236b0b2536ed4359d92ec6ccdca060d78 |
03-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Fix Clang warnings/errors"
|
564acf7c9bff822f608cda0d5df0a64a9f9aaefd |
03-Jan-2014 |
Chris Craik <ccraik@google.com> |
Fix Clang warnings/errors Fix several build warnings (struct != class, int != size_t) and errors (variable leng non-POD arrays). Change-Id: I70b4e784365514303d8954bfcb1f39d7c22c1321
mbientShadow.cpp
ndroid.mk
isplayList.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
atch.h
athCache.h
athTessellator.cpp
rogram.cpp
ect.h
enderer.h
kiaColorFilter.h
kiaShader.h
ertex.h
|
406af0293fde2d7bc12629b3a010019641549f08 |
02-Jan-2014 |
Chris Craik <ccraik@google.com> |
Fix isRecording override Change-Id: Ie73db838b749c29c6a8480ab67897492b83d337a
isplayListRenderer.h
|
d6b65f67717025b1162f86f04e2caa5723566cac |
01-Jan-2014 |
Chris Craik <ccraik@google.com> |
Use const access to snapshot from OpenGLRenderer Additionally, move clipping methods to StatefulBaseRenderer Change-Id: Iff232bf16fc1ad3b7d89493da6d8915db7bc5e4f
isplayListRenderer.cpp
isplayListRenderer.h
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
athTessellator.cpp
athTessellator.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
14e513058ed4168c94e015638d16f5f87fd8063a |
31-Dec-2013 |
Chris Craik <ccraik@google.com> |
Move Snapshot management to intermediate StatefulBaseRenderer class The eventual goal is for the StatefulBaseRenderer to serve as the common base class between the DisplayListRenderer and OpenGLRenderer. This will separate DisplayList recording, Snapshot stack management, and the GL in OpenGLRenderer. Additionally, avoid sp<> parameters, and use const parameters in several places, with the intent of greatly reducing the surface area where renderer subclasses can modify snapshot stack. Next steps: -move bulk of clipping logic into StatefulBaseRenderer -disable direct snapshot access Change-Id: Ibc3c6747134ec7daf8ea535866239fa73b874390
ndroid.mk
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
tatefulBaseRenderer.cpp
tatefulBaseRenderer.h
|
b458942bb6e6cf13c68341dda35ef5cee060f5ae |
27-Dec-2013 |
Chris Craik <ccraik@google.com> |
Create abstract base class for OpenGLRenderer This will eventually serve as a base class to allow DisplayListRenderer to split off from OpenGLRenderer, and could eventually support other rendering approaches, such as an SkCanvas/SkPicture. This will also be the main source of (implementation-independent) documentation of the canvas/renderer methods. Change-Id: I52047f338f5cf86a3b0b3002af7154bff5c3c227
isplayList.cpp
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
enderer.h
|
d863a10b2870ca27f631b2ec69f3e13faed1d02a |
19-Dec-2013 |
Chris Craik <ccraik@google.com> |
Add initial APIs for 3d view manipulation. Change-Id: I6de00bc577d5b3a1fbc9ca3a3b3668fcfa32b867
isplayList.cpp
isplayList.h
|
69d251383f3656a580c3878045de235d70a12000 |
19-Dec-2013 |
Brian Carlstrom <bdc@google.com> |
Track Looper decoupling from ALooper Change-Id: I83d1f5f6600019268c53706b7bf6d94b84931e18
enderthread/RenderThread.cpp
|
804ff38bff2fbb0ee258b13b4bb66eb33d565724 |
13-Dec-2013 |
Tim Murray <timmurray@google.com> |
Handle user-defined cache path for RS. Change-Id: I92e3346dca331ae6a9dfbe4f95292bc604dfd196
ontRenderer.cpp
|
868399cdf48a2459b58a64a906dce5d127458800 |
18-Dec-2013 |
Victoria Lease <violets@google.com> |
Merge "pass SkGlyphCache into updateGlyphCache()"
|
8b62cda49310dd6e8e9b69f651f24e47272fc3f4 |
18-Dec-2013 |
Chris Craik <ccraik@google.com> |
Check mDisplayListData before deref bug:12191897 Change-Id: I72ed3801e72c657b9d7736b0efb33c5e7cfd5b57
isplayList.cpp
|
2ee2d59b7d10733e7e11e398d2316035d3b36c73 |
17-Dec-2013 |
Victoria Lease <violets@google.com> |
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 Change-Id: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89
ont/Font.cpp
ont/Font.h
|
3b3508fe4f57a5d2054b520767b646d461851a42 |
17-Dec-2013 |
Chris Craik <ccraik@google.com> |
Merge "Use vertex assignment instead of manual copy"
|
11a7567d6f0e797d7053c338b55c499bee3d1e42 |
17-Dec-2013 |
Chris Craik <ccraik@google.com> |
Use vertex assignment instead of manual copy Change-Id: I36c806e3370abca61e5bf5064f0f1a776a9ce487
athTessellator.cpp
|
ba9b613437c34873fa95800a25fc51720638267c |
16-Dec-2013 |
Chris Craik <ccraik@google.com> |
Create private properties on GLCanvas for experimentation with 3d Change-Id: I17772f61efce727cb4c1111f4d97f58c741786b8
aches.cpp
aches.h
ebug.h
isplayList.cpp
penGLRenderer.cpp
|
55bfb4e728fe1db619af5d2c287f4abe711b3343 |
03-Dec-2013 |
ztenghui <ztenghui@google.com> |
Calculate and show Ambient shadow. Basically we compute the shadow as a strip of triangles, whose alpha value is the strength of the shadow. We use the normal to extend the geometry. And we use static function and try to avoid new/malloc in the computation. Change-Id: I382286f1cad351bd5ff983f76f446c075819dcaf
mbientShadow.cpp
mbientShadow.h
ndroid.mk
aches.cpp
aches.h
ebug.h
penGLRenderer.cpp
athTessellator.h
hadowTessellator.cpp
hadowTessellator.h
ertexBuffer.h
|
a038bb402b7409fbb60e7ceceb83a4229e56b585 |
13-Dec-2013 |
Tim Murray <timmurray@google.com> |
Merge "Handle user-defined cache path for RS."
|
18809c063b89d9b235401d080b952885a4ef9628 |
13-Dec-2013 |
Chris Craik <ccraik@google.com> |
Merge "3d view system!"
|
abe55e92241fd9a19885f7b11db8d3043ab60c61 |
13-Dec-2013 |
Tim Murray <timmurray@google.com> |
Handle user-defined cache path for RS. Change-Id: I92e3346dca331ae6a9dfbe4f95292bc604dfd196
ontRenderer.cpp
|
f57776b2d195f0937906eb88b777bb55ccc36967 |
26-Oct-2013 |
Chris Craik <ccraik@google.com> |
3d view system! True 3d transformations are now supported by DisplayLists and the renderer, initially with the translationZ property on view. Renderer operations used directly by DisplayList (formerly, clip/save/restore/saveLayer) are now more simply managed by allocating them temporarily on the handler's allocator, which exists for a single frame. This is much simpler than continuing to expand the pool of pre-allocated DisplayListOps now that more operations are called directly by DisplayList, especially with z ordered drawing. Still TODO: -APIs for camera positioning, shadows -Make Z apis public, and expose through XML -Make invalidation / input 3d aware Change-Id: I95fe6fa03f9b6ddd34a7e0c6ec8dd9fe47c6c6eb
ebug.h
eferredDisplayList.h
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ector.h
|
630491973269da1b260e69d6a3f9490b97705037 |
11-Dec-2013 |
John Reck <jreck@google.com> |
Unbreak display list debug dumping Change-Id: I1c6a79f047b29fa60907f6e128cb843a45b88bff
isplayList.h
penGLRenderer.cpp
penGLRenderer.h
|
cec24ae16e9a0a7c3075f1a8d9149bb7fb3813fc |
05-Nov-2013 |
John Reck <jreck@google.com> |
RenderThread work Hacky prototype needs a private API to enable Change-Id: I21e0ddf3cdbd38a4036354b5d6012449e1a34849
ndroid.mk
enderthread/RenderTask.cpp
enderthread/RenderTask.h
enderthread/RenderThread.cpp
enderthread/RenderThread.h
|
aec09b6b98aa75fac426cff6f39a46ae5850594b |
04-Dec-2013 |
Leon Scroggins III <scroggo@google.com> |
Merge "Call SkBitmap::config() instead of ::getConfig()"
|
43b692d9a18224e89fc09a0e68d097322e0ef6bb |
04-Dec-2013 |
Victoria Lease <violets@google.com> |
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
ont/Font.cpp
ont/FontUtil.h
|
4b9a19a8f865970e0079f431c8c2c2a8e4333ae9 |
03-Dec-2013 |
Leon Scroggins III <scroggo@google.com> |
Call SkBitmap::config() instead of ::getConfig() getConfig() has been deprecated. Change-Id: I32066256ab82ac4760c752c80856d1b56d291fae
penGLRenderer.cpp
extureCache.cpp
|
f0a590781b2c3e34132b2011d3956135add73ae0 |
20-Nov-2013 |
Chris Craik <ccraik@google.com> |
Clean up quick rejection, especially surrounding points + lines. bug:4351353 quickReject and quickRejectNoScissor have been renamed and refactored: - to make the scissor side effect clear and explicit - dangerous methods no longer public - to make the simple quick reject check logic const - simple quick reject is now conservative This CL also fixes several issues with line and point quickRejection - sub-pixel and hairline lines are much less likely to be incorrectly rejected, especially at small canvas scale. Additionally, alpha modulation for AA points < 1px in size is now correct, dumplicating SW behavior (similar to lines and stroked shapes work). Change-Id: Ibb0710c721b9fb415d05acf54dd3d2b4d602156a
isplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
athTessellator.cpp
athTessellator.h
ect.h
|
dbccd44a638ae8705a5b14bff8b2dd74abc26045 |
22-Nov-2013 |
The Android Open Source Project <initial-contribution@android.com> |
Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
|
4063a0e03ba2e354cc6d19c0ffc073fd5b8aa2ca |
16-Nov-2013 |
Chris Craik <ccraik@google.com> |
Clean up modelView matrix logic bug:11359533 Also changes shader matrix to correctly account for modelView and currentTransform() Change-Id: I6ce18857dc6d08ea08ca7535385c2ad351ec3caa
ontRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
16e7d730c5fc974d5652a4a7a6e19a163225315a |
07-Nov-2013 |
Chris Craik <ccraik@android.com> |
am 2f70da2b: am 6ed16a89: am 0b807d2e: Merge "Update the layer\'s alpha value upon composition of the layer" * commit '2f70da2bc5ce9f4766395cc9d848f0afe8f6a2a9': Update the layer's alpha value upon composition of the layer
|
2f70da2bc5ce9f4766395cc9d848f0afe8f6a2a9 |
07-Nov-2013 |
Chris Craik <ccraik@android.com> |
am 6ed16a89: am 0b807d2e: Merge "Update the layer\'s alpha value upon composition of the layer" * commit '6ed16a89d836a33b9242f91b05e8ecb149abf909': Update the layer's alpha value upon composition of the layer
|
a5ff739d3c9e15d07f1d5c644b4f11205cdac0e8 |
04-Nov-2013 |
Digish Pandya <digishp@codeaurora.org> |
Update the layer's alpha value upon composition of the layer Fixes: This patch makes sure that the layer's alpha value is up-to-date and does not reflect the previous view's alpha value. it fixes the square block on marquee fading edge when text view is applied transparency. Change-Id: I110649db72a75fecc02ba56c201a05773f80328c
penGLRenderer.cpp
|
e63f7c622a2086aefa80983c6f41b74fb166bb42 |
17-Oct-2013 |
Chris Craik <ccraik@google.com> |
Clean unused parameters, disable warnings Change-Id: Iddb872f53075dd022eeef45265594d1c6a9e2bc0
ndroid.mk
radientCache.cpp
radientCache.h
penGLRenderer.cpp
penGLRenderer.h
rogram.h
kiaShader.cpp
kiaShader.h
extDropShadowCache.cpp
extureCache.cpp
ont/CacheTexture.cpp
ont/CacheTexture.h
|
ac56414b924b20577f996b3b837cc3d894ead3c7 |
26-Sep-2013 |
Romain Guy <romainguy@google.com> |
am b4d4d687: am 318ae7bb: Take SkBitmap\'s stride into account when uploading textures Bug #10151807 * commit 'b4d4d68795a10401e3cb50df491a2e5d5b1ac96e': Take SkBitmap's stride into account when uploading textures Bug #10151807
|
318ae7bb92869d99a05388c598ad105e7aa4cdbd |
25-Sep-2013 |
Romain Guy <romainguy@google.com> |
Take SkBitmap's stride into account when uploading textures Bug #10151807 Change-Id: I7ba4804fa3619088fea70eb55f10519fff0bf5f0
xtensions.h
extureCache.cpp
extureCache.h
ont/CacheTexture.cpp
ont/CacheTexture.h
|
5caebe4c7c8644b1dbf3fef23551373b95a8efd6 |
21-Sep-2013 |
Chris Craik <ccraik@google.com> |
am bd842f96: am d8a84a86: Merge "Correct bitmap merging logic" into klp-dev * commit 'bd842f96ed4a9b7887be4702828ea0034d66ef85': Correct bitmap merging logic
|
d8a84a8609951826135a2e41a1cdd6b7cf680e27 |
21-Sep-2013 |
Chris Craik <ccraik@google.com> |
Merge "Correct bitmap merging logic" into klp-dev
|
996fe656340ede058a6f0e6b18f9ec525ddb4e27 |
21-Sep-2013 |
Chris Craik <ccraik@google.com> |
Correct bitmap merging logic bug:10863163 This fixes two issues The check for pure translation was incorrect. It was fixed and renamed for clarity. Certain matrix paths weren't setting kTypePositiveScale. For simplicity (and because positive scale is simple to check) removed flag in favor of dynamic checking. Change-Id: Ic5ce235653ef49a68b8b242bd89fc2e95874ecc9
isplayListOp.h
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
|
9e233b54b6a421710a43b6dc3efeb01092b25edf |
20-Sep-2013 |
Victoria Lease <violets@google.com> |
am ab99b39d: am ddc0a63d: Merge "fix emoji clipping in hw draw path" into klp-dev * commit 'ab99b39d7d152de35ea02a364190ff325da4015b': fix emoji clipping in hw draw path
|
16c84069a4cc0c0d3c35e798dc5e4b0130d4a26f |
20-Sep-2013 |
Victoria Lease <violets@google.com> |
fix emoji clipping in hw draw path I guess we don't want to overwrite the last line in every RGBA glyph with our one-line texture atlas spacer? Bug: 10841207 Change-Id: Ief85ca58650c731e9d21dbf90942b7b44670abcc
ontRenderer.cpp
|
2765c0b71679b5762ed72610e8310abd6d071b96 |
18-Sep-2013 |
Chris Craik <ccraik@google.com> |
resolved conflicts for merge of d97303a7 to master Change-Id: I29e2e64e0ec241675762482cbe5c5e9dc58adca6
|
e08e6632294143f889ab68f0c3453ee6802dc60e |
18-Sep-2013 |
Chris Craik <ccraik@google.com> |
am 7cb404dd: am a42ceb03: Merge "Disallow negative scale matrices in merged Bitmap drawing" into klp-dev * commit '7cb404dda770da24aaf1b484d6575d5480cf080f': Disallow negative scale matrices in merged Bitmap drawing
|
ce9ee16d654a42f31d211c60708d7b23f17c1d8e |
18-Sep-2013 |
Chris Craik <ccraik@google.com> |
Merge "Conservatively estimate geometry bounds" into klp-dev
|
a42ceb03cf6a1cbcd9f526afb02d806b2c200ee3 |
18-Sep-2013 |
Chris Craik <ccraik@google.com> |
Merge "Disallow negative scale matrices in merged Bitmap drawing" into klp-dev
|
32f05e343c5ffb17f3235942bcda651bd3b9f1d6 |
18-Sep-2013 |
Chris Craik <ccraik@google.com> |
Conservatively estimate geometry bounds bug:10761696 Avoids a case where a rect with top coordinate of (e.g.) 0.51f is assumed to not draw in the first row of pixels, which leads to it not being clipped. Since rounding can cause it to render in this first pixel anyway, we very slightly expand geometry bounds. Now, in ambiguous cases, the geometry bounds are expanded so clipping is more likely to happen. Change-Id: I119b7c7720de07bac1634549724ffb63935567fc
penGLRenderer.cpp
rogram.cpp
ect.h
ertex.h
|
d965bc5823d878a3fd056b8a95fb4eb578ed3fe4 |
16-Sep-2013 |
Chris Craik <ccraik@google.com> |
Disallow negative scale matrices in merged Bitmap drawing bug:10622962 Change-Id: I55ac18ad56b53dc9e6e6ea14cd3ec4bdafa98ac3
eferredDisplayList.cpp
isplayListOp.h
atrix.cpp
atrix.h
|
d3979bc5a7fc45d14fdbc24c64ad798eee8b68af |
14-Sep-2013 |
Chris Craik <ccraik@google.com> |
am bb451bda: am 0d3c52d3: Merge "Fix merged operation clipping" into klp-dev * commit 'bb451bda4a08f79b60f84242647bdb40962f01b5': Fix merged operation clipping
|
5af5fc50c2f43fc0e0813e02cb6a950901a9c0b8 |
13-Sep-2013 |
Chris Craik <ccraik@google.com> |
Fix merged operation clipping bug:10745870 Missing 'const' meant MergingDrawBatch would never clip anything. Change-Id: Ia6367eff94cf5f437efafbc3ba7f0da102ffd956
eferredDisplayList.cpp
|
b1c53942f1422453093943eed04bb8720f05ddb4 |
13-Sep-2013 |
Romain Guy <romainguy@google.com> |
am 0885b291: am 4801a4f9: Merge "Always disable the clip for layers Bug #8149344" into klp-dev * commit '0885b291650c1b85220645943c9eab3080170aca': Always disable the clip for layers Bug #8149344
|
7cca88352fc0597a74af13ea0b7c116de29e981e |
13-Sep-2013 |
Chris Craik <ccraik@google.com> |
am 3f30e67a: am 88ee0dac: Merge "Move DeferredDisplayState out of ops" into klp-dev * commit '3f30e67afbceb185c52833cec539cc0199716ef0': Move DeferredDisplayState out of ops
|
1de466fc91511de8428affcf1eb71dc6af946145 |
13-Sep-2013 |
Romain Guy <romainguy@google.com> |
Always disable the clip for layers Bug #8149344 Change-Id: Ifd413cadb171232eb846b3d91b05b2d2457b9f35
isplayList.cpp
|
88ee0dac81dec12aefdeee23072df9b3864a06a4 |
13-Sep-2013 |
Chris Craik <ccraik@google.com> |
Merge "Move DeferredDisplayState out of ops" into klp-dev
|
c1c5f0870282b56dafe5a4d756e4b9e6884655a7 |
12-Sep-2013 |
Chris Craik <ccraik@google.com> |
Move DeferredDisplayState out of ops bug:9969358 Instead of storing DeferredDisplayState within an op (thus forcing ops to be tied to a single state instance), associate each op with a new state at DeferredDisplayList insertion time. Now, DisplayLists (and the ops within) can be reused in a single DeferredDisplayList draw call, as ops will use different state instances at different points in the frame. Change-Id: I525ab2abe0c3883679f2fa00b219b293e9ec53d9
eferredDisplayList.cpp
eferredDisplayList.h
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.h
|
2f93af4574fbca9c94679744114ce40496aa69b8 |
10-Sep-2013 |
John Reck <jreck@google.com> |
am 53760b4a: am 874ae2ad: Merge "Fix scissor for functor invocation" into klp-dev * commit '53760b4a97fb2f88e94da73d647ff80221b3c454': Fix scissor for functor invocation
|
874ae2adf8c24c4b9d68f781239a95ad047e212a |
10-Sep-2013 |
John Reck <jreck@google.com> |
Merge "Fix scissor for functor invocation" into klp-dev
|
efb6beb4388e51a2e29ec605c500801f7ff150e6 |
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
am 19c727bb: am 895a4375: Merge "Fix FontRenderer bug." into klp-dev * commit '19c727bbc6371924bfd2f85e804b5b6b093a8413': Fix FontRenderer bug.
|
7a454ba5fee0bbb9f2e1292f8eede655516c0f2c |
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
Fix FontRenderer bug. bug 10691313 Change-Id: Icd5341a3c2066e337911f040ddc935c48c8d7cd1
ontRenderer.cpp
|
25d2f7bc1ff9b475eff75bfff647466e91dbacb2 |
10-Sep-2013 |
John Reck <jreck@google.com> |
Fix scissor for functor invocation Bug: 10677765 enableScissor() must precede setScissorFromClip() as otherwise setScissorFromClip() doesn't do anything. Also make sure to call setScissorFromClip() if enableScissor() returns true as enableScissor() calls resetScissor() if the scissor state has changed. Change-Id: I9226b20bb256c92066aae344e4e6407540b6eae9
penGLRenderer.cpp
|
86ebf2876dce04c845ae61846f3aa966d13eab8c |
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
am 9163b1d9: am 23ae1461: Merge "Add flags word to initialization." into klp-dev * commit '9163b1d9ceeca3e956218dda1ca19a748dc48d8d': Add flags word to initialization.
|
9578e642403c0fa4fdcb32828f27c2417cabe88d |
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
Add flags word to initialization. bug 10427951 Change-Id: I1356b9b96315ead44aa3898de5604d75f9bb8be5
ontRenderer.cpp
|
0ff8c5f33c78cdbec5f9226fc528120bb99c232f |
06-Sep-2013 |
Chris Craik <ccraik@google.com> |
am 9b824560: am 9b40bdf6: Merge "Dump the right matrix when logging display lists" into klp-dev * commit '9b824560726eab653a1044eecdb0bfe5ff804865': Dump the right matrix when logging display lists
|
66063ae2d6ff523bbf200cccdb9223d824c240a4 |
06-Sep-2013 |
Chris Craik <ccraik@google.com> |
Dump the right matrix when logging display lists bug:10631274 Change-Id: I6b32bfcb3e207321da60807091d7ac0ecf6112ab
isplayList.cpp
|
815fbbdfca52c37f251f156122b5537a9b9807e9 |
27-Aug-2013 |
Chris Craik <ccraik@google.com> |
am 7ff37ada: am ff2c22e2: Merge "Move functor GL setup to just before functor" into klp-dev * commit '7ff37ada138d9023e9d646f7195ae761a7b83ff2': Move functor GL setup to just before functor
|
54f574acf4dd5483170b8f79e2f7c70b58763ce7 |
26-Aug-2013 |
Chris Craik <ccraik@google.com> |
Move functor GL setup to just before functor bug:10399469 Because the stencil setup can issue draws, it *must* come before the GL state setup. Change-Id: I52a36213549fc60b091a90cbb923a1f0d35f9a65
penGLRenderer.cpp
|
0a57d6587200b408263f5e895ad16c7108608a26 |
22-Aug-2013 |
Romain Guy <romainguy@google.com> |
am c1acf799: am 243a026b: Merge "Second attempt at avoiding infinite loop in PathCache::trim() Bug #10347089" into klp-dev * commit 'c1acf7994a975903320ec8146c62118b651debc4': Second attempt at avoiding infinite loop in PathCache::trim() Bug #10347089
|
5d923200846ed59e813373bde789d97d4ccc40b5 |
22-Aug-2013 |
Romain Guy <romainguy@google.com> |
Second attempt at avoiding infinite loop in PathCache::trim() Bug #10347089 Change-Id: I70f5a3933e848632473acc6636c88be5dc6ac430
athCache.cpp
|
880d6fecfcc00529ff4df44670240fb20f5fba96 |
22-Aug-2013 |
Romain Guy <romainguy@google.com> |
am b7db6d73: am e0a2435c: Merge "Properly account for created paths in the cache" into klp-dev * commit 'b7db6d73a4a7fc2c2ec189780e1532cb0e2c638b': Properly account for created paths in the cache
|
0a8c51b1d0d66d6060afcec1eab33091d49332ae |
22-Aug-2013 |
Romain Guy <romainguy@google.com> |
Properly account for created paths in the cache Change-Id: I47b89b3085cefab6daac9194e7bfd3c140b37fa2
athCache.cpp
hread/TaskManager.cpp
|
2f7c6f04cc0593c449da3334653e6d0c20016c2b |
21-Aug-2013 |
Romain Guy <romainguy@google.com> |
am dfb79408: am 5b8efc47: Merge "Add overdraw debugging that accounts for Deuteranomaly" into klp-dev * commit 'dfb79408892b3f168204c54a9b81d813921fb0f9': Add overdraw debugging that accounts for Deuteranomaly
|
627c6fd91377ead85f74a365438e25610ef1e2ee |
21-Aug-2013 |
Romain Guy <romainguy@google.com> |
Add overdraw debugging that accounts for Deuteranomaly Change-Id: I31f68a07aa7cf0490d2572e24e4c5ac2066a1151
aches.cpp
aches.h
penGLRenderer.cpp
roperties.h
|
ede1deaa88b546188808a8c6ef7dafb087594753 |
20-Aug-2013 |
Tim Murray <timmurray@google.com> |
am 816f3058: am cf8e6778: Merge "Handle updates to C++ API." into klp-dev * commit '816f3058bdd7b888965022888e4a789ea967f444': Handle updates to C++ API.
|
d8c8aaa82ef90f30df647ca42453e953ee52af0f |
19-Aug-2013 |
Tim Murray <timmurray@google.com> |
Handle updates to C++ API. Change-Id: I8ab17cbae3a9a4cc3c3202b8277d49f27bdf1fec
ontRenderer.cpp
|
cb39785dd78175e2188113693256d5b8580ed985 |
17-Aug-2013 |
Romain Guy <romainguy@google.com> |
am 725617f6: am 83aec80f: Merge "Fix hardware layers lifecycle Bug #10075732" into klp-dev * commit '725617f66a07488f8cafda24c517e257e9eb2bc2': Fix hardware layers lifecycle Bug #10075732
|
46bfc4811094e5b1e3196246e457d4c6b58332ec |
17-Aug-2013 |
Romain Guy <romainguy@google.com> |
Fix hardware layers lifecycle Bug #10075732 Hardware layers could survive across EGL terminate events. Change-Id: Ie8565d55cb29fe6625fa1584d695edfecd37ab5e
aches.cpp
|
fa017cd3dbc3979f86d3cf457946b322106be589 |
17-Aug-2013 |
Romain Guy <romainguy@google.com> |
am 34d89c6b: am 836d335f: Merge "Prevent ANR in apps using drawPath() Bug #10347089" into klp-dev * commit '34d89c6b052ad8812c2c1a6eb55da64ee0dc67ee': Prevent ANR in apps using drawPath() Bug #10347089
|
b0a41ed3dcc34a2b4026f6cc8336796f3523aa21 |
16-Aug-2013 |
Romain Guy <romainguy@google.com> |
Prevent ANR in apps using drawPath() Bug #10347089 If an app clears its path cache before stopping background tasks, it could get into an infinite loop in PathCache::trim(). Change-Id: Ieb865b762e7b00aebaba0c023769c2db286a94f5
aches.cpp
|
3b0ca9c13cbb3d59c538522a08055f5fb71e2548 |
16-Aug-2013 |
Romain Guy <romainguy@google.com> |
am bd3c2c3d: am 88105179: Merge "Clear FBO cache on full memory flush" into klp-dev * commit 'bd3c2c3d704fe5348ae9501f52cf9591a17e1a1e': Clear FBO cache on full memory flush
|
b746371de7f21ae36a14953d9b253df06838efb1 |
16-Aug-2013 |
Romain Guy <romainguy@google.com> |
Clear FBO cache on full memory flush Change-Id: I44e06d5d15cd899a0522c62d7c0d042170665abb
aches.cpp
|
3380cfdc77100e87aa8390386ccf390834dea171 |
16-Aug-2013 |
Romain Guy <romainguy@google.com> |
Replace float arrays with readable names Change-Id: I32a8be560b60a4ac5cbee2fec4574b2c5df9f825
aches.h
isplayListOp.h
ontRenderer.cpp
penGLRenderer.cpp
athTessellator.cpp
ertex.h
|
723b2feb929b96b1dde40a865c49ea18bc42f055 |
12-Aug-2013 |
Victoria Lease <violets@google.com> |
fix kBW_Format glyphs Oops! kBW_Format was omitted from a couple of switch statements, resulting in glyphs in that format being invisible. Bug: 10206452 Change-Id: Ib2aa52250aeeecc0de1b1b78e3d0f568f368c73e
ontRenderer.cpp
ont/CacheTexture.cpp
|
9b5a1a28c327e6113d68302b1f0eed1d1c6f6183 |
09-Aug-2013 |
Romain Guy <romainguy@google.com> |
Take shadow bounds into account for quick rejects Bug #8634346 Change-Id: I995c5205c2959d8e4da638ae47fedcda92eb1b36
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.h
|
003123004f7b23b3dc472d5c40b8c1a16df37a54 |
09-Aug-2013 |
Romain Guy <romainguy@google.com> |
Remove an unnecessary allocation Also remove dead code from OpenGLRenderer.cpp Change-Id: I7eb54ca19e77ee3c32f1fe9513a031e6b2e115cf (cherry picked from commit 5c7d5ab878b26f855175a3305a14ac12fcacf25e)
penGLRenderer.cpp
penGLRenderer.h
|
7f6d6b0370df4b5a9e0f45bffc31ea6caeeb509d |
06-Aug-2013 |
Romain Guy <romainguy@google.com> |
Split assets atlas batches Bug #10185769 The assets atlas contains assets that need to be blended and assets that do not need to be blended. With a single merge id, currently set to be the pointer to the atlas itself, draw ops merging could generate batches of commands containing both opaque and translucent assets. The blend state was chosen from only one of the assets in the batch, leading either to inefficiencies (blending large opaque assets) or incorrect behaviors (not blending translucent assets.) This change introduces two new merge ids in the atlas: an opaque key and a blend key. These keys are simple booleans set to false and true respectively (the values do not matter really.) Their memory addresses are used as the merge ids when createing draw ops batches, allowing all opaque ops to be batched together and all translucent ops to be batched together. Change-Id: I114dba0533c44987e53864b471ccb28c811f2025
ssetAtlas.cpp
ssetAtlas.h
eferredDisplayList.h
isplayListOp.h
|
250b1cfc831fd2a271c09cab547efcc5e3d5f828 |
01-Aug-2013 |
Tim Murray <timmurray@google.com> |
Handle updates to RS C++ API. Change-Id: I73127fc7369643b94d4a49f31a516b50c74b54ac
ndroid.mk
ontRenderer.cpp
ontRenderer.h
|
b213cec0ce659c1e35c3e7f60a61bae38d94482a |
02-Aug-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fix quickReject's handling of AA ramp geometry"
|
5e49b307eb99269db2db257760508b8efd7bb97d |
31-Jul-2013 |
Chris Craik <ccraik@google.com> |
Fix quickReject's handling of AA ramp geometry By having quickReject round out the window-space geometry bounds, we prevent the AA perimeter (which falls outside the local bounds passed in) from drawing outside the clip. Change-Id: I8ee36be9039a9c47906815ee2f0dbaa5eb910b82
eferredDisplayList.h
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
|
b7b93e00893f5c690a96bd3e0e10583bc5721f83 |
02-Aug-2013 |
Romain Guy <romainguy@google.com> |
Fix region clipping bugs See external bug #58344 Change-Id: Iecd6c41fc8076cd76add2335d3442a6dd8878f12
isplayListOp.h
penGLRenderer.cpp
tencil.cpp
|
1e546815bbb736c50679a8aefc25f48561026fc5 |
25-Jun-2013 |
Victoria Lease <violets@google.com> |
Support RGBA fonts and bitmap fonts (and RGBA bitmap fonts) Quite a few things going on in this commit: - Enable bitmap strikes by default in Paint objects. The SkPaint parameter that enables bitmap strikes was not previously included in DEFAULT_PAINT_FLAGS. This effectively disabled bitmap fonts. Oops! It's for the best, though, as additional work was needed in Skia to make bitmap fonts work anyway. - Complain if TEXTURE_BORDER_SIZE is not 1. Our glyph cache code does not currently handle any value other than 1 here, including zero. I've added a little C preprocessor check to prevent future engineers (including especially future-me) from thinking that they can change this value without updating the related code. - Add GL_RGBA support to hwui's FontRenderer and friends This also happened to involve some refactoring for convenience and cleanliness. Bug: 9577689 Change-Id: I0abd1e5a0d6623106247fb6421787e2c2f2ea19c
aches.cpp
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.h
penGLRenderer.cpp
ixelBuffer.h
ont/CacheTexture.cpp
ont/CacheTexture.h
ont/FontUtil.h
|
fb6c743c6e01aa2d4c457d85389a698a193c60b8 |
24-Jul-2013 |
Romain Guy <romainguy@google.com> |
Merge "Fix 9patches' limitation of 32 empty quads"
|
6cad75744ed3b81cf2c96f545368067b62c726ec |
24-Jul-2013 |
Romain Guy <romainguy@google.com> |
Fix 9patches' limitation of 32 empty quads The 9patch format allows to define more empty quads than this, remove the use of a single int to index empty quads and replace it with a lookup in the 9patch resource data structure. Change-Id: I148ee5d9e0c96822b534a344e15c9d88078db7c2
xtensions.cpp
atch.cpp
atch.h
|
98427708a81eefcc24ae29e2f22e55f1ae44c927 |
23-Jul-2013 |
Chris Craik <ccraik@google.com> |
Merge "Ensure glActiveTexture is cleaned up correctly on functor resume"
|
9ab2d1847552aa4169b4325aae1b1368d6947a9f |
23-Jul-2013 |
Chris Craik <ccraik@google.com> |
Ensure glActiveTexture is cleaned up correctly on functor resume Change-Id: I103d7d63b17289d599c2c08dcc442cfba9b8e51d
aches.cpp
aches.h
penGLRenderer.cpp
|
448455fe783b0a711340322dca272b8cc0ebe473 |
22-Jul-2013 |
Romain Guy <romainguy@google.com> |
Use global indices array to draw layers An array of indices local to a layer would only be necessary if we changed the way we resolve T-junctions. Since we only ever draw quads, let's just use the indices we use everywhere else. This change also uses the global indices array to render list of colored rectangles to save on the number of vertices generated CPU-side. Change-Id: Ia6d1970b0e9247805af5a114ca2a84b5d0b7c282
ayer.cpp
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
b3d83888229d9a9d40c3ada037fcf6f96e80e125 |
17-Jul-2013 |
Chris Craik <ccraik@google.com> |
Merge "Support stencil-based clipping for functors"
|
4e7b772b733593fbe25c733e95b8dcea293234b6 |
16-Jul-2013 |
Romain Guy <romainguy@google.com> |
Fix crashes in setMatrix() and concat() setMatrix() was crashing in native code, only with hw acceleration on. concat() would throw a NullPointerException. It now ignores null matrices. Change-Id: Iebd8b410a957d2ba501570c6fbb3f680ff4a1a23
isplayListOp.h
isplayListRenderer.h
|
ecca6da4eab601f05a9d977c8d2651068b6e16b2 |
16-Jul-2013 |
Chris Craik <ccraik@google.com> |
Support stencil-based clipping for functors bug:9070351 Change-Id: I1c54e1bea1b84b1619cce27b14f189b42cab7062
penGLRenderer.cpp
|
0c20c3898a533b7b76f60827cb6ea02e17c5953d |
02-Jul-2013 |
Chris Craik <ccraik@google.com> |
Use global references for Bitmap AndroidPixelRefs bug:9621717 Because we're no longer holding onto Bitmaps Java side during DisplayList lifetime, use global refs to keep the backing byte arrays around. Adds back bitmap buffer passing + native ref management removed by 3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 Adds back globalRef-ing removed by f890fab5a6715548e520a6f010a3bfe7607ce56e Change-Id: Ia59ba42f05bea6165aec2b800619221a8083d580
esourceCache.cpp
|
c36fe2fc5354fadc140c898f59d47859cbdeac67 |
28-Jun-2013 |
Romain Guy <romainguy@google.com> |
am 55e789db: am ed96349a: am 3d1b158e: Merge "Fix out of range glCopyTexImage2D Bug #9425270" into jb-mr2-dev * commit '55e789dbc782be0dcaf1d4bae5f32e9e2f674152': Fix out of range glCopyTexImage2D Bug #9425270
|
b254c242d98f4a9d98055726446351e52bece2c6 |
28-Jun-2013 |
Romain Guy <romainguy@google.com> |
Fix out of range glCopyTexImage2D Bug #9425270 A better solution would be to use glCopyTexImage2D whenever possible but this change would be a little more dangerous. Change-Id: Ib1aaceda39d838716285ef97f356721416822dbb
penGLRenderer.cpp
|
55b6f95ee4ace96c97508bcd14483fb4e9dbeaa0 |
28-Jun-2013 |
Romain Guy <romainguy@google.com> |
Track the atlas' generation ID Bug #9589379 If the atlas is terminated/reinitialized and a view does not invalidate in between it might end up using a stale AssetAtlas::Entry. This change is similar to how 9patch meshes are cached in DrawPatchOp: we simply track the generation ID of the cache to make sure we always use the latest data. Change-Id: Ib5abb3769d2ce0eabe9adc04e320ca27c422019e
ssetAtlas.cpp
ssetAtlas.h
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
e3b0a0117a2ab4118f868a731b238fe8f2430276 |
27-Jun-2013 |
Romain Guy <romainguy@google.com> |
Refcount 9-patches and properly handle GC events This change adds refcounting of Res_png_9patch instances, the native data structure used to represent 9-patches. The Dalvik NinePatch class now holds a native pointer instead of a Dalvik byte[]. This pointer is used whenever we need to draw the 9-patch (software or hardware.) Since we are now tracking garbage collection of NinePatch objects libhwui's PatchCache must keep a list of free blocks in the VBO used to store the meshes. This change also removes unnecessary instances tracking from GLES20DisplayList. Bitmaps and 9-patches are refcounted at the native level and do not need to be tracked by the Dalvik layer. Change-Id: Ib8682d573a538aaf1945f8ec5a9bd5da5d16f74b
aches.cpp
isplayList.cpp
isplayList.h
isplayListRenderer.cpp
isplayListRenderer.h
atchCache.cpp
atchCache.h
athCache.cpp
athCache.h
esourceCache.cpp
esourceCache.h
|
f296dca95f09be9832b5dcc79717986525d2b6cb |
24-Jun-2013 |
Romain Guy <romainguy@google.com> |
(Small) 9patch drawing improvements Save a bit of memory in meshs generated from native code Avoid an extra if/else when drawing with hardware accelration on Change-Id: I31a4550bde4d2c27961710ebcc92b66cd71153cc
atch.cpp
|
4f20f8ae50ecc3b6c04afd2e62716ca87620962b |
21-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Initialize MergingDrawBatch clip with viewport bounds"
|
0e87f00f8cb79635aa70b9a2dfa02bf19dc7473d |
20-Jun-2013 |
Chris Craik <ccraik@google.com> |
Initialize MergingDrawBatch clip with viewport bounds This allows merged, clipped operations to behave correctly within a savelayer, even if the base viewport has a large offset. Additionally, disregard opaqueness when within a complexclip/savelayer, as the coverage can't be trusted. Change-Id: Ic908b82a4bb410bc7fac1b4295f4874ed166efc5
eferredDisplayList.cpp
penGLRenderer.cpp
penGLRenderer.h
|
64d592129e4f5231f61ac2b6055e1b37f8c0ebb6 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Refcount the paint used by Canvas.drawPatch()"
|
16ea8d373b03b1e115dd505af70dbee4e3a3a182 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Refcount the paint used by Canvas.drawPatch() Prevents crashes :) Change-Id: I62103ce97490613142321f080b82c2edaed67a95
isplayListRenderer.cpp
|
2c290392c9a934f9ac48364af01c848b01ba8e80 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Batch 9-patches in a single mesh whenever possible"
|
ede7eb7749e08b6343955cf52304a17f21c54e6f |
21-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Make op outputting const, for more general logging"
|
03c00b5a135e68d22ca5bb829b899ebda6ed7e9d |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Batch 9-patches in a single mesh whenever possible This change also fixes the way batched bitmaps were handled inside a layer. The layer is now correctly dirtied to minimize the amount of pixels to blend. Fix alpha, mode and opaque computations for DrawPatchOp. Change-Id: I1b6cd581c0f0db66c1002bb4fb1a9811e55bfa78
isplayListOp.h
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
atchCache.cpp
ixelBuffer.cpp
|
d485ef27c795648c4a05c4c089e8c5a15712fd36 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "An identity matrix should be considered a pure translate matrix"
|
f6bed4f12a2c975678fc0bdea15054ab169aafb5 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
An identity matrix should be considered a pure translate matrix Change-Id: I75e91797e8270f902f67bdd7bb526cccc23adc6b
atrix.cpp
atrix.h
|
d4fed90d246a8decf962cd3a63507a3637354fb1 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Add debugging logs for GPU pixel buffers"
|
9e6f3ac109b5cd7736122d1bdf83ed38b9d739c6 |
21-Jun-2013 |
Romain Guy <romainguy@google.com> |
Add debugging logs for GPU pixel buffers Change-Id: I7edb04dd30ee6fd823099e72788169cc185e70f2
ixelBuffer.cpp
|
c5493fb7fa1f6995955c667d4377f2337f2cf465 |
20-Jun-2013 |
Chris Craik <ccraik@google.com> |
Make op outputting const, for more general logging Change-Id: Iaf78985ee5558e0b5d32d7bc1cd039eaffc820e5
isplayListOp.h
|
fb5a41a371e540f402e3dd987b0fbf92d1267902 |
20-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Fix regression: TextureView.setAlpha() was ignored"
|
2458939b5f926176a485a3196f59688eed78e858 |
19-Jun-2013 |
Romain Guy <romainguy@google.com> |
Fix regression: TextureView.setAlpha() was ignored Change-Id: I9f43eec0fe23a65dcc1cf9cd0ac1f5e8907786a7
penGLRenderer.cpp
|
cadc5bf4116945a1800061f984d95175e20caba6 |
19-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Share Caches' index buffer with FontRenderer"
|
31e08e953fe7bdb1b1cbc247156cb6a19917a2f1 |
19-Jun-2013 |
Romain Guy <romainguy@google.com> |
Share Caches' index buffer with FontRenderer This reduces state changes when we draw 9patches and text together, which happens *a lot*. Also disable the NV profiling extension by default since it doesn't play nice with display lists deferrals. To enable it set debug.hwui.nv_profiling to true. Change-Id: I518b44b7d294e5def10c78911ceb9f01ae401609
aches.cpp
aches.h
xtensions.cpp
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
roperties.h
ont/CacheTexture.h
|
77d55c7e5c7ace27dfe56665a59edc17102418a8 |
18-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Take hinting into account when caching fonts Bug #9464403"
|
2d5945e88731787babce1061f44cd54f02eeefc5 |
18-Jun-2013 |
Romain Guy <romainguy@google.com> |
Take hinting into account when caching fonts Bug #9464403 Change-Id: I26a5f0c17eb27d096717b444d3e18ad1d2b5a43c
ont/Font.cpp
ont/Font.h
|
49cc5d71192cbd776e237488218aea18a3ed14b1 |
18-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Handle all text bounds as post-translated"
|
f09b746acb266a849f3421df1604ebec161bb93d |
18-Jun-2013 |
Chris Craik <ccraik@google.com> |
Handle all text bounds as post-translated We were treating immediate mode bounds as pre translate, which is inconsistent with using them for quickRejection. This fixes the overdraw counter not drawing correctly (since it uses immediate mode drawing. Change-Id: I1c734d367a00942bd7d9b041822c0a9f284e70a8
isplayListOp.h
|
36d38cb904556025b76c6d98f9fe2ccfa1c8a304 |
17-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Better handle op size edge cases"
|
d72b73cea49f29c41661e55eb6bfdbc04f09d809 |
17-Jun-2013 |
Chris Craik <ccraik@google.com> |
Better handle op size edge cases bug:9464358 Previously, empty and unknown sized ops are assumed to fully cover their clip. This is now corrected such that empty sized ops are pre-rejected before defer. Additionally, unknown sized ops disable overdraw avoidance. Change-Id: Icf2ce24f98be5ea6299e24ffcf826790373564a1
eferredDisplayList.cpp
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
|
fb5c9050978afad2c1df570a13a6747f438c27f7 |
17-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Cancel layer update when a layer is about to be destroyed Bug #9310706"
|
e93482f5eac3df581d57e64c2a771a96aa868585 |
17-Jun-2013 |
Romain Guy <romainguy@google.com> |
Cancel layer update when a layer is about to be destroyed Bug #9310706 Change-Id: I73eea6314c326f15a979617e3a05b525935f0d3f
ayer.cpp
ayer.h
ayerCache.cpp
penGLRenderer.cpp
penGLRenderer.h
|
61e1ca68fa82e5228b5bfcdad8deecd9383fb183 |
17-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Check for layer renderer in flush"
|
8c6e17c2a9b0ad7864a261cc9a30b9623e20bdcb |
17-Jun-2013 |
Chris Craik <ccraik@google.com> |
Check for layer renderer in flush bug:9310706 In some cases flush will occur after a layer is destroyed. Avoid trying to draw after putting the layer in the layer cache. Change-Id: I55d66f420e7354fe552c82eb3145a7d91b4441e3
ayer.cpp
|
2a0451e54a3c3b397861736c42e42125bd938d43 |
17-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fix clip merging behavior"
|
5216c3b05fc6c7bacd74be67b932fe3aba89cc8e |
15-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge more 9patches Change-Id: If8b16af84f0ee42afc406922d15897e51d833e68
isplayListOp.h
|
a02c4ed885d97e516f844ddb0a96083f1b45b4cb |
14-Jun-2013 |
Chris Craik <ccraik@google.com> |
Fix clip merging behavior Previously, a new op with a clipped side could be added to a MergingDrawBatch without considering the batch's current bounds. Change-Id: I1b873ecf821bad7cda6630c3f311edd90ac5cc8c
eferredDisplayList.cpp
penGLRenderer.cpp
penGLRenderer.h
|
d1f9aaa5d776a94907f9e5b632125648043c47b3 |
14-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fix various draw ops that may incorrectly not scissor"
|
39a908c1df89e1073627b0dcbce922d826b67055 |
13-Jun-2013 |
Chris Craik <ccraik@google.com> |
Fix various draw ops that may incorrectly not scissor bug:8965976 Also consolidates quickReject scissor-ing and scissor-less paths. Renamed plain 'quickReject' method, as it has sideEffects beyond what the java and skia canvases do. Change-Id: I4bdf874d3c8f469d283eae1e71c5e7ea53d47016
isplayList.cpp
penGLRenderer.cpp
penGLRenderer.h
ect.h
|
735760e3c28c18a86ba503031497cb2d5fa81903 |
14-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Add new Query class for debugging"
|
7f4307668b10467ee39d41c7ea29cf1ff238a835 |
13-Jun-2013 |
Romain Guy <romainguy@google.com> |
Add new Query class for debugging This class can be used to perform occlusion queries. An occlusion query can be used to test whether an object is entirely hidden or not. Change-Id: Ida456df81dbe008a64d3ff4cb7879340785c6abf
aches.cpp
ither.cpp
xtensions.h
radientCache.cpp
uery.h
|
f70119cd776f871a82c94be8522dce02e04c73a8 |
13-Jun-2013 |
Chris Craik <ccraik@google.com> |
Reset batching state when overlap batch deletion occurs Change-Id: Ifdbee9baaa734e27d15d2b54aa3b3abfffbce1e9
eferredDisplayList.cpp
eferredDisplayList.h
|
7112fddbe26acb12f478f4e77ff9607b523180b4 |
13-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Restore buildLayer()'s old behavior; it's synchronous again Bug #9193833"
|
149b015db9a478c6345cf0528fe4df3c7c2b5110 |
13-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Overdraw avoidance and merging of clipped ops"
|
9846de68f1b4f2720da421e5242017c28cfc93ed |
13-Jun-2013 |
Chris Craik <ccraik@google.com> |
Remove crash workarounds, add logging bug:9321162 Change-Id: I748c27f979af1a303be01db29aedcbad6d608c38
isplayList.cpp
isplayList.h
|
405436021da156fbe3c5d4de48bdefa564cf7fc0 |
13-Jun-2013 |
Romain Guy <romainguy@google.com> |
Restore buildLayer()'s old behavior; it's synchronous again Bug #9193833 Change-Id: I4ee07e65c0a8967f0b55da030ecaad6dfc46136f
ence.h
penGLRenderer.cpp
penGLRenderer.h
|
28ce94a4ffc7576f40776d212f1ada79fafaa061 |
31-May-2013 |
Chris Craik <ccraik@google.com> |
Overdraw avoidance and merging of clipped ops bug:8951267 If an opaque op, or group of opaque ops covers the invalidate region, skip draw operations that precede it. Clipped operations may now be merged, but only if they share a clipRect - this is a very case for e.g. ListView, where all background elements may now be a part of the same MergingDrawBatch. It is this more aggressive merging that groups together clipped background elements in the ListView case, enabling the overdraw avoidance skipping the window background. Change-Id: Ib0961977e272c5ac37f59e4c67d828467422d259
eferredDisplayList.cpp
eferredDisplayList.h
isplayListOp.h
ayer.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
|
1e4795ab64755bdae48fe7b8cd78f204c9022791 |
12-Jun-2013 |
Romain Guy <romainguy@google.com> |
Merge "Avoid 9patch cache lookups when possible"
|
4c2547fa9244e78115cde0a259291053108c3dc7 |
12-Jun-2013 |
Romain Guy <romainguy@google.com> |
Avoid 9patch cache lookups when possible This optimization saves up to 0.3ms per frame on the Play Store's front page, on a Nexus 4 device. Change-Id: Iaa4ef33c6e3b37e175efd5b9eea9ef59b43f14f3
isplayListOp.h
ayerRenderer.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
atchCache.cpp
atchCache.h
rogram.cpp
|
e13fb01d25b22f46206115faff2c7787d330f0d1 |
11-Jun-2013 |
Chris Craik <ccraik@google.com> |
am 8cb26c09: am cb5d644f: Merge "Workaround possible use after delete" into jb-mr2-dev * commit '8cb26c099dc6357340141c9d81a1131ee404ae41': Workaround possible use after delete
|
9abddd54d4177d1a9790889046407da13aa7077b |
10-Jun-2013 |
Chris Craik <ccraik@google.com> |
Workaround possible use after delete bug:9321162 Change-Id: Ic35af5b5925da56e9a143e6b33658831038f3b72
isplayList.cpp
|
be1b127c7bec252e0c6ab0e06ed6babed07d496f |
06-Jun-2013 |
Romain Guy <romainguy@google.com> |
Assume a texture is unbound after deleting it Bug #9316260 The GL specification indicates that deleting a bound texture has the side effect of binding the default texture (name=0). This change replaces all calls to glDeleteTextures() by Caches::deleteTexture() to properly keep track of texture bindings. Change-Id: Ifbc60ef433e0f9776a668dd5bd5f0adbc65a77a0
aches.cpp
aches.h
ither.cpp
radientCache.cpp
mage.cpp
ayer.cpp
ayerRenderer.cpp
athCache.cpp
extDropShadowCache.cpp
exture.cpp
exture.h
extureCache.cpp
ont/CacheTexture.cpp
|
450dc7554de90026a6dd2a1ec7108c1423fce18e |
05-Jun-2013 |
Romain Guy <romainguy@google.com> |
Remove string allocations when creating display lists Change-Id: Id520db981a3988cb980c8da5dbea8f26ef94989f
isplayList.h
|
8aa195d7081b889f3a7b1f426cbd8556377aae5e |
05-Jun-2013 |
Romain Guy <romainguy@google.com> |
Introduce Caches::bindTexture() to reduce glBindTexture calls Change-Id: Ic345422567c020c0a9035ff51dcf2ae2a1fc59f4
ndroid.mk
ssetAtlas.cpp
ssetAtlas.h
aches.cpp
aches.h
ither.cpp
ither.h
ontRenderer.cpp
radientCache.cpp
mage.cpp
ayer.cpp
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
athCache.cpp
athCache.h
kiaShader.cpp
kiaShader.h
extDropShadowCache.cpp
extDropShadowCache.h
exture.cpp
exture.h
extureCache.cpp
ont/CacheTexture.cpp
ont/CacheTexture.h
|
f9f0016b1ff816eb2c7561eed482c056189005f8 |
09-May-2013 |
Romain Guy <romainguy@google.com> |
Enable GPU pixel buffers on OpenGL ES 3.0 devices Change-Id: I164d72ccd7a9bf6ae0e3f79dfef50083558937ba
aches.cpp
aches.h
ixelBuffer.cpp
roperties.h
|
7d9b1b3c02eb1ffd99742ecb7b69e3ab97d2ba18 |
28-May-2013 |
Romain Guy <romainguy@google.com> |
Re-initialize the 9patch cache if cleared with onTrimMemory The 9aptch cache was reinitialized after destroying/recreating the EGL context but not after clearing it during a normal memory trim. Change-Id: If6155bfc8a62439e9878bc742a4766b3bd6c6aec
atchCache.cpp
atchCache.h
|
a404e16e4933857464046d763ed7629cd0c86cbf |
25-May-2013 |
Romain Guy <romainguy@google.com> |
Make sure atlas antries can correctly filter/wrap textures The virtual textures would each have their own values for wrapping and filtering which could lead to conflict and/or extraneous GL commands being issued. Change-Id: I64cb59a03e598f46bf645bd1d30fccfa63a07431
ssetAtlas.cpp
ssetAtlas.h
penGLRenderer.cpp
penGLRenderer.h
exture.h
|
608094041177193dcce7a91e8dc96a2556d29bfd |
23-May-2013 |
Romain Guy <romainguy@google.com> |
Merge "Add PerfHUD ES profiling capabilities"
|
e9bc11f7121dbe373b0cbe5779ee6a12d824492c |
23-May-2013 |
Romain Guy <romainguy@google.com> |
Add PerfHUD ES profiling capabilities The eglGetSystemTimeNV extension can be used to enable profiling in PerfHUD ES. When the delta of two calls to eglGetSystemTimeNV equals 0, we now cancels display lists updates. This allows the tool to redraw the same frame several times in a row to run its analysis. For better results profiling should only be attempted after setting viewroot.profile_rendering to true using adb shell setprop. Change-Id: I02e3c237418004cff8d6cb0b9a37126efae44c90
xtensions.cpp
xtensions.h
|
341ac60009e6b3c1114938f40743fd81a0ce034f |
23-May-2013 |
Chet Haase <chet@google.com> |
am 1bf58a5a: am cfbbc864: Merge "Restore previous alpha value on noop\'d DisplayList operations" into jb-mr2-dev * commit '1bf58a5a4c3275a8de676046da311ec0c3c61c78': Restore previous alpha value on noop'd DisplayList operations
|
c725903eec82aa73ebe9682d142904c06321bc2c |
23-May-2013 |
Chet Haase <chet@google.com> |
Restore previous alpha value on noop'd DisplayList operations Previously, when a DisplayList operation was rejected because it was not in the clip bounds, the code would not properly restore the previous state, leading to errors in alpha values of the noop'd op being applied to unrelated operations later in the DisplayList. Issue #9051935 Flash of grey background when transitioning to conversation view Change-Id: I56645cc9ebf2e07be0228ca5e249213dbeb10d7d
isplayList.cpp
|
7f77736599c39cdd5540168fc652cf6846799a33 |
22-May-2013 |
Romain Guy <romainguy@google.com> |
Merge "Merge scaled bitmaps with translated bitmaps"
|
2db5e993b626794eb07a0ff354269f9a77da81b3 |
22-May-2013 |
Romain Guy <romainguy@google.com> |
Merge scaled bitmaps with translated bitmaps Change-Id: I03089f48f97b69fcb4a0171984d3ff548d41c4a8
eferredDisplayList.cpp
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
|
41541825bc90dac740e424cdd41a8c997e15cdb7 |
04-May-2013 |
Chris Craik <ccraik@google.com> |
Use individual glyph positions to determine text bounds. bug:8766924 Previously text bounds were calculated to be from 0 to totalAdvance in the X, and from the font's top to bottom. These are incorrect, especially in light of the font fallback mechanism. Now, we calculate the bounds of the text as we layout each glyph. Since these are much tighter bounds in the common case, this significantly reduces the amount of clipping required (which in turn enables more aggressive text merging). Change-Id: I172e5466bf5975bf837af894a9964c41db538746
eferredDisplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
7f43674db314ab76e77cfd2a9488058eae144aa8 |
21-May-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fix DISPLAY_LIST_DEBUG"
|
6045d2b7cd0fe62d4385a053bbd1a74d64614d8e |
21-May-2013 |
Chris Craik <ccraik@google.com> |
Fix DISPLAY_LIST_DEBUG will now log ops Change-Id: I4e119999af7ceea0558225aa78926e761277fee2
isplayList.cpp
|
6d29c8d5218cac0fb35f3b7c253f2bdebd44f15a |
09-May-2013 |
Chris Craik <ccraik@google.com> |
Add tessellation path for points bug:4351353 bug:8185479 Point tessellation is similar to line special case, except that we only tessellate one point (as a circle or rect) and duplicate it across other instances. Additionally: Fixes square caps for AA=false lines Cleanup in CanvasCompare, disabling interpolation on zoomed-in comparison view Change-Id: I0756fcc4b20f77878fed0d8057297c80e82ed9dc
penGLRenderer.cpp
penGLRenderer.h
athTessellator.cpp
athTessellator.h
rogram.h
rogramCache.cpp
ertex.h
|
e8f9a37395691f8988e09c8efb9ab1601025c5dc |
10-May-2013 |
Chris Craik <ccraik@google.com> |
am f420a36e: am 4329ee25: Merge "Fix off by one error in log tracking" into jb-mr2-dev * commit 'f420a36e5f62a9ab38f6782db78f5d94947b034e': Fix off by one error in log tracking
|
d4b43b3cf3ee109a5251228dcc1d9bc3c25ff150 |
09-May-2013 |
Chris Craik <ccraik@google.com> |
Fix off by one error in log tracking bug:8875715 Additionally moves op logging before the op is executed, to print correctly, in pre-order traversal Change-Id: I4e9566261f8363c73739d183e6d82b854f72ffad
eferredDisplayList.cpp
isplayList.cpp
isplayListLogBuffer.cpp
|
1f5762e646bed2290934280464832782766ee68e |
07-May-2013 |
Mathias Agopian <mathias@google.com> |
libutils clean-up Change-Id: I11ee943da23a66828455a9770fc3c5ceb4bbcaa9
ontRenderer.h
|
d5207b2eb9ba520da822d61ff78b539842fc5255 |
07-May-2013 |
Romain Guy <romainguy@google.com> |
Fix double-free in AssetAtlas Bug #8833153 If Atlas::terminate() is called twice without an init() in between libhwui would double-free Atlas::mImage. This lead to a lot of crashes with the monkeys as they can easily trigger memory trims. Change-Id: I96798414e5e71cd498aaca85a790661ebccdaa91
ssetAtlas.cpp
|
72bd95b8feb7ef41eb5dd00003b1aed8f30f4abe |
06-May-2013 |
Romain Guy <romainguy@google.com> |
am b90ff505: am fdf13c90: Merge "Convert alpha from [0..1] to [0.255] range Bug #8808886" into jb-mr2-dev * commit 'b90ff505df143abd957cfc19b60727e3460ee68c': Convert alpha from [0..1] to [0.255] range Bug #8808886
|
94268b0dd908ea003772e24bec12cea473434486 |
06-May-2013 |
Chet Haase <chet@google.com> |
am 33be275d: am d65eebf4: Merge "Fix scaled-view droppings artifact" into jb-mr2-dev * commit '33be275deb072ca3e6155b61370578b16dbee64a': Fix scaled-view droppings artifact
|
1f8a0db348f6c7bf2d1f55065472c913677f3d69 |
06-May-2013 |
Romain Guy <romainguy@google.com> |
Remove stray log Change-Id: I392eea216ad67f376ded802c19a3e2287aacc6f8
atchCache.cpp
|
fdf13c90cb6b412dd93ae6a8990bf962e0d71407 |
04-May-2013 |
Romain Guy <romainguy@google.com> |
Merge "Convert alpha from [0..1] to [0.255] range Bug #8808886" into jb-mr2-dev
|
87b515cde53f3c8cc3fdf698c100e67508487e59 |
04-May-2013 |
Romain Guy <romainguy@google.com> |
Convert alpha from [0..1] to [0.255] range Bug #8808886 Without this conversion, alpha was always set to 0 or 1 which causes things to disappear mysteriously. Mysteries are meant to be solved and I solved them all in 6 characters. Change-Id: I2078420fbe968c046e999b0eabb24403e71108fd
penGLRenderer.cpp
|
78dd96d5af20f489f0e8b288617d57774ec284f7 |
03-May-2013 |
Romain Guy <romainguy@google.com> |
Add an on-screen overdraw counter The counter can be enabled by setting the system property called debug.hwui.overdraw to the string "count". If the string is set to "show", overdraw will be highlighted on screen instead of printing out a simple counter. Change-Id: I9a9c970d54bffab43138bbb7682f6c04bc2c40bd
aches.cpp
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
roperties.h
hread/TaskManager.h
|
259b696b00f07938569fc9a0ea43858cdaab909b |
04-May-2013 |
Chet Haase <chet@google.com> |
Fix scaled-view droppings artifact Sometimes views that are scaled leave behind rows/columns on the screen as they move/scale around. The problem was that the pivot point around which the scale takes place (in the default case of scaling around the center of the view) was getting truncated to integer coordinates in the display list. Meanwhile, the pivot point at the Java level was using the true float values, resulting in a mis-match between the invalidation rectangle (computed at the Java level) and the drawing-operation rectangle (computed at the native level). This only occurred when views had odd bounds (thus the integer representation of the center differed from the float representation of the center), and only when some other drawing operation would expand the clip rect to allow the incorrect drawing operation (using the wrong pivot point) to draw outside of its clip boundaries. Issue #8617023 7x7 screen not updated correctly Change-Id: If88889b9450d34535df732b78077a29b1f24802d
isplayList.cpp
|
1212c9dafe932f70956651338568c5e1fdf21bcf |
03-May-2013 |
Romain Guy <romainguy@google.com> |
Remove warning Change-Id: Ia1523d02dc2b7f58ca26a142a5aef710792a5f3d
ndroid.mk
mage.cpp
mage.h
|
877cfe0e32a845d5a58252b8a6e1f54f95b4379c |
03-May-2013 |
Romain Guy <romainguy@google.com> |
Wrap EGLImage with a C++ API Change-Id: I0fa3282ea7e2ace3ba2aadd929b32232b3d41628
ssetAtlas.cpp
ssetAtlas.h
mage.h
|
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 |
18-Apr-2013 |
Romain Guy <romainguy@google.com> |
Pack preloaded framework assets in a texture atlas When the Android runtime starts, the system preloads a series of assets in the Zygote process. These assets are shared across all processes. Unfortunately, each one of these assets is later uploaded in its own OpenGL texture, once per process. This wastes memory and generates unnecessary OpenGL state changes. This CL introduces an asset server that provides an atlas to all processes. Note: bitmaps used by skia shaders are *not* sampled from the atlas. It's an uncommon use case and would require extra texture transforms in the GL shaders. WHAT IS THE ASSETS ATLAS The "assets atlas" is a single, shareable graphic buffer that contains all the system's preloaded bitmap drawables (this includes 9-patches.) The atlas is made of two distinct objects: the graphic buffer that contains the actual pixels and the map which indicates where each preloaded bitmap can be found in the atlas (essentially a pair of x and y coordinates.) HOW IS THE ASSETS ATLAS GENERATED Because we need to support a wide variety of devices and because it is easy to change the list of preloaded drawables, the atlas is generated at runtime, during the startup phase of the system process. There are several steps that lead to the atlas generation: 1. If the device is booting for the first time, or if the device was updated, we need to find the best atlas configuration. To do so, the atlas service tries a number of width, height and algorithm variations that allows us to pack as many assets as possible while using as little memory as possible. Once a best configuration is found, it gets written to disk in /data/system/framework_atlas 2. Given a best configuration (algorithm variant, dimensions and number of bitmaps that can be packed in the atlas), the atlas service packs all the preloaded bitmaps into a single graphic buffer object. 3. The packing is done using Skia in a temporary native bitmap. The Skia bitmap is then copied into the graphic buffer using OpenGL ES to benefit from texture swizzling. HOW PROCESSES USE THE ATLAS Whenever a process' hardware renderer initializes its EGL context, it queries the atlas service for the graphic buffer and the map. It is important to remember that both the context and the map will be valid for the lifetime of the hardware renderer (if the system process goes down, all apps get killed as well.) Every time the hardware renderer needs to render a bitmap, it first checks whether the bitmap can be found in the assets atlas. When the bitmap is part of the atlas, texture coordinates are remapped appropriately before rendering. Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
ndroid.mk
ssetAtlas.cpp
ssetAtlas.h
aches.cpp
aches.h
ebug.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
xtensions.h
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
atchCache.cpp
atchCache.h
rogram.cpp
rogram.h
roperties.h
exture.h
vMapper.h
|
69ca575b5bdfa023858db3fff11ec5c2a7b277a9 |
24-Apr-2013 |
Chris Craik <ccraik@google.com> |
Merge "Avoid incorrectly dirtying the functor output rect"
|
4a2bff7b387403ac976cd041cb5a1b57afa44d9c |
16-Apr-2013 |
Chris Craik <ccraik@google.com> |
Avoid incorrectly dirtying the functor output rect bug:8640186 Change-Id: I360cb85e59cfdd0b499561e92b81089341d07046
penGLRenderer.cpp
|
684634144b15e4da0ed04baa2c4531ef538652a6 |
21-Apr-2013 |
Chet Haase <chet@google.com> |
am 371d4ccc: am 339ac854: Merge "Fix quickReject logic to account for setClipChildren() setting" into jb-mr2-dev * commit '371d4cccde56ec4d26e51f8e82ef68f196169a3d': Fix quickReject logic to account for setClipChildren() setting
|
dd671599bed9d3ca28e2c744e8c224e1e15bc914 |
19-Apr-2013 |
Chet Haase <chet@google.com> |
Fix quickReject logic to account for setClipChildren() setting The rendering code optimizes by rejecting drawing operations that lie outside of the bounds of their views. This works in most situations, but breaks down when containers have called setClipChildren(false), because we reject drawing that is outside of that container, but which should be drawn anyway. Fix is to pass in the value of that flag to the DisplayList drawing routines which take that flag into account when deciding whether to quickReject any particular operation. Issue #8659277 animation clipping Change-Id: Ief568e4db01b533a97b3c5ea5ad777c03c0eea71
isplayList.cpp
isplayList.h
isplayListOp.h
|
e0cedc40a2c6671370fd0c434874e7e79c0ba71f |
18-Apr-2013 |
Chris Craik <ccraik@google.com> |
am 17917a95: am d3f9ffe2: Merge "Prevent transformed ops from merging in the first place" into jb-mr2-dev * commit '17917a95f355634ba881cd3f587002cb7ef27ce6': Prevent transformed ops from merging in the first place
|
d3f9ffe28d1599e40f8c9a7c0c32465324bb2828 |
18-Apr-2013 |
Chris Craik <ccraik@google.com> |
Merge "Prevent transformed ops from merging in the first place" into jb-mr2-dev
|
ee5b2c6de7fb32d945a5a1303012a5f94b719dfa |
18-Apr-2013 |
Chris Craik <ccraik@google.com> |
Prevent transformed ops from merging in the first place bug:8649215 Previously we prevented ops with non-translate transforms from merging, but missed the case of the first op in a merging batch containing a non-translate transform. This fulfills the assumption of drawText's non-immediate mode that merged ops will have pure translate transforms. Change-Id: I6f6db341aff3f7e84e74b4c3ccf970d585a2db1a
isplayListOp.h
|
e76dd37bdb75e7ed757e1284249c64f0c58e869d |
17-Apr-2013 |
Chris Craik <ccraik@google.com> |
am 680ca941: am ec5dc76a: Merge "Make layer double drawing visible in overdraw debug mode" into jb-mr2-dev * commit '680ca9418b6b3f01547b286d1a80e07e186bc05f': Make layer double drawing visible in overdraw debug mode
|
34416eaa1c07b3d7a139e780cea8f8d73219650e |
16-Apr-2013 |
Chris Craik <ccraik@google.com> |
Make layer double drawing visible in overdraw debug mode A clipped saveLayer will cause two draws - first to an onscreen buffer, then again back to the framebuffer. This change - when in overdraw debug - reissues draws associated with a clipped saveLayer, but only to the stencil buffer. Operations within a saveLayer are shown correctly to be twice drawn, and View.setAlpha() without an associated hardware layer, or hasOverlappingRendering() are made more visible. Hardware layers, on any frame that they are updated, similarly draw twice, and will also be counted against the stencil buffer doubly. Note: greater depths of layers - e.g. a saveLayer within a saveLayer - are not respected, as that would require additional region tracking. Change-Id: I61fb0e61038fe66013d59914c20bb47a550dea7d
ayer.cpp
ayer.h
penGLRenderer.cpp
|
09d3636485eb1601c5beaf0d8682bb3027d2271d |
16-Apr-2013 |
Romain Guy <romainguy@google.com> |
Fix indentation Change-Id: If54b7d7c016acb5e7300323d2eada57142a814c0
ndroid.mk
|
55709fc1c7b2741ba3cf7f160d7d8644c112bb99 |
15-Apr-2013 |
Chris Craik <ccraik@google.com> |
am 55b883b0: am 30c990c3: Merge "Draw Operation merging" into jb-mr2-dev * commit '55b883b0a960b37aa453253f3ccb614dd95c221c': Draw Operation merging
|
30c990c361291ad578ef4ffe4a4dd0fd6080797b |
15-Apr-2013 |
Chris Craik <ccraik@google.com> |
Merge "Draw Operation merging" into jb-mr2-dev
|
527a3aace1dd72432c2e0472a570e030ad04bf16 |
04-Mar-2013 |
Chris Craik <ccraik@google.com> |
Draw Operation merging Merge simple bitmap draw operations and text operations to avoid issuing individual gl draws for each operation. Merging other ops to be done eventually. The methods are different - the bitmap merging generates a single mesh for reused, unclipped images (esp. repeated images in a listview) The text approach queries just defers the normal font rendering until the last drawText in the sequence that can share the same shader. Patches are sorted and merged, but don't yet have a multiDraw implementation. For now, the pretending-to-merge gives better sorting behavior by keeping similar patches together. Change-Id: Ic300cdab0a53814cf7b09c58bf54b1bf0f58ccd6
ebug.h
eferredDisplayList.cpp
eferredDisplayList.h
isplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
tils/TinyHashMap.h
|
5069101c08ff11e78bfab7eeb7360b0b12e3b54b |
13-Apr-2013 |
Romain Guy <romainguy@google.com> |
am 5141bf80: am 80fccb4d: Merge "There should be a mandatory coder\'s license. Bug #8586560" into jb-mr2-dev * commit '5141bf801e9d58e618c76e4cdc042218b24193fc': There should be a mandatory coder's license. Bug #8586560
|
4abab937bf3f168763a7c029275bf1de151ec1ae |
13-Apr-2013 |
Romain Guy <romainguy@google.com> |
There should be a mandatory coder's license. Bug #8586560 And I don't deserve to pass the test. Change-Id: Ic7886205511f16145a925fc860e4a03dfaf473d5
ither.cpp
|
0f6ba077321ef275649fdcc29c0b323e9740d739 |
13-Apr-2013 |
Romain Guy <romainguy@google.com> |
am 543c5dcf: am efcb252f: Merge "Properly computer gradient textures width" into jb-mr2-dev * commit '543c5dcfcb93925a5b9ac073eedb0bd813b2ebe0': Properly computer gradient textures width
|
95aeff8f11968c8b29ae114bb5e1172c70cf7634 |
13-Apr-2013 |
Romain Guy <romainguy@google.com> |
Properly computer gradient textures width Only on devices that do not have the npot extension Change-Id: I472a13dc707d2abaf5fcc06f99c9da343b333558
radientCache.cpp
|
e48da96ab5837f305ef55d5ea9d3215930884f83 |
12-Apr-2013 |
Romain Guy <romainguy@google.com> |
resolved conflicts for merge of 886e1204 to master Change-Id: Id002d2ae799c6946672335f122ecbfa07d9c0bc1
|
cf51a4199835e9604aa4c8b3854306f8fbabbf33 |
09-Apr-2013 |
Romain Guy <romainguy@google.com> |
Introduce PixelBuffer API to enable PBOs PBOs (Pixel Buffer Objects) can be used on OpenGL ES 3.0 to perform asynchronous texture uploads to free up the CPU. This change does not enable the use of PBOs unless a specific property is set (Adreno drivers have issues with PBOs at the moment, Mali drivers work just fine.) This change also cleans up Font/FontRenderer a little bit and improves performance of drop shadows generations by using memcpy() instead of a manual byte-by-byte copy. On GL ES 2.0 devices, or when PBOs are disabled, a PixelBuffer instance behaves like a simple byte array. The extra APIs introduced for PBOs (map/unmap and bind/unbind) are pretty much no-ops for CPU pixel buffers and won't introduce any significant overhead. This change also fixes a bug with text drop shadows: if the drop shadow is larger than the max texture size, the renderer would leave the GL context in a bad state and generate 0x501 errors. This change simply skips drop shadows if they are too large. Change-Id: I2700aadb0c6093431dc5dee3d587d689190c4e23
ndroid.mk
aches.cpp
aches.h
eferredDisplayList.cpp
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.cpp
ammaFontRenderer.h
penGLRenderer.cpp
ixelBuffer.cpp
ixelBuffer.h
roperties.h
extDropShadowCache.cpp
ont/CacheTexture.cpp
ont/CacheTexture.h
ont/Font.cpp
|
c4c8f2d82e4d047c479fbdad5e1e296d745bfe3b |
10-Apr-2013 |
Chet Haase <chet@google.com> |
am 78b24b6f: am dacd4751: Merge "Fix Contacts animation jank" into jb-mr2-dev * commit '78b24b6f03f467a59afd6797b4c03224fe3af767': Fix Contacts animation jank
|
dacd47516321d263efa7489b5b9bd7d8e1714332 |
10-Apr-2013 |
Chet Haase <chet@google.com> |
Merge "Fix Contacts animation jank" into jb-mr2-dev
|
58d110afa0e0f3843d72617046185a3c2d48dca9 |
10-Apr-2013 |
Chet Haase <chet@google.com> |
Fix Contacts animation jank The last frame of an animation stays stuck on the screen for a couple of frames. Specifically, the "Quick Contact" animation that animates the picture closed (fades/scales it away) animates all the way to the end... then hangs there briefly before being taken down. The problem is a rendering bug where we correctly detect that a DisplayList has nothing to draw (since the last frame is completely transparent, alpha==0), but incorrectly ignore the fact that we cleared the transparent-background window prior to not-drawing that DisplayList. When we detect that there's nothing to draw, we don't bother swapping buffers. So even though we drew the right thing (clearing the buffer), we didn't actually post the buffer to the screen. This change factors in both the clear and the draw to decide when to swap buffers. Issue #8564865 Quick contact close animation jank redux Change-Id: Ib922cff88a94f025b62f7461c1a29e96fe454838
penGLRenderer.cpp
|
28af35e8cdc601c7ab9c7287d9e72fdc331e8a9d |
10-Apr-2013 |
Ying Wang <wangying@google.com> |
resolved conflicts for merge of a976bddd to master Change-Id: I64e1cbfb0eee891ce4d1eee40eefdcedcc501f7f
|
d8b26d6c424741dd09cf70ee88fd237807aaf301 |
10-Apr-2013 |
Ying Wang <wangying@google.com> |
Merge "Add liblog" into jb-mr2-dev
|
d685894212e6dbeac1fda4996903c1da115d49a6 |
10-Apr-2013 |
Ying Wang <wangying@google.com> |
Add liblog Bug: 8580410 Change-Id: I746aa8258866508c3a725d0773faf4518096548f
ndroid.mk
|
6c825d49b77b1b257b59a30c24792d1bf0f5df84 |
09-Apr-2013 |
Romain Guy <romainguy@google.com> |
am 52706c6c: am 4a745e78: Merge "Change the dither texture\'s swizzling" into jb-mr2-dev * commit '52706c6cc0d8ded20cfa8d46f200ca38f1009468': Change the dither texture's swizzling
|
032d47af737d803e841ab79f38ac9068a46c9aeb |
09-Apr-2013 |
Romain Guy <romainguy@google.com> |
Change the dither texture's swizzling This is a more elegant way to sample from a float alpha texture. Instead of sampling from the red channel in the fragment shader we can set the alpha channel swizzle to redirect it to the red channel. This lets us sample from the alpha channel in the fragment shader and get the correct value. Change-Id: I95bbf7a82964e1bf42c0fee1b782b6bdbbcef618
ither.cpp
rogramCache.cpp
|
6adbb9033502d98b77176a2fe4001f37d177d78c |
06-Apr-2013 |
Romain Guy <romainguy@google.com> |
am 5ea0465d: am 8299f683: Merge "Use float textures to render gradients when possible" into jb-mr2-dev * commit '5ea0465d4550944e2e5ac953a5c18ef31f31ec4d': Use float textures to render gradients when possible
|
b48800428906ae455c2b63acacd44e390e1fee49 |
05-Apr-2013 |
Romain Guy <romainguy@google.com> |
Use float textures to render gradients when possible Float textures offer better precision for dithering. In addition this change removes two uniforms from gradient shaders. These uniforms were used to dither gradients but their value is a build time constant. Instead we hardcode the value directly in the shader source at compile time. Change-Id: I05e9fd3eef93771843bbd91b453274452dfaefee
ither.cpp
ither.h
radientCache.cpp
radientCache.h
rogramCache.cpp
rogramCache.h
|
f7648b7f24bc4cf8a66df4c0cfb5e8aa2b7d3ac8 |
05-Apr-2013 |
Romain Guy <romainguy@google.com> |
am 21af446c: am a151ef8c: Merge "First OpenGL ES 3.0 based optimization" into jb-mr2-dev * commit '21af446ce9704bdc465bf15755148c5de50ea019': First OpenGL ES 3.0 based optimization
|
a151ef8c667a52d9fae28c09f780784f19bdb039 |
05-Apr-2013 |
Romain Guy <romainguy@google.com> |
Merge "First OpenGL ES 3.0 based optimization" into jb-mr2-dev
|
59f5015fc3c1e0be54fddc2abbdd1a854f742362 |
05-Apr-2013 |
Chris Craik <ccraik@google.com> |
am 233f6730: am de4f8c38: Merge "Traverse layers in update order" into jb-mr2-dev * commit '233f67302e7d35242613c5d4502459b085868595': Traverse layers in update order
|
de4f8c3872c6284605c168687c69ebfa72ea49d2 |
05-Apr-2013 |
Chris Craik <ccraik@google.com> |
Merge "Traverse layers in update order" into jb-mr2-dev
|
1206b9bba91f7ed899c5c87427cce725fe5aadfc |
04-Apr-2013 |
Chris Craik <ccraik@google.com> |
Traverse layers in update order bug:8540150 Layers now require traversal in update order, as it will be child first, then parent for layer-in-layer Fixes issue with deferred layer playback not flushing in order, and thus child not painting before parent Also fixes DisplayList to only be cleared after flush in deferred list Change-Id: I2f284d00079cdb20798aeef6a1c94e823940db40
eferredDisplayList.h
ayer.cpp
penGLRenderer.cpp
|
0908764b2b3cf5075df4178a5f0a8547dcb7b317 |
04-Apr-2013 |
Romain Guy <romainguy@google.com> |
First OpenGL ES 3.0 based optimization This change uses a new OpenGL ES 3.0 feature to upload less data when the font cache needs to be update. This can result in significant performance improvements on device with large textures or with locales that use a lot of glyphs (CJK for instance.) This change also fixes various unpack alignment issues. The unpack alignment, as well as the unpack row length, is not texture specific but a global state that affect all glTex/SubImage2D calls. Some of them were missing the appropriate glPixelStorei() call. This could result in corrupted textures. Change-Id: Iefb429d4d0d0b4e0faeadf27daafee6d30a21d85
ontRenderer.cpp
ayer.cpp
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
ont/CacheTexture.cpp
ont/CacheTexture.h
|
2a54c185a64b247ff261de962e3a4e0ddf4c2ff0 |
04-Apr-2013 |
Romain Guy <romainguy@google.com> |
am ae74f598: am eaadd123: Merge "Add internal API to query GL version number" into jb-mr2-dev * commit 'ae74f59856d4f790c173857bb8024291d585861d': Add internal API to query GL version number
|
eaadd123a7d7b0a02046db33e882ddcef33e1a49 |
04-Apr-2013 |
Romain Guy <romainguy@google.com> |
Merge "Add internal API to query GL version number" into jb-mr2-dev
|
df1dc28ba0c63b195016ad0453fc58025ee82acb |
30-Mar-2013 |
Romain Guy <romainguy@google.com> |
Add internal API to query GL version number Change-Id: Idc02efc237b8e97445a9bab05c291bf193c7f279
xtensions.cpp
xtensions.h
|
e4d9a01bfc7451afff1ed399a5801c7aa2af2831 |
29-Mar-2013 |
Dan Morrill <morrildl@google.com> |
Phase 1 of refactoring SystemServer. SystemServer is currently a monolithic class that brings up key system services. This change is the first phase of refactoring it to be more configurable. Specifically, it adds a set of on/off switches used to control startup of individual services. Future plans include finer grained controls and a more explicit and consistent startup sequence for these services. Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
ndroid.mk
ontRenderer.cpp
ontRenderer.h
|
ff7ae2dccd3b8ba015963126d8a655b417d3fcd3 |
03-Apr-2013 |
Chris Craik <ccraik@google.com> |
Merge "Correct save/restore match up" into jb-mr2-dev
|
e0b39fc18c10224c4e66f70aa472d8497b1b4621 |
03-Apr-2013 |
Chris Craik <ccraik@google.com> |
Merge "Account for hairlines in quick rejection logic" into jb-mr2-dev
|
1ed30c907ffbb71d1bc448ee57c66b0d16f600ef |
03-Apr-2013 |
Chris Craik <ccraik@google.com> |
Correct save/restore match up bug:8480642 With the additional save/restore around the operations in flush, the stored restore batches weren't matching up to the correct saves. Change-Id: I2f48f19009bd97289b6973283f43dc8d3e35affd
eferredDisplayList.cpp
|
e7c69c6fe3eac1fb01126ede550e5dc32979804a |
03-Apr-2013 |
Chris Craik <ccraik@google.com> |
Account for hairlines in quick rejection logic bug:8531373 Change-Id: I35444014f23fc61da687694fccc0d13bce718793
isplayListOp.h
athTessellator.cpp
|
16ecda5317c40fc3da284952d9b3add34d6763ae |
29-Mar-2013 |
Chris Craik <ccraik@google.com> |
Update view's alpha and layer docs bug:8501661 Makes the performance issues and interaction with layer type/paint more clear. Additionally, corrects change from 47ab7d6612e2b5b8b66fb261dafef7c91264e173 to still allow displayList alpha to override layer paint Change-Id: Ic94d75865700820489370461cd8ac9f9077a8d90
isplayList.cpp
penGLRenderer.cpp
penGLRenderer.h
|
02b49b70ede0b9eb760ff334823aee1d9520ed85 |
29-Mar-2013 |
Romain Guy <romainguy@google.com> |
Prevent crash when a single layer is enqueued several times for updates Bug #8504687 Change-Id: I9b01bbc4e3f37af23dfe5e68d3d03ad3d238b94a
ayer.cpp
ayer.h
penGLRenderer.cpp
|
5399a5648fb6756a7e7429b07a5a36493ff00395 |
29-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Update layers to clear them Bug #8489505" into jb-mr2-dev
|
94eaab4a5ddd6db4bcbc8a1e65a4d8e60d1d1274 |
28-Mar-2013 |
Elliott Hughes <enh@google.com> |
am 3ae30483: am a19647d3: Merge "Correct executable bit for source files [Take 2]" * commit '3ae30483777708ff3a4f59a4fa75c6a76213cc30': Correct executable bit for source files [Take 2]
|
dc1975ea717cdafb914fd00ea781fd314e1ac478 |
28-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fix issues related to saveLayer/restore deferral" into jb-mr2-dev
|
696dcf84a382fcc5ef7041e0bbf3af20b0ecb99f |
28-Mar-2013 |
Romain Guy <romainguy@google.com> |
Update layers to clear them Bug #8489505 A layer should be updated even with an empty deferred display list. It is possible for a layer to request an update just to execute a clear which will be handled by LayerRenderer::prepareDirty(). Change-Id: Iffb98bd71d6caa8d4a701df98197676f9423c0c2
ayer.cpp
|
58f7689ac634afa616d2b754b68d65f9a2e83814 |
28-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Don't crash when making a layer larger than supported dimensions Bug #8437401" into jb-mr2-dev
|
7273daace9303f4662444111c40bb83d3ead4a92 |
28-Mar-2013 |
Chris Craik <ccraik@google.com> |
Fix issues related to saveLayer/restore deferral bug:8464795 Changes drawModifiers and alpha to be restored for all operations, since saveLayer/restore use these values, not just draw operations Also forces a renderer state restoration before a deferred restore op is played back, in case it is associated with a saveLayer that doesn't have the save_clip flag set Change-Id: I9da5d44fefbfffdee164c98f4f139843dacf85df
eferredDisplayList.cpp
eferredDisplayList.h
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
|
ce4a7dfc516ee61301e9af91fad17ca1320efaab |
28-Mar-2013 |
Romain Guy <romainguy@google.com> |
Don't crash when making a layer larger than supported dimensions Bug #8437401 A misplaced ref count decrement was causing a crash when attempting to resize a layer to dimensions larger than the max texture size supported by the GPU. This change fixes the crash and clarifies the warnings to make it more obvious what's happening. Change-Id: I632dc1b90aaa2605969e10523491a81c4922d3dc
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayerRenderer.cpp
|
9cd645121584bc167b3fab61b1ed89ddc4631365 |
27-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Set ignore flag during deferred savelayer" into jb-mr2-dev
|
408eb12631376cbdc96803e918decf6ea804d346 |
27-Mar-2013 |
Chris Craik <ccraik@google.com> |
Set ignore flag during deferred savelayer bug:8471552 Additionally, add ignore check for draw functor In deferred mode, if we don't set ignore, a 0 alpha displayList won't be quickRejected, and not only would its contents be needlessly deferred, but upon playback any functors would be drawn, ignoring the state of the snapshot. Change-Id: Ib1edb3252080f674254086edee6f965f0efcce78
penGLRenderer.cpp
penGLRenderer.h
|
3e4a3ea2ff03a6a1f1f7a2bebac9a86fe6555754 |
27-Mar-2013 |
Chirayu Desai <cdesai@cyanogenmod.org> |
Correct executable bit for source files [Take 2] Change Ieb51bafb46c895a21d2e83696f5a901ba752b2c5 left out some files, this fixes them. Change-Id: Ia949a8581668836ea0251602e048f09c852f5169
ither.cpp
ither.h
|
4500a8d5d7fbec9dba5e693212da160849e401ff |
27-Mar-2013 |
Romain Guy <romainguy@google.com> |
Path precaching creates duplicate cache entries Bug #8478275 Change-Id: Ib541ea051e42e01cc0d277790e9c09de38ef72ee
athCache.cpp
athCache.h
|
96885eb480c5e0526fe2f77d30f6e551f3f3ceab |
26-Mar-2013 |
Romain Guy <romainguy@google.com> |
Avoid multiple font cache texture uploads Bug #8378964 This change defers drawing into layers until after the renderer for FBO0 is ready to draw. At that point, all the precaching is done which means all glyphs can be uploaded at once in the font caches. Change-Id: Ie1f7a7ff30f76f06fb3dbc72c7d05e66207d1ecb
eferredDisplayList.h
ayer.cpp
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
a4e16c58c9e3c983251e0475125a2a6f5bec2dbf |
22-Mar-2013 |
Chris Craik <ccraik@google.com> |
Restore final canvas state after deferred flush bug:8450062 - Fixes overdraw indication with DeferredDisplayList - Fixes drawHardwareLayer called after flush Additionally changes drawLayer to pass its paint to native via setLayerPaint Wrap flush in save/restore so that reordering doesn't affect final transform Change-Id: I08befa42c28500da6387699eefd4be28aedf9f4c
eferredDisplayList.cpp
|
741f6bb81063cd12c9cd5e0a6822a41561ef93b2 |
21-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Isolate tiling clip state from snapshot" into jb-mr2-dev
|
5f803623559aab395a29d575c37c4e39c23a4b4e |
21-Mar-2013 |
Chris Craik <ccraik@google.com> |
Isolate tiling clip state from snapshot bug:8409891 Snapshots frequently have their clip overwritten due to applying deferred state - now, store tiling clip information in a separate rect, outside of the snapshot so it isn't overwritten. Change-Id: I21ca4c45dcd802eae99e8de86f11525196777ccb
isplayList.cpp
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
|
c5cbee7d78513527e89450e6369a30a04b2d5e7a |
21-Mar-2013 |
Romain Guy <romainguy@google.com> |
Stop worker threads on memory trim & fix bad pointer access Change-Id: I6fe7e31aeb6dd41fa65ab952caed97bc2da510d7
aches.cpp
athCache.cpp
athCache.h
hread/TaskManager.cpp
hread/TaskManager.h
tils/Pair.h
|
9eac52698b18d089e73c7ec2bf73a64a39504733 |
21-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Optimize text GL setup" into jb-mr2-dev
|
7564c716bbee6a4825ae747797068d0e7c370c0d |
21-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Use snapshot alpha in all layer drawing" into jb-mr2-dev
|
e83569ca76308bfe945efcfef5a12c64b8fb8849 |
21-Mar-2013 |
Chris Craik <ccraik@google.com> |
Use snapshot alpha in all layer drawing Change-Id: Icc093390da2fc36b2b6693d0e5e4357b2f730bf9
penGLRenderer.cpp
|
257ae3502cfad43df681b1783528d645bdabc63f |
21-Mar-2013 |
Romain Guy <romainguy@google.com> |
Optimize text GL setup Only performs the GL setup steps when at least one glyph is drawn. This change also skips various draw operations when the specified paint draws with alpha = 0. Change-Id: I9eda148b0503acffc552ee19196f5d52e958a1a2
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
d90144db52c7297879b950cbbc85137ed123ab5b |
19-Mar-2013 |
Chris Craik <ccraik@google.com> |
Update snapshot upon saveLayer deferral bug:8409891 In order to defer fbo-targetting saveLayer operations, it's necessary to update the snapshot at defer time so that deferred display state (namely, clip and transform) are fbo relative. Re-enables deferring, as the issues with saveLayer are fixed. Change-Id: I74b0779bc732675c747208f0757c3ea85f6dfbed
eferredDisplayList.cpp
eferredDisplayList.h
isplayList.cpp
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
|
4494599e5a4931426d5649e1d1c4f9db83824ae8 |
20-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Use snapshot alpha for layers" into jb-mr2-dev
|
ec3928bf0993e13fb82c65ac26a4d70f5bc6c5e4 |
20-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Reduce number of glDraw calls when drawing text" into jb-mr2-dev
|
661a87ec28a49458f1faf533783abf2ab9927cab |
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Reduce number of glDraw calls when drawing text This change moves the mesh buffer from FontRenderer to CacheTexture to help reduce the number of texture binds and glDraw calls when drawing text that spans across multiple textures. Change-Id: I7de574d88313ca3672879ca878c253ff5f131fc1
ontRenderer.cpp
ontRenderer.h
ont/CacheTexture.cpp
ont/CacheTexture.h
|
df9d2ba9b0b92608ea633bf04ffbef8d7ba3dd28 |
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Minimize texture binds when drawing text" into jb-mr2-dev
|
115096f50a560e64a7f95d37686d4861042c7aeb |
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Minimize texture binds when drawing text When several CacheTextures are used to draw text, sort the draw batches by texture ID to minimize state changes in the driver. This change also tweaks the font cache size and renames a property that was too long to be set using setprop. Change-Id: I0a36dfffe58c9e75dd7384592d3343c192d042b1
ontRenderer.cpp
ontRenderer.h
roperties.h
ont/FontUtil.h
|
603ce559f290f369ef1a0d0744f1697b36e9c10e |
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Apply ComposeShader's local matrix to children" into jb-mr2-dev
|
d4289922ce772ed8e170a27d1c9521672b315698 |
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Apply ComposeShader's local matrix to children Change-Id: Idf9b8e7d7b30f8fcd8ba1fd4bfe8991e9ca148e2
kiaShader.cpp
|
16b7dc9c1ca4336b29afbd2f56f580014863add0 |
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Merge all shapes/paths caches to PathCache" into jb-mr2-dev
|
c46d07a29e94807e768f8b162ce9f77a88ba6f46 |
16-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge all shapes/paths caches to PathCache This change will greatly simplify the multi-threading of all shape types. This change also uses PathTessellator to render convex paths. Change-Id: I4e65bc95c9d24ecae2183b72204de5c2dfb6ada4
ndroid.mk
aches.cpp
aches.h
ebug.h
eferredDisplayList.cpp
isplayList.cpp
isplayListRenderer.cpp
penGLRenderer.cpp
athCache.cpp
athCache.h
roperties.h
hapeCache.cpp
hapeCache.h
|
cada41aeb1e4cd87a94df2dfb4dd645309fe66ba |
19-Mar-2013 |
Chris Craik <ccraik@google.com> |
Work around saveLayer clipping/transform deferring issues bug:8409891 Disables deferring Change-Id: I93498a4a45a5bfe01143faa154926c6a138db8f9
penGLRenderer.cpp
|
d0afeac6dfc0856eeb72e6176ad6335e81871d24 |
16-Mar-2013 |
Chris Craik <ccraik@google.com> |
Reset draw modifiers after flushing bug:8401910 This avoids leaving the renderer in a state with stale pointers (to, e.g., shaders or color filters) Change-Id: Idf8b63657041352e70e34e91ea416fe4385d4bc2
eferredDisplayList.cpp
penGLRenderer.cpp
penGLRenderer.h
|
a08f95cfeca7217f9c533b03663bf0dceedd259a |
16-Mar-2013 |
Chris Craik <ccraik@google.com> |
Use snapshot alpha for layers Removes mMultipliedAlpha, using the snapshot alpha for all non-overlapping display list alpha control. Additionally, fixes opacity issues where children of hasOverlappingRendering=false displaylists (both hw layer sublists and other sublists with hasOverlappingRendering=false) Change-Id: I6adc16da855835f9f518f8967628e5d0135c789b
eferredDisplayList.cpp
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
f40b8a939fef0a19b40188f007a3364311d6dabf |
15-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fully deferred displaylist replay" into jb-mr2-dev
|
ff78583d8a73ca35ce65b5d2592570ff6fb9901b |
08-Mar-2013 |
Chris Craik <ccraik@google.com> |
Fully deferred displaylist replay bug:8037003 A recursive drawDisplayList call is now entirely deferred before playing back to the screen and issuing GL commands. This way, the entire stream can be inspected, optimized, and batch work (such as uploading textures) before issuing commands. Additionally, this fixes an issue where operations draw could move across restores corresponding to saveLayer(alpha). Those and other similar cases (such as complex clipping, requiring the stencil) are now treated as batching barriers, with the operations that change renderer state in a way that's difficult to defer are just re-issued at flush time. Change-Id: Ie7348166662a5ad89fb9b1e87558334fb826b01e
aches.cpp
eferredDisplayList.cpp
eferredDisplayList.h
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
bd3055f95e67a55648fd84a125e939293115171b |
14-Mar-2013 |
Romain Guy <romainguy@google.com> |
Less aggressive glyphs precaching The renderer used to pre-cache glyphs at record time. This then changed to pre-caching at the beginning of every frame. This unfortunately entails a lot of duplicate work on every frame, which amounts to 0.5 to 1ms in some stock applications. This change is somewhere in the middle: pre-caching happens the first time a DrawTextOp is deferred or every time the screen-space transform is different from the last pre-caching operation. Change-Id: Id6d9e2599d90a5b75010b0f0a28746befbf3c205
isplayListOp.h
atrix.h
ont/Font.cpp
|
0f809f3b794174f044366bf421f8d0c72d9afc14 |
13-Mar-2013 |
Romain Guy <romainguy@google.com> |
Prevent infinite loop when trimming the path cache Change-Id: I04b5fa498336068f997c68d8613b35a99f67adbe
athCache.cpp
hapeCache.h
|
5dc7fa709646799a5207a5d217f70aa02bf4a3aa |
12-Mar-2013 |
Romain Guy <romainguy@google.com> |
Add TaskManager API This API can be used to run arbitrary tasks on a pool of worker threads. The number of threads is calculated based on the number of CPU cores available. The API is made of 3 classes: TaskManager Creates and manages the worker threads. Task Describes the work to be done and the type of the output. A task contains a future used to wait for the worker thread to be done computing the result of the task. TaskProcessor The processor dispatches tasks to the TaskManager and is responsible for performing the computation required by each task. A processor will only be asked to process tasks sent to the manager through the processor. A typical use case: class MyTask: Task<MyType> class MyProcessor: TaskProcessor<MyType> TaskManager m = new TaskManager(); MyProcessor p = new MyProcessor(m); MyTask t = new MyTask(); p.add(t); // Waits until the result is available MyType result = t->getResult(); Change-Id: I1fe845ba4c49bb0e1b0627ab147f9a861c8e0749
ndroid.mk
aches.h
athCache.cpp
athCache.h
hapeCache.h
hread/Future.h
hread/Task.h
hread/TaskManager.cpp
hread/TaskManager.h
hread/TaskProcessor.h
|
ca89e2a68703bd428e8b66547d033a6ed35b3595 |
09-Mar-2013 |
Romain Guy <romainguy@google.com> |
Precache paths from a worker thread Change-Id: I3e7b53d67e0e03e403beaf55c39350ead7f1e309
isplayListOp.h
radientCache.cpp
penGLRenderer.cpp
athCache.cpp
athCache.h
hapeCache.h
extureCache.cpp
hread/Barrier.h
hread/Future.h
hread/Signal.h
|
6e2004089305cf2cd958b52b234459a49a4e5c83 |
08-Mar-2013 |
Romain Guy <romainguy@google.com> |
Move blur code from FontRenderer to utils/Blur.cpp Change-Id: I2cebbfbcb722ed4b37e54ffbf8b53bb92ad0c964
ndroid.mk
ontRenderer.cpp
tils/Blur.cpp
tils/Blur.h
|
b09f1471262c3e629daacbc319bcefc2d621a484 |
08-Mar-2013 |
Romain Guy <romainguy@google.com> |
Don't apply scale to glyphs when a perspective is set. Bug #8337925 Magazines uses very large scale factors that blow up font cache & CPU. Change-Id: I1c0ed430ed91b86cc6c6f59f7e8bdcc89a464e46
penGLRenderer.cpp
|
8afce816df7e8f668761f7ed443f54238958c49f |
07-Mar-2013 |
Romain Guy <romainguy@google.com> |
Round scale factors to rasterize text Harder, better, faster, stronger. Change-Id: Iee4125de98c4e61603f56bb7f06002cc86458214
isplayList.cpp
ont/Font.cpp
|
624234f69b2a4781d24f3e4c6ae6450729e38397 |
06-Mar-2013 |
Romain Guy <romainguy@google.com> |
Take only the scale params into account to rasterize text This change extracts the scale parameters of the current transform to pass then to the font renderer. Rotation and perspective are applied to the generated mesh inside the vertex shader. This limits the number of glyphs we have to create in the font cache and thus reduces memory churn. Change-Id: Ic5b3bae2b2b0e0250a8ee723b071a1709725c749
isplayListOp.h
ayerRenderer.cpp
ayerRenderer.h
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ont/Font.cpp
ont/Font.h
|
0b58a3deab66c30a8d35072e55aac6279dd367cc |
05-Mar-2013 |
Romain Guy <romainguy@google.com> |
Make glyph copies a little more cache friendly Change-Id: Ie21b7079cc5d3ea67a03597c57842636e4afe143
ontRenderer.cpp
|
3b753829ae858d424fe109f714745379a6daf455 |
05-Mar-2013 |
Romain Guy <romainguy@google.com> |
Fix colored rects clipping and code cleanup The drawColorRects() method was clipping individual rectangles using the wrong parameters left, top, right and bottom instead of l, r, t and b. It also checked for count == 0 after the loop when it should have checked for vertexCount == 0. The quickReject is now not part of the loop since it's a bit overkill to perform so many matrix multiplications. What we really care about is the final quickReject performed on the max bounds of the entire set of rectangles. This change also replaces all instances of mSnapshot->transform by currentTransform() to make the code slightly more readable. Change-Id: I6485280414499716852f7dbfba186774eb6763d4
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
|
19d4dd8599cb870923ab349d2ab96cacffd9c6f5 |
04-Mar-2013 |
Romain Guy <romainguy@google.com> |
Take text scale/skew into account only when rendering into a layer 3D rotations can undo scale/skew transforms; since FreeType only accepts 2x2 matrices we can end up generating very large glyphs that are drawn at a 1:1 scale on screen. For instance, if the current transform has a scale of 2000 set on both X and Y axis and a perspective Z factor set to Z, the actual scale factor on screen ends up being 1. We would however generate glyphs with a scale factor of 2000 causing the font renderer to blow up. Change-Id: Ia5c3618d36644e817825cb9c89e2f53aece2074e
penGLRenderer.cpp
|
151b71cb5259eabf9bdcdc9248ba5100ad4c5bcf |
02-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Fix math issue when transforming text in perspective" into jb-mr2-dev
|
874f5c6e4ac655b4f118074c90d51e6a44abe50c |
02-Mar-2013 |
Romain Guy <romainguy@google.com> |
Fix math issue when transforming text in perspective Change-Id: Iad6b4e477c11bd1ef5f0ceab2fabcd440030154d
ont/Font.cpp
ont/Font.h
|
28459117a797bbf09ac589af4c8083a98fdbfb90 |
02-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Precache glyphs at final raster size" into jb-mr2-dev
|
0f6675332c04c74909425d1d328f02b32c0ff40e |
01-Mar-2013 |
Romain Guy <romainguy@google.com> |
Precache glyphs at final raster size The deferred display lists model now allows us to precache glyphs at their exact size on screen. This change also removes debug markers when the renderer defers and reorders display lists. It also adds a flush event marker. Change-Id: I66ec5216dc12b93ecfdad52a7146b1cfb31fbeb4
aches.cpp
aches.h
eferredDisplayList.cpp
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
ont/Font.cpp
|
1da8a6a36df0389dd4c213a8f9698874c484c839 |
01-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Add shader program selection shortcut" into jb-mr2-dev
|
096b8d96d539429de5e67b2821ef3f9ee0300842 |
01-Mar-2013 |
Chris Craik <ccraik@google.com> |
Add shader program selection shortcut Add a key manipulation that makes black text/paths use the standard simple bitmap/patch shader, since they are the same. Previously we'd create a separate shader for each because the keys differed, even though the shaders were functionally equivalent. Also fixes some issues around setting DEBUG_PROGRAM Change-Id: I0c77c684d58da03501ee9ab8239c7d4a70fd6b5c
rogram.h
rogramCache.cpp
rogramCache.h
|
1361dff5eb54b9b02b4d1a2d3e2ed3afd216d79d |
01-Mar-2013 |
Romain Guy <romainguy@google.com> |
Merge "Support 3D rotations when drawing text" into jb-mr2-dev
|
a4adcf0239039eb8f005be252409901c41b28839 |
28-Feb-2013 |
Romain Guy <romainguy@google.com> |
Support 3D rotations when drawing text If a perspective transform is set on the Canvas, drawText() should not attempt to rasterize glyphs in screen space. This change uses the old behavior instead (i.e. rasterize the glyphs at the native font size and apply the transform on the resulting mesh.) This change also adds an optimization: empty glyphs (spaces) do not generate vertices anymore. This saves a lot of vertices in text heavy applications such as Gmail. Change-Id: Ib531384163f5165b5785501612a7b1474f3ff599
isplayListRenderer.cpp
ontRenderer.cpp
penGLRenderer.cpp
ont/Font.cpp
ont/Font.h
|
d6960a49b40703e8af55c1fb628a2e0c5d2b40cf |
28-Feb-2013 |
Chris Craik <ccraik@google.com> |
Account for text alignment in Op bounds calculation bug:8243821 Previously this wasn't done for deferred clipping + reordering, so non-left-aligned text would be clipped at defer time, when it wouldn't have been at draw time (in OpenGLRenderer::quickReject()) Change-Id: Ic96949c2dca4378f284606b37d9411ed42f8d203
isplayListOp.h
|
19886f8b5109218191908d2ce5faf0293f85cf31 |
28-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Properly scale text" into jb-mr2-dev
|
c74f45a334f0e3725c23cdd270cbcb0efac4ea75 |
27-Feb-2013 |
Romain Guy <romainguy@google.com> |
Properly scale text This change does not apply to drawPosText() and drawTextOnPath() yet. Prior to this change, glyphs were always rasterized based on the font size specified in the paint. All transforms were then applied on the resulting texture. This creates rather ugly results when text is scaled and/or rotated. With this change, the font renderer will apply the current transform matrix to the glyph before they are rasterized. This generates much better looking results. Change-Id: I0141b6ff18db35e1213e7a3ab9db1ecaf03d7a9c
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ont/Font.cpp
ont/Font.h
|
d041e476f3c959f5b373b64a329aa427d057375e |
28-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Correct sub-hairline tessellation threshold" into jb-mr2-dev
|
d80806b305ce337283c24f14522cc58fea090b8c |
28-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Fix T-junctions in layers' generated meshes" into jb-mr2-dev
|
19a390bff348cd379caba1265faec77fcff29200 |
28-Feb-2013 |
Chris Craik <ccraik@google.com> |
Correct sub-hairline tessellation threshold Change-Id: Id868d41a36db5b4daa762d84b6329f9c31916bce
athTessellator.cpp
|
a6456d0d7ea2a65474b8a3db5dbf001880c40a71 |
27-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Draw text drop shadows even when the text color is transparent" into jb-mr2-dev
|
6c5b9be7450903762f676522c32d65f7545730df |
27-Feb-2013 |
Chris Craik <ccraik@google.com> |
Fix T-junctions in layers' generated meshes bug:4128442 Currently we fix T-junctions for hardware layers, and for Canvas.saveLayer if the transform isn't rectAsRect. Ideally, hardware layers should lazily re-generate T-junction free geometry if the transform becomes non-rectAsRect Depends on frameworks/native change: https://googleplex-android-review.googlesource.com/#/c/277668/ which adds Region::createTJunctionFreeRegion() Change-Id: Ice75b4a1a4459ff835059ea81d70f7d1563fd96d
ayerRenderer.cpp
penGLRenderer.cpp
|
768bffc9b814f6a1f7d9ff59d91285895c23bbe9 |
27-Feb-2013 |
Romain Guy <romainguy@google.com> |
Draw text drop shadows even when the text color is transparent This matches Skia's behavior. Change-Id: Ibf0a52611f5801cfa68169f66ab0ec06f256600f
penGLRenderer.cpp
penGLRenderer.h
|
758724fd09a1599f2c55130f81953cfa6c17c300 |
27-Feb-2013 |
Romain Guy <romainguy@google.com> |
Don't increment the paint's generation ID when drawing bitmaps When the renderer draws a bitmap as part of a display list with an alpha < 1.0f, the paint is temporarily modified to alter the opacity of the bitmap. This has the side effect of increasing the paint's generation ID counter which can break paint caching. Change-Id: I5055d059ad1639829fa50af3d946e296c4dab877
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
|
08bca88b272f0006e1581e9c28bc6312490f634e |
26-Feb-2013 |
Romain Guy <romainguy@google.com> |
Rename debug property and expose it in HardwareRenderer Change-Id: If46a9bc14a50f6c9a202d901881b36bbac32cba3
roperties.h
|
3ff0bfdd144bba3b023eda8c49b25fb0d0de8653 |
25-Feb-2013 |
Romain Guy <romainguy@google.com> |
Add new property to debug non-rectangular clip operations This change adds a new property called "debug.hwui.show_stencil_clip" that accepts the following values: - "highlight", colorizes in green any drawing command that's tested against a non-rectangular clip region - "region", shows the non-rectangular clip region in blue every time it is used - "hide", default value, nothing is shown Change-Id: I83c8602310edc4aaeb8b905371cdd185b17d32b5
aches.cpp
aches.h
ebug.h
penGLRenderer.cpp
rogram.h
rogramCache.cpp
roperties.h
tencil.h
|
fb6806570911851fb8cbaaf5bdf275a89f3c3ef4 |
23-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Add deferredList null check"
|
ba868c3e2297bd75cd3f8bb1f9eaa286855a1919 |
23-Feb-2013 |
Chris Craik <ccraik@google.com> |
Add deferredList null check Needed for non-deferred mode (debug.hwui.disable_draw_defer = true) Change-Id: I278cbe200aa6ce06fa92dc45c63ceda6e85a0cbe
isplayList.cpp
|
dd8697c095272f19ddad214834a490b00f11a477 |
22-Feb-2013 |
Chris Craik <ccraik@google.com> |
Avoid double blur bug:8204062 Avoids incorrectly blurring with RenderScript after a C++ blur Additionally, avoids draw/blurring if the input text has empty bounds Change-Id: Ibbaf74800fff7a6e4cda3aa24286b90e7aef589d
ontRenderer.cpp
|
505d1d64eda6e47caabf8701cb39ec9b176b3238 |
22-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Prettify display lists logging"
|
7031ff68bb998dbbd7caf3b2fd75eef747a86725 |
22-Feb-2013 |
Romain Guy <romainguy@google.com> |
Prettify display lists logging This change makes it a lot easier to see the tree structure. Change-Id: I4969abd1eb010f1d529671f8d86dc4c930be24f6
isplayList.cpp
isplayList.h
isplayListOp.h
penGLRenderer.cpp
|
94b97b38b749d50c8693a044dd2688328cca863e |
22-Feb-2013 |
Chris Craik <ccraik@google.com> |
am eab51de4: Merge "Fix clipping and stencil layer issues" * commit 'eab51de4de88219256260fe26e2018a6234ef83b': Fix clipping and stencil layer issues
|
b98a016c6769b9e80d392df22fe77a2fca048d9f |
21-Feb-2013 |
Chris Craik <ccraik@google.com> |
Fix clipping and stencil layer issues bug:8235699 Ensure rectangle clipping operations disable deferring when necessary (i.e., when the op might create a non-rect region), including in DisplayList::setViewProperties Additionally, makes clipping with a kUnion always use a region, for consistency with software rendering Change-Id: I6730f1a80250bcf3f91cd4afde646d470a12dbc2
isplayList.cpp
isplayList.h
isplayListOp.h
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
|
08d160a366932aec170a115a1edb3bb5ac4e3a4e |
20-Feb-2013 |
Ben Cheng <bccheng@google.com> |
am 7a60c43d: Merge "Use free for memory chunks allocated through memalign." * commit '7a60c43d874bd047ea4b93b94c9b8771ea5739cc': Use free for memory chunks allocated through memalign.
|
7a60c43d874bd047ea4b93b94c9b8771ea5739cc |
20-Feb-2013 |
Ben Cheng <bccheng@google.com> |
Merge "Use free for memory chunks allocated through memalign."
|
15641a6181cdaac2aadf07585de66483b4b7ae6b |
20-Feb-2013 |
Ben Cheng <bccheng@google.com> |
Use free for memory chunks allocated through memalign. BUG: 8234423 Change-Id: Ic4100a780908c94540722cc4af5f73f4940431b4
ontRenderer.cpp
extDropShadowCache.cpp
|
c4ca87f0f4034d4b987084d2b62ed7e5e0430557 |
20-Feb-2013 |
Chris Craik <ccraik@google.com> |
am 8a47d8ea: Merge "Clean up clipping and deferral logic" * commit '8a47d8eaec26d0937aee94a057f561f246748339': Clean up clipping and deferral logic
|
8a47d8eaec26d0937aee94a057f561f246748339 |
20-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Clean up clipping and deferral logic"
|
5d11676414b3606792e23c269cf75b44faa1a2af |
20-Feb-2013 |
Chris Craik <ccraik@google.com> |
Clean up clipping and deferral logic bug:8037003 -Merges replay methods -Bounds checking for DrawBitmapMesh, DrawRects and DrawDisplayList -Use clip as bounds for otherwise unbounded draw operations Clip-as-bounds is correct for drawColor and functor, but other draw operations (pos text, text on path, and layers) still need true bounds calculation Change-Id: I5d5149d2c624f01e3fe46628bf156e835e69b9d5
isplayList.cpp
isplayListOp.h
penGLRenderer.cpp
|
846f5f238fd96a14197022baad86eab8882fe3bc |
19-Feb-2013 |
Romain Guy <romainguy@google.com> |
am e91efaba: Merge "Expose display list APIs" * commit 'e91efabaf2c51d017bf4c5bc4e06491c3511f4e5': Expose display list APIs
|
52036b19a5f82bc4d75cfcbff99c65df8d25a99b |
15-Feb-2013 |
Romain Guy <romainguy@google.com> |
Expose display list APIs The exposed APIs are slightly simpler than the full APIs used internally. Only APIs useful to applications are exposed. Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
isplayList.cpp
isplayList.h
penGLRenderer.cpp
|
620cff4006ee0b507f00ef8a242ecff4e60ba4e9 |
19-Feb-2013 |
Chris Craik <ccraik@google.com> |
am ad82f20d: Merge "DisplayList draw operation reordering" * commit 'ad82f20d2382396f5ac75fdf6f7db5c4da1c4c23': DisplayList draw operation reordering
|
ad82f20d2382396f5ac75fdf6f7db5c4da1c4c23 |
19-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "DisplayList draw operation reordering"
|
eea34dab432586788008d2afd00f5a3c19aaed7f |
16-Feb-2013 |
Chris Craik <ccraik@google.com> |
am ac838a3a: Merge "Correct PatchCache comparison logic" * commit 'ac838a3ab9d85112576cf2c943930441f62c51d2': Correct PatchCache comparison logic
|
ac838a3ab9d85112576cf2c943930441f62c51d2 |
16-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Correct PatchCache comparison logic"
|
9935abceea10df337969f08cce05b7c02bb1eb19 |
16-Feb-2013 |
Chris Craik <ccraik@google.com> |
Correct PatchCache comparison logic Change-Id: I3d0832505b5380bfa362863b39e09dd10f792582
atchCache.cpp
|
225e8943de3994834f18b0b255e8addf812cb86a |
16-Feb-2013 |
Chris Craik <ccraik@google.com> |
am 857089eb: Merge "Adjust offset for non-AA line drawing" * commit '857089eb1efcc7d86f373edf8cb30911a95f6bac': Adjust offset for non-AA line drawing
|
857089eb1efcc7d86f373edf8cb30911a95f6bac |
16-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Adjust offset for non-AA line drawing"
|
62a42c13a6e86255a0118688a60c9248030c95a9 |
15-Feb-2013 |
Chris Craik <ccraik@google.com> |
Adjust offset for non-AA line drawing bug:8114304 The original .375 was chosen to make GL_LINES align with Skia drawing. The new value of .065 is chosen to be as small as possible to make triangle-based lines align with Skia, while keeping lines drawn on integer coordinates unambiguous as to which column/row they draw on. Also adds more lines in CanvasCompare test to highlight the difference Change-Id: If578684f2db320682219c3caa625cf79bc62d88f
rogram.cpp
|
df93fdb6c0d00bcbf548c4f1fa16be8bc3b15334 |
15-Feb-2013 |
Romain Guy <romainguy@google.com> |
am aa8307b9: Merge "Remove obsolete header file" * commit 'aa8307b991b9fca5403b5d7f43659b92527af4fd': Remove obsolete header file
|
c3566d06421c8acc0aafb18f7e307e5725ce87e1 |
05-Feb-2013 |
Chris Craik <ccraik@google.com> |
DisplayList draw operation reordering bug:8037003 The reordering enables similar operations to draw together, minimizing the OpenGL state change operations that go inbetween draws. Eventually, multiple complete canvas draw operations will be merged (into a single glDrawArrays call, for example) Reorders DisplayList draw operations when: -They can move backwards in the command stream to be after similar operations without violating draw ordering -The OpenGLRenderer is in a simple, replayable state (no complex clip, or filter/shadow etc) Also adds two system properties to control the deferral/reordering: "debug.hwui.disable_draw_defer" "debug.hwui.disable_draw_reorder" which can be set to "true" to control the display list manipulation Change-Id: I5e89f3cb0ea2d2afd3e15c64d7f32b8406777a32
ndroid.mk
ebug.h
eferredDisplayList.cpp
eferredDisplayList.h
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
ect.h
|
13ba0054846ce630ca31e8f26169fd9388faee02 |
15-Feb-2013 |
Romain Guy <romainguy@google.com> |
Remove obsolete header file We now use the same mechanism to compare keys everywhere in libhwui. Change-Id: I8b3cb25b13f4f38eb6f12aed0356f796a773617c
atrix.cpp
atch.h
atchCache.cpp
atchCache.h
tils/Compare.h
|
41250b67fe6308570860f2435c6b305ed8270002 |
15-Feb-2013 |
Kristian Monsen <kristianm@google.com> |
resolved conflicts for merge of 101ae3bb to master-chromium Only include file changes in conflict. Change-Id: I1b6eb3343e7163827d8031ffea4b77f294980ccc
|
101ae3bb3909827303121e5e11ed16b7efe36538 |
15-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Move DisplayList to its own cpp file"
|
0776a6069365bdea83855db154fa2d37f9d1d808 |
15-Feb-2013 |
Chris Craik <ccraik@google.com> |
Move DisplayList to its own cpp file Change-Id: Ic9c1bbf4673ad5c756f3908b2ab7e699edd6a119
ndroid.mk
isplayList.cpp
isplayList.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
|
feb6954da185901dfb558a8ec85f4908ca86a4eb |
14-Feb-2013 |
Romain Guy <romainguy@google.com> |
am 10c0aa24: Merge "Implement support for drawBitmapMesh\'s colors array" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit '10c0aa246d9b2633c6cb4e5b714abb0031a4f4cd': Implement support for drawBitmapMesh's colors array
|
10c0aa246d9b2633c6cb4e5b714abb0031a4f4cd |
14-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Implement support for drawBitmapMesh's colors array"
|
ff316ec7a76e52572a2e89b691e6b3bba0cafba3 |
14-Feb-2013 |
Romain Guy <romainguy@google.com> |
Implement support for drawBitmapMesh's colors array Change-Id: I3d901f6267c2918771ac30ff55c8d80c3ab5b725
aches.cpp
aches.h
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
ertex.h
|
0229d0818c8f08753a0df583798bbac19f67a4c4 |
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
am 805a6fe7: Merge "Revert "Revert "Use RenderScript for large text blurs""" # Via Android (Google) Code Review (1) and Chris Craik (1) * commit '805a6fe7b1417640ccaf7914171cb65515b6ab39': Revert "Revert "Use RenderScript for large text blurs""
|
f2d8ccc15d7272b3416f73605c1f31d1d346bd40 |
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Revert "Use RenderScript for large text blurs"" This reverts commit bf5703e52e3304246cbf0e73f6976f7d7312d238. Change-Id: Ic6f991277dec9e80a6fed93db91499726b30ab2a
ndroid.mk
ontRenderer.cpp
ontRenderer.h
extDropShadowCache.cpp
tils/Timing.h
|
c932760f667cf56ca7a1aeffde505745dc3632e1 |
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE"
|
68b600913b699da0fbfcd9d913e4c4fdb08e06b8 |
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Revert "Use RenderScript for large text blurs""
|
bf5703e52e3304246cbf0e73f6976f7d7312d238 |
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Use RenderScript for large text blurs" This reverts commit 3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 Change-Id: Ia81cd485e5ca696bb284c419dc8a1d2f3247100e
ndroid.mk
ontRenderer.cpp
ontRenderer.h
extDropShadowCache.cpp
tils/Timing.h
|
0450086a845709091e176f142d60dbe553c1bce3 |
13-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Fix format name typo"
|
2b44eb75c42e4caa94f0b002f0ea9e134fe7b543 |
13-Feb-2013 |
Romain Guy <romainguy@google.com> |
Fix format name typo Change-Id: If7d86b74ad9735f12349d9fcb62b335f5a742bb5
enderBuffer.h
|
bce29d2a549c374e642ad7a41a1daf869b46f53c |
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Use RenderScript for large text blurs"
|
8d4aeb7111afac0c3c7e56d4ad5d92f9cfce2ffd |
13-Feb-2013 |
Romain Guy <romainguy@google.com> |
Add a render buffer cache to reuse stencil buffers Bug #7146141 This new cache is used in a similar way to LayerCache. It helps reuse already allocated stencil buffers and thus avoid churning memory on every frame. Change-Id: I19551d72da52c40039e65904563600e492c8b193
ndroid.mk
aches.cpp
aches.h
ebug.h
ayer.cpp
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
roperties.h
enderBuffer.h
enderBufferCache.cpp
enderBufferCache.h
|
7c1a49f5f5ed6613d736464bf5001b777e89ced2 |
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE This reverts commit 6c0307dd0aefe9a08794b155fc03ee60ebd14f25, reversing changes made to a2cd828b749c444d55c2c41c7dbb85088ff94b9f. Conflicts: packages/SystemUI/res/values-sv/strings.xml Change-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e
ndroid.mk
isplayListRenderer.h
ontRenderer.cpp
ayer.h
penGLRenderer.cpp
ont/CacheTexture.cpp
ont/Font.cpp
|
3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 |
15-Nov-2012 |
Chris Craik <ccraik@google.com> |
Use RenderScript for large text blurs Still fall back to simple path for small tasks Change-Id: I492f1b3f7d6fec1738f3e45cbfb15864bd23a392
ndroid.mk
ontRenderer.cpp
ontRenderer.h
extDropShadowCache.cpp
tils/Timing.h
|
e67307c816f3fdae2bfba8e9a4410dc015645e91 |
12-Feb-2013 |
Romain Guy <romainguy@google.com> |
Prevent crash when setting up a stencil-based clip Bug #8177690 Clear the layers before we setup the stencil to avoid dereferencing the recently deleted rects. Change-Id: I5dce5f965672f276f9490636d85b6018d3ab9422
penGLRenderer.cpp
ont/Font.cpp
|
d71ff91dcd79f6beea4bbe768ab3bcbb1a6d7c39 |
08-Feb-2013 |
Romain Guy <romainguy@google.com> |
Apply the clip rect/region to drawLines() Without the check to quickReject, drawConvexPath would never setup the clip properly. Change-Id: I23e5b25de3383c9e9b86eea4ee7a9552f8d9efb4
penGLRenderer.cpp
|
b4c1dc1c1580d0970631cc291b4b4c6e9dc96af3 |
08-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Don't clip when drawing a layer"
|
63696bfc0592a0b8808aa2b1c40bcf33c656c659 |
08-Feb-2013 |
Romain Guy <romainguy@google.com> |
Don't clip when drawing a layer A layer will, by definition, clip its content already. The extra clip added by the UI toolkit/renderer is wasteful and in some situations very expensive. If a layered view is rotated, the clip will be transformed into a non-rectangular region, thus forcing the renderer to rely on the stencil buffer. The whole point of using layers is to draw efficiently so let's avoid this case. Change-Id: I813465f6468cc386b84a4d058c11a258fef8507a
isplayListRenderer.cpp
|
da8d8b9699fe8e9557389465007e333d3f03dcc1 |
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Add a RenderBuffer object to store stencil buffers. Bug #7146141"
|
3bbacf27c0be1bae4e4483577fc89ae3113abe5d |
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Add a RenderBuffer object to store stencil buffers. Bug #7146141 This change is needed to add a render buffer cache to avoid creating and destroying stencil buffers on every frame. This change also allows the renderer to use a 1 bit or 4 bit stencil buffer whenever possible. Finally this change fixes a bug introduced by a previous CL which causes the stencil buffer to not be updated in certain conditions. The fix relies on a new optional parameter in drawColorRects() that can be used to avoid performing a quickReject on rectangles generated by the clip region. Change-Id: I2f55a8e807009887b276a83cde9f53fd5c01199f
ndroid.mk
aches.cpp
aches.h
ebug.h
xtensions.cpp
xtensions.h
radientCache.cpp
ayer.cpp
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
enderBuffer.h
napshot.cpp
tencil.cpp
tencil.h
extureCache.cpp
|
1ba0289d18f16e190a3bc7cf9226d061016dc355 |
07-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Add cap tessellation support"
|
65cd612face362d054a85d0f7e5881c59cd523be |
11-Dec-2012 |
Chris Craik <ccraik@google.com> |
Add cap tessellation support bug:7117155 bug:8114304 Currently used for lines (with and without AA) and arcs with useCenter=false Also removes 0.375, 0.375 offset for AA lines Change-Id: Ic8ace418739344db1e2814edf65253fe7448b0b0
ndroid.mk
aches.h
penGLRenderer.cpp
penGLRenderer.h
athRenderer.cpp
athRenderer.h
athTessellator.cpp
athTessellator.h
rogram.h
rogramCache.cpp
ertex.h
|
511afdd3ac55ba27c5882cbe189d89a2942420b1 |
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Fix uninitialized variables in Caches.cpp Bug #8151401"
|
c2a972131f1870042eb63847d4b24fbe718d8e3f |
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Fix uninitialized variables in Caches.cpp Bug #8151401 Change-Id: I221f93de0f1981974f82a094297836dd3fe418bc
aches.cpp
|
83315e0cb425db5dde514c90df56a7188c7983d5 |
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Fix Snapshot::resetClip to also reset the clip region"
|
3c099c42fd7ead1429076055990ae39b72c904f4 |
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Fix Snapshot::resetClip to also reset the clip region Change-Id: I979151e73f64ff9d45f8a5232d8700361b09fbc7
napshot.cpp
|
23e500d168e8d649305445f6c1d2b49d8d2c00fd |
06-Feb-2013 |
Derek Sollenberger <djsollen@google.com> |
Merge "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'"
|
b969a0de65730b071d846f8302e751e2637e6dbe |
05-Feb-2013 |
Romain Guy <romainguy@google.com> |
Add support for non-antialiased text Change-Id: I17c073955ab94abc9b409e5fcfbc675faa07c5ba
isplayListRenderer.cpp
ontRenderer.cpp
ont/Font.cpp
ont/Font.h
|
f5db9b8ed42cace00d4e84b4a7e2e63a7c654b35 |
05-Feb-2013 |
Derek Sollenberger <djsollen@google.com> |
Merge "Changes needed to roll Skia to r7527." into master-chromium
|
43c6eda4d3535e7601e586a75206b20e42209ae2 |
04-Feb-2013 |
Romain Guy <romainguy@google.com> |
am b3778531: Merge "Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit 'b377853123ff53974bb06ffc30e09db41a767c3a': Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254
|
b377853123ff53974bb06ffc30e09db41a767c3a |
04-Feb-2013 |
Romain Guy <romainguy@google.com> |
Merge "Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254"
|
a362c69d6cdf448107e5a539f77df73937141870 |
04-Feb-2013 |
Romain Guy <romainguy@google.com> |
Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254 This method is used as an optimization for paths containing only non-overlapping rectangles. The implementation was correctly rejecting rectangles invidually but not the bounds of the array of rectangles. If quickReject() is not called, setupDraw() won't be able to properly set the scissor. Change-Id: I50aa11a4bd8b525b267d36a3039fe7a6fba50518
penGLRenderer.cpp
|
d4cf7df151c68e621fbc3e1552e5f33020bc7b6d |
04-Feb-2013 |
Chris Craik <ccraik@google.com> |
am e51ccb15: Merge "Simplify display list logging, removing pointers" # Via Android (Google) Code Review (1) and Chris Craik (1) * commit 'e51ccb1543ef5b6427e5f270ae38be75e18daccd': Simplify display list logging, removing pointers
|
e51ccb1543ef5b6427e5f270ae38be75e18daccd |
04-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Simplify display list logging, removing pointers"
|
3dc553babe515fbf9bd042dd63a792e5de578ecd |
04-Feb-2013 |
Chris Craik <ccraik@google.com> |
Simplify display list logging, removing pointers Also fix save indents Change-Id: Ia1add83422fbc200b85fd6688f5be60292b0f178
isplayListOp.h
isplayListRenderer.cpp
|
d81ec456bb097a712bcbc093c5a1e0075434158e |
04-Feb-2013 |
Derek Sollenberger <djsollen@google.com> |
Changes needed to roll Skia to r7527. Change-Id: I84aef3f8a733c869fade06021816646001532758
penGLRenderer.cpp
|
da805b149fde3f7f8ef404c39ef74b2fbbf7af7f |
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
am c5801680: Merge "Tag HardwareRenderers with a name to help debugging" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit 'c580168011334db756f5e68aa005d20bace69171': Tag HardwareRenderers with a name to help debugging
|
b86e75ea85e62e3ecfe989ebe2b6bdaa962cbcdf |
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
am b7475e7b: Merge "Fix tiling on QCOM GPU" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit 'b7475e7b0b0ababe8c5f3fbfde565c97960c633c': Fix tiling on QCOM GPU
|
5019546c8cbdd8c647008dc9b3ce2481e2e52758 |
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
am 65f4effc: Merge "Discard the correct buffer when the bound FBO is not 0" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit '65f4effcab1f4bb6e2e96a2b8eb2c774601b87db': Discard the correct buffer when the bound FBO is not 0
|
ef35927abcd089652f87a985dd6dde7afde58b92 |
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
Tag HardwareRenderers with a name to help debugging The name of the renderer is the same as the window it belongs to. Change-Id: Ie9adc0a1978afa026923ea41f5540eda6ba65a92
aches.h
penGLRenderer.cpp
penGLRenderer.h
|
f735c8e5cb59d6e1d1aa152fed7a6480a08d1c2a |
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
Fix tiling on QCOM GPU Rename Caches::startTiling parameter from opaque to discard to make it clearer what its role is. Tweak calls to startTiling to preserve the buffer when needed and discard it when possible. Change-Id: If7f8ff19003f79f36885a0a7207cc61901f637d2
aches.cpp
aches.h
penGLRenderer.cpp
|
f158198ccc3a1f53bfebaa6b8f4426e80e1867ea |
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
Discard the correct buffer when the bound FBO is not 0 glDiscardFramebufferEXT uses different constants depending on whether the default FBO is bound or not. The code was choosing the proper value for the color buffer but not for the stencil buffer. Change-Id: I55cfcbdf663582119cb1a6289317016440d9e361
penGLRenderer.cpp
|
2dbd185fd0e5dfe9addb677f42716c442b7e62bd |
30-Jan-2013 |
Derek Sollenberger <djsollen@google.com> |
resolved conflicts for merge of c93c6aa5 to master-chromium Change-Id: I51429ed5359355025f873ccab11bfabbbe772a46
|
c93c6aa5553203f05df871804517885fcc071cfd |
30-Jan-2013 |
Chris Craik <ccraik@google.com> |
Merge "Object-based DisplayList recording"
|
781fd2b7c86a20b0f00b5e009237d69b557e3cc4 |
30-Jan-2013 |
Romain Guy <romainguy@google.com> |
am f5f85022: Merge "Fix graphical corruption on QCOM GPU Bug #7146141" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit 'f5f8502271b04d63c518e3aecfd5eaf557904e72': Fix graphical corruption on QCOM GPU Bug #7146141
|
c3fedafc5f50100219449125a000e3138f6fb987 |
30-Jan-2013 |
Romain Guy <romainguy@google.com> |
Fix graphical corruption on QCOM GPU Bug #7146141 The GL_QCOM_tiled_rendering extension requires careful use of start/endTiling when attaching a renderbuffer dynamically. Change-Id: I20036683ed3909ffaf40cc3d57a25257e35b6fa2
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
2af4635e4a9e448a65ff541252f8f94bc6ac48e0 |
27-Nov-2012 |
Chris Craik <ccraik@google.com> |
Object-based DisplayList recording bug:8037003 Changes the DisplayList from using stream read/write commands to use an array of objects manually allocated on a linear buffer. Depends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator Also changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints Change-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47
isplayListLogBuffer.cpp
isplayListLogBuffer.h
isplayListOp.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
atch.cpp
athRenderer.cpp
ect.h
|
7d4f807b830eceb557e849629e95bd4bdc06ccfd |
19-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 49464796: Merge "Allow layers with a stencil buffer to be resized on the fly Bug #7146141" * commit '494647961feb21d925d5e6e5ce1d42aa8b6949db': Allow layers with a stencil buffer to be resized on the fly Bug #7146141
|
2055abaa0a590c35e27e1ae2e7d7cfccdfb98b59 |
19-Jan-2013 |
Romain Guy <romainguy@google.com> |
Allow layers with a stencil buffer to be resized on the fly Bug #7146141 This change moves the resizeLayer() from LayerCache (where it should never have been anyway) to Layer. This makes a little more sense. Change-Id: I8b2f9c19c558e738405a58b9e71ec5799fc6be88
ayer.cpp
ayer.h
ayerCache.cpp
ayerCache.h
ayerRenderer.cpp
penGLRenderer.cpp
|
e9a983b44407413f18aeb16c892e97ea938a7fab |
18-Jan-2013 |
Romain Guy <romainguy@google.com> |
am b12db26f: Merge "Implement clipRect with a transform, clipRegion & clipPath Bug #7146141" * commit 'b12db26fec178794915d819c3dd64f13d788c461': Implement clipRect with a transform, clipRegion & clipPath Bug #7146141
|
8ce00301a023eecaeb8891ce906f67b513ebb42a |
16-Jan-2013 |
Romain Guy <romainguy@google.com> |
Implement clipRect with a transform, clipRegion & clipPath Bug #7146141 When non-rectangular clipping occurs in a layer the render buffer used as the stencil buffer is not cached. If this happens on a View's hardware layer the render buffer will live for as long as the layer is bound to the view. When a stencil buffer is required because of a call to Canvas.saveLayer() it will be allocated on every frame. A future change will address this problem. If "show GPU overdraw" is enabled, non-rectangular clips are not supported anymore and we fall back to rectangular clips instead. This is a limitation imposed by OpenGL ES that cannot be worked around at this time. This change also improves the Matrix4 implementation to easily detect when a rect remains a rect after transform. Change-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9
aches.h
ayer.cpp
ayer.h
ayerRenderer.cpp
ayerRenderer.h
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
tencil.cpp
|
616a87736d819a7fe4e1d60d4703aabc7b888cd7 |
15-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 61840eb0: Merge "Preliminary Support for region clipping" * commit '61840eb03882e1a964ae971725bd21229c3db42c': Preliminary Support for region clipping
|
735738c4ddf3229caa5f6e634bf591953ac29944 |
03-Dec-2012 |
Romain Guy <romainguy@google.com> |
Preliminary Support for region clipping Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires a stencil buffer to be always present. In addition, extra wiring is required in JNI and display lists. This change only adds the necessary JNI/C++ APIs and some extra plumbing to start the real work on properly supporting region clipping. A new debug define called DEBUG_CLIP_REGIONS can be used to draw the current clip region. It is off by default, as is region clipping. The default implementation of clipPath() and clipRegion(), now in native, mimics the previous Dalvik implementation to prevent regressions. Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
ebug.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
|
bf06ccba95961f9f67af8957b52981eb3a46a9db |
09-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 33a9741c: Merge "Cleanup 9patch mesh matching code Bug #7970966" * commit '33a9741c1be99e8be01ab799eb50df97849ed801': Cleanup 9patch mesh matching code Bug #7970966
|
5341cead27070656458750a789ba211a505b57b5 |
09-Jan-2013 |
Romain Guy <romainguy@google.com> |
Cleanup 9patch mesh matching code Bug #7970966 The bug described in #7970966 should normally never happen but just in case, change the detection code to be more robust. Change-Id: I7040a6087590e34abe8803cb8f83f051d77f3944
atch.cpp
atch.h
atchCache.cpp
|
14c40b47565778b7185de7655836485f3065877a |
09-Jan-2013 |
Romain Guy <romainguy@google.com> |
Fix build Change-Id: Ia465bd844b592fc05e59ad392ecc5ca4d34d24d7
ont/Font.cpp
|
19d4f1806a953b87435a2bb6fd8e738424e94003 |
09-Jan-2013 |
Romain Guy <romainguy@google.com> |
resolved conflicts for merge of c88c60be to master-chromium Change-Id: I3b4b42443312068e942aa779dfdc928afa7569fd
|
e3a9b24b5e3f9b2058486814a6d27729e51ad466 |
08-Jan-2013 |
Romain Guy <romainguy@google.com> |
Add plumbing for better text scaling Fonts are now described by a transform matrix. This lead to switching from a vector to a hashmap. This change therefore adds new comparators and hash computations to Font. Change-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530
isplayListRenderer.cpp
ontRenderer.cpp
ontRenderer.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
athCache.cpp
ont/Font.cpp
ont/Font.h
ont/FontUtil.h
|
7bac55434caa9de7fc31f6fd8b0384042c700b4c |
05-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 9acd1b4f: Merge "Add visual profiling feature" * commit '9acd1b4fa897f3a007dd23dc1f0471b151fa03ad': Add visual profiling feature
|
9acd1b4fa897f3a007dd23dc1f0471b151fa03ad |
05-Jan-2013 |
Romain Guy <romainguy@google.com> |
Merge "Add visual profiling feature"
|
672433d90fab7383cd28beac9d4485b566a90940 |
05-Jan-2013 |
Romain Guy <romainguy@google.com> |
Add visual profiling feature When profiling is enabled with debug.hwui.profile set to true, setting debug.hwui.profile_visualizer to true will display the profiling data directly on screen. Change-Id: I3d5fe3f0347090815087b1cbfce66b8e76d9347b
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
95bdeddb97b2f14e115751041b7831f73d92a4cd |
05-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 48f7cfb1: Merge "Properly support ALPHA_8 bitmaps in all drawBitmap() methods" * commit '48f7cfb10622f8675741f36bdf5b1f679e3fe37c': Properly support ALPHA_8 bitmaps in all drawBitmap() methods
|
886b275e529e44a59c54b933453d9bc902973178 |
04-Jan-2013 |
Romain Guy <romainguy@google.com> |
Properly support ALPHA_8 bitmaps in all drawBitmap() methods Change-Id: I869993c59e0a0d76f369c09acbae711753908f48
penGLRenderer.cpp
penGLRenderer.h
|
e0ece54bd97e66f3a2ee586e49b9502e5de62b93 |
03-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 59131481: Merge "Remove unnecessary & uninitialized variable Bug #7728929" * commit '5913148104f0b233d861fab2873befc865bf57c0': Remove unnecessary & uninitialized variable Bug #7728929
|
15a65bfee5b0a98664eb5ebadad63c73e2c471f8 |
03-Jan-2013 |
Romain Guy <romainguy@google.com> |
Remove unnecessary & uninitialized variable Bug #7728929 The uninitialized variable was taken into account to compute the hash of gradient cache entries, thus causing cache corruptions and sometimes infinite loops (it would also cause the cache to fill up.) Change-Id: Ic807a9bf901888b121a6a781a81dafc33075ed2a
radientCache.cpp
radientCache.h
|
65dcf5322f4b25c6e7a0fbaa42957296bcdec198 |
03-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 44080524: Merge "Remove C++11 related warning" * commit '44080524f083dc00704267a0919016388f0d5426': Remove C++11 related warning
|
dcfc836b457a87881da409e1acf251515f121446 |
03-Jan-2013 |
Romain Guy <romainguy@google.com> |
Remove C++11 related warning Change-Id: I250ff7bd0ea49908e11b14c995d77312cd09a8b4
penGLRenderer.cpp
penGLRenderer.h
kiaShader.h
|
ca79cf69d09efa0c327e9b1237d86a119aea5da7 |
14-Aug-2012 |
Derek Sollenberger <djsollen@google.com> |
Update framework to support r5967 of Skia. bug: 6906025 Change-Id: Iefdb830ec3aa2ab3472c1c142484a7aa21788a15
ndroid.mk
isplayListRenderer.h
ontRenderer.cpp
ayer.h
ont/CacheTexture.cpp
ont/Font.cpp
|
53018e520de44795e250e6165f9a2195adc73a98 |
01-Dec-2012 |
Romain Guy <romainguy@google.com> |
Merge "Apply dev. settings at runtime Bug #7434649"
|
5bb3c730f5ebd2a0db1b02a8981c6fdbea6c1a2e |
30-Nov-2012 |
Romain Guy <romainguy@google.com> |
Apply dev. settings at runtime Bug #7434649 Change-Id: I16f00eaa8a5eefd9f9849e196cf2cb1659215390
aches.cpp
aches.h
ayer.cpp
ayer.h
penGLRenderer.cpp
|
69fcbccf476ffc55af4da4dfedc72c3de8f91ce8 |
01-Dec-2012 |
Romain Guy <romainguy@google.com> |
Fix crash in TextDropShadowCache The lengths used to copy/read arrays were completely wrong. Change-Id: If21f23a73cce59bbd32975760e6d728eeeb9e40d
extDropShadowCache.cpp
extDropShadowCache.h
|
c4aa38a1e38ff65460e98b4768fc76022a66621a |
29-Nov-2012 |
Chris Craik <ccraik@google.com> |
am c0da873e: am a9473881: am 2435f98d: Merge "Use the same interrupt/resume logic for all functor calls" into jb-mr1.1-dev * commit 'c0da873ee25e1e67fd0454ebc2473a5c3cac002c': Use the same interrupt/resume logic for all functor calls
|
c0da873ee25e1e67fd0454ebc2473a5c3cac002c |
29-Nov-2012 |
Chris Craik <ccraik@google.com> |
am a9473881: am 2435f98d: Merge "Use the same interrupt/resume logic for all functor calls" into jb-mr1.1-dev * commit 'a9473881eb066b41ea2fb3389b5c0031c2ab4f38': Use the same interrupt/resume logic for all functor calls
|
b8dca777caafe1fd8c6ff6a1cc9e1bdd55f8e4c1 |
29-Nov-2012 |
Romain Guy <romainguy@google.com> |
Merge "Use LruCache instead of GenerationCache in libhwui"
|
059e12ccd20f5c249724a8362d6bac325334ea76 |
29-Nov-2012 |
Romain Guy <romainguy@google.com> |
Use LruCache instead of GenerationCache in libhwui Change-Id: Ic26ddc7151eb5462bcd243b21daf7187ed6d3bec
radientCache.cpp
radientCache.h
athCache.cpp
athCache.h
hapeCache.h
extDropShadowCache.cpp
extDropShadowCache.h
extureCache.cpp
extureCache.h
|
d15321bbf57ff7a4615076fefcee5e196c4fc796 |
28-Nov-2012 |
Chris Craik <ccraik@google.com> |
Use the same interrupt/resume logic for all functor calls bug:7093396 The functor was able to change the renderer's blend mode without it being restored in process mode. This single path of updating gl caches reduces likelihood of this occurring in the future. Change-Id: Ie367532f9c683299f02bc4f635d7cb31f96db39f
penGLRenderer.cpp
|
7bb3cfe1cca4016ce95d3ef059761f4bb2d668bb |
15-Nov-2012 |
Sangkyu Lee <geteuid@gmail.com> |
Another optimization of glyph cache uploads Previously, cache textures were updated whenever mCurrentCacheTexuture was changed. Since updating cache textures needs glTexSubImage2D call, frequent changing of mCurrentCacheTexture (which can easily happen when an app uses lots of unique glyphs even with precaching) caused many glTexSubImage2D calls and bad framerates. This patch optimized isssueDrawCommand function. Consequently, changing mCurrentCacheTexture doesn't cause glTexSubImage2D call any more and it will improve font rendering performance. Change-Id: Id19d959fa0e69eeb2a39f83a57e311d7394586b2 Signed-off-by: Sangkyu Lee <geteuid@gmail.com>
ontRenderer.cpp
ontRenderer.h
|
7fae5216d24ebe67e22777ab933689dbcbc001b9 |
01-Nov-2012 |
Chris Craik <ccraik@google.com> |
Avoid tesselation path when useCenter is set bug:7458300 The tesselation path doesn't handle sharp joins. Change-Id: I28bf03f3b72fc584a205daa40934dda17031098f
penGLRenderer.cpp
|
fbba753f62f13a12d9287c67921d1ea60e92768d |
24-Oct-2012 |
Chet Haase <chet@google.com> |
Merge "Handle offscreen animations correctly" into jb-mr1-dev
|
3561d062ff01f3455c984e4cfcd101a64a2e902f |
23-Oct-2012 |
Chet Haase <chet@google.com> |
Handle offscreen animations correctly A bug in software rendering caused animations on views that are offscreen to not get drawn, therefore the animation doesn't continue (since old-style animations depend on the logic in the drawing code to keep running). Fix is to special case the isAnimating case in ViewRoot to go ahead and schedule a traversal even if the dirty rect does not intersect with the visible region. Issue #7396035 Animations starting offscreen don't draw run/end/draw properly (sw rendering only) Change-Id: Iae25b3a424ddc5a16ba431ecd68cf42d5500db3f
isplayListRenderer.cpp
|
41308e2936c768103d0e9c82500e97938d6797f1 |
23-Oct-2012 |
Romain Guy <romainguy@google.com> |
Properly draw the window background on window resize Bug #7385090 This change gets rid of two silly asumptions: - That a layer needs to be cleared with opaque black (it shouldn't, it's already cleared to transparent and the view will cover it up with its own background) - The the clip should be dirty at the beginning of a frame only when the render target is opaque Change-Id: I415b6d3cab196057fb0281419a53fef601a44e28
penGLRenderer.cpp
|
547e66531d521eb1eadac87edb0f79f8c2f1bbe0 |
23-Oct-2012 |
Chet Haase <chet@google.com> |
Don't null the reference to Bitmap pixels until we're really ready A change in the VM triggers a native memory error more aggressively than before, showing that there's a bug in the logic of recycling bitmaps. Since the pixel memory is allocated on the Java heap, nulling out the reference to that memory in the Java level Bitmap object can cause that memory to get collected at any time. Meanwhile, we may have a reference to that memory at the native level for rendering purposes, causing an error if/when we access that memory after it has been collected by the VM. The fix is to avoid setting the reference to the pixels to null unless we are not referring to it in native code. This is determined at the time we call recycle() - we return a boolean to indicate whether the native code is still using the memory. if not, the Java code can null out the reference and allow the VM to collect it. Otherwise, it will get collected later when the encompassing Bitmap object is collected. Issue #7339156 HTML5 tests crash the app (Vellamo) Change-Id: I3a0d6b9a6c5dd3b86cc2b0ff7719007e774b5e3c
esourceCache.cpp
esourceCache.h
|
7c25aab491707f7324f9941b8cfa9bd2b4b97e76 |
19-Oct-2012 |
Romain Guy <romainguy@google.com> |
Defer layer rendering to avoid stalls Bug #7326824 When a layer is taken out of the cache and initialized it gets cleared to prepare it for future rendering. This triggers the following sequence of operations: glBindFramebuffer(layer.fbo) attach texture storage to FBO glClear() glBindFramebuffer(defaultFbo) The clear forces a resolve on tilers which stalls the CPU for a little while, thus producing jank during animations. This change moves the clear to the next frame when we know we will have to execute a resolve anyway. Change-Id: Ic1939c25df20ed65a4c48dc81ee549b2cd8b6ec3
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
b2e2f2470693e78baed20617f989d9a166864ed4 |
18-Oct-2012 |
Romain Guy <romainguy@google.com> |
Take into account the texture layer's transform for clipping Bug #7370212 Change-Id: Ibdc3161306f54a1cfe66e08458f05ee01a13b1df
ayer.h
penGLRenderer.cpp
|
52439570800891345981c0968b513843edc2b27a |
17-Oct-2012 |
Romain Guy <romainguy@google.com> |
Enable mipmapping, without a deadlock this time Bug #7353771 Change-Id: I89a08a58608e374f1c604a26ee0769d5850b2f7b
extureCache.cpp
extureCache.h
|
be29d82f740fea2ed35d89bd9aa4644f4c042762 |
17-Oct-2012 |
Chet Haase <chet@google.com> |
Merge "Correctly adjust clip regions that lie offscreen" into jb-mr1-dev
|
a33d161250b0787f4e7a3f3f09244451e22496ce |
17-Oct-2012 |
Mathias Agopian <mathias@google.com> |
workaround to unbreak the build (deadlock during boot) bug: 7363206 Change-Id: Ie79c309e367ba07336a5299af9fd59c6bd2390e7
extureCache.cpp
|
1b85122bd22c4528679ae8bd67077dfc2fdf1847 |
17-Oct-2012 |
Romain Guy <romainguy@google.com> |
Merge "Add API to enable mipmaps on Bitmap Bug #7353771" into jb-mr1-dev
|
713e1bb9df6bdfc21bd5c40d1a6ecf6c822a4be5 |
17-Oct-2012 |
Romain Guy <romainguy@google.com> |
Add API to enable mipmaps on Bitmap Bug #7353771 This API can be used when scaling large images down to a small size to get nicer looking results. Change-Id: If09087eed36077eee5355f6047a3ca67747d7d9e
penGLRenderer.cpp
exture.h
extureCache.cpp
extureCache.h
|
aa42c9af6ea2158a685ebf9b338e6d2355712268 |
17-Oct-2012 |
Chet Haase <chet@google.com> |
Correctly adjust clip regions that lie offscreen We were clamping the x/y location of the scissor to 0,0, but not adjusting the width/height appropriately. This fix adjusts width/height and also clamps them to 0 to correctly clip out offscreen operations. Issue #7221524 Top left and top right portions of the screen blanks out after some time Change-Id: I47f23336ea612409ed86652b9a68e272819ef00e
aches.cpp
|
5778cb9a98aacd74c7f915b2d02eccc7189d5946 |
16-Oct-2012 |
Romain Guy <romainguy@google.com> |
Merge "Always use the correct pixel store size Bug #7357394" into jb-mr1-dev
|
d43b22da291fd08017fac627561091a633c85807 |
16-Oct-2012 |
Romain Guy <romainguy@google.com> |
Always use the correct pixel store size Bug #7357394 When a bitmap is reused it may change configuration which can lead to a different pixel store alignment. Our current texture cache implementation assumes this never happens and keeps the old alignment which can lead to distorted texture (if the bitmap goes from ARGB8888 to RGB565 for instance.) Change-Id: Ic57acf2403411ae4d0924e92f221298350612617
extureCache.cpp
|
a92bb4dc9605c86b8773c929412af2dc242b1fa8 |
16-Oct-2012 |
Romain Guy <romainguy@google.com> |
Support clipping in Canvas.drawBitmapMesh() Bug #7354162 Change-Id: Ifd1d0b365e8a4d88e0ff0629c9ee13f27e1a7331
penGLRenderer.cpp
|
780c12875ce0c0d3fd072484d4b8b3c327cc4f31 |
04-Oct-2012 |
Chris Craik <ccraik@google.com> |
HW Acceleration support for stroked arcs with BUTT caps bug:4419017 Change-Id: I7371bfb36cef460da861a47d4d945218c6d0c3d0
penGLRenderer.cpp
athRenderer.cpp
athRenderer.h
|
3add43ab0e26c9fd44d4dea683092807229eaa59 |
12-Oct-2012 |
Chris Craik <ccraik@google.com> |
Merge "fix stroke sub-hairline threshold" into jb-mr1-dev
|
2154af209f6d269e29c6e991ce6c1349dfc85b93 |
12-Oct-2012 |
Chris Craik <ccraik@google.com> |
fix stroke sub-hairline threshold bug:7339943 Change-Id: I4051a03f4cd5bd2c313840208540601fb7a056e2
athRenderer.cpp
|
c37f349ecff54f15ed31d57c1b886897c91430af |
11-Oct-2012 |
Romain Guy <romainguy@google.com> |
Prevent possible divide by 0 Bug #7307304 Should never happen, but eh :)) Change-Id: Ic7a09fd5c7a3622e6b4963f9ee6920e232018e2e
atch.cpp
|
41d35aef06c2a570a45474a01ca95a6cb9c29d9e |
11-Oct-2012 |
Romain Guy <romainguy@google.com> |
Allow 9patches to shrink Bug #7307304 Change-Id: I1fabf6df99c18c86ab1ec0e1e398a3d6d4098496
atch.cpp
atch.h
|
bb5f014ae805f166328d72cbf826e8f1f17c9daf |
08-Oct-2012 |
Chris Craik <ccraik@google.com> |
Merge "Use offset in line drawing" into jb-mr1-dev
|
50ae66a554126fadee2054e0d01a9e57150cedb5 |
07-Oct-2012 |
Romain Guy <romainguy@google.com> |
Work around a possible driver bug Bug #7296475 When re-enabling the scissor the driver seems to ignore the already existing scissor box. This change resets the scissor box when the test state changes. Change-Id: I3a68433164f99d21fbab769a26c56fe416c1539a
aches.cpp
|
b30cb10a0c75c2295e89b1b30d91a73f38ee09fb |
06-Oct-2012 |
Chris Craik <ccraik@google.com> |
Use offset in line drawing Partial revert of cb4d6009 bug:7299070 Change-Id: I1db7b035e3015e0f6d15c95aef71ea74dbeca13e
penGLRenderer.cpp
|
cf8675ee176a375f873792684d38a47f78348dff |
02-Oct-2012 |
Romain Guy <romainguy@google.com> |
Draw stroked rectangle as meshes instead of textures Bug #7233734 Stroked rectangles were rendered using software generated textures which would lead to slightly misaligned results. Instead, let's use the new convex path rendering code that will do the right thing (and save a lot of bandwidth.) Change-Id: Ib95ff581e56c1ecead97e4919298e6fd146ca167
penGLRenderer.cpp
|
bf09ffb4e0dc820aeae56a3e576aed33cab218da |
01-Oct-2012 |
Chris Craik <ccraik@google.com> |
Quick reject empty paths bug:7260035 Adding a circle of radius 0 to a path is a no-op in skia, so detect this case both in the PathRenderer, and in quickReject(). Change-Id: I7a172db49a5d5351b4734b39d4e4ca6379658096
penGLRenderer.cpp
athRenderer.cpp
|
6a2d17f71342f981c9df1dc5beff33e30eb3ae2b |
30-Sep-2012 |
Chet Haase <chet@google.com> |
Fix texture corruption When memory gets low on a device, activities flush everything they can. Hardware-accelerated activites, such as Launcher, flush GL resources and destroy the GL context. However, some resources were still hanging around, due to deferred destruction policies (we don't delete layers until the DisplayLists they are in are finalized, to ensure we don't deref deleted objects). This meant that we were referring to obsolete GL data in these objects. in particular, it meant that we might come around later, after a new GL context was created, and delete a texture object that was incorrect. We use the layer's "texture id" to refer to the texture underlying the layer. But if there's a new GL context, then this texture ID is no longer valid, and we may be deleting the texture that a different object (layer, icon, whatever) is referring to, because the driver may return that same ID under the new GL context. The fix is to more aggressively delete things that we know will not be used again when the GL context is destroyed. In particular, we delete all resources being used by all DisplayLists at GL context destruction time. Issue #7195815 Textures corruption on all devices, in many apps Change-Id: I52d2d208173690dbb794a83402d38f14ea4c6c22
aches.cpp
isplayListRenderer.cpp
isplayListRenderer.h
|
a3dc55f83ab583e0a66b893c71b849afa046770a |
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix a couple of rendering issues Bug #7253839 1. Make sure we don't make GL calls while recording display lists 2. Disable an early and trivial clip optimization in font renderer when a perspective transformation is used on the Canvas Change-Id: I3f1052164239329346854f72d0a0d401fbfecf06
isplayListRenderer.cpp
atrix.cpp
atrix.h
penGLRenderer.cpp
napshot.cpp
napshot.h
ont/Font.cpp
|
a7a257d6578cf37723d92b4b90c6ef9caea18528 |
28-Sep-2012 |
Hiroshi Lockheimer <hiroshi@google.com> |
Merge "Plug memory leak that happens when reusing display lists Bug #7195815" into jb-mr1-dev
|
034de6b1ec561797a2422314e6ef03e3cd3e08e0 |
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Plug memory leak that happens when reusing display lists Bug #7195815 We did not reclaim resources when reusing an existing DisplayList to record a new empty list of commands. This would lead to various memory leaks: bitmaps, paints, paths, matrices, etc. This is not a common case but some apps run into this situation, such as Launcher. Change-Id: I2eb14ac86a212123f8edbe42b70a7c1c51fa4145
isplayListRenderer.cpp
|
a852ff3a4b637e8101c2f54e110467586fe604cf |
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge changes I9873540e,I4f6c38e3 into jb-mr1-dev * changes: Skia's ColorMatrix vector is in the 0..255 range not 0..1 Bug #7248980 Don't use the QCOM_tiled_rendering extension with functors Bug #7247880
|
6ed9e43879039ce0cbead08d304edbce79a88ced |
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Skia's ColorMatrix vector is in the 0..255 range not 0..1 Bug #7248980 Change-Id: I9873540e3bc1ea0526ea0884279a427c0de96006
kiaColorFilter.cpp
|
54c1a64d5441a964890b44280e4457e11f4f924a |
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Don't use the QCOM_tiled_rendering extension with functors Bug #7247880 Change-Id: I4f6c38e37b953c58e6107097c613891a49dac766
aches.cpp
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
16b897c488a740e004bfce7d50b0d7602277fc0b |
27-Sep-2012 |
Chris Craik <ccraik@google.com> |
Fix rectangle AA offset calculation bug:4419017 Fixes compiler warning Handle bezier thresholds with large stroke widths better Fix sub-hairlines (for scaleX == scaleY) Change-Id: Ida387483348ee61424b7fba729abca2a88bd68b3
aches.h
athRenderer.cpp
|
b0d135d91f3a41af09fd0281211f18e8452e7fc6 |
27-Sep-2012 |
Chris Craik <ccraik@google.com> |
Merge "Add stroke support to polygonal shape rendering" into jb-mr1-dev
|
244a0bcadc167ed8519c7e34c62e116c1adc2dbe |
27-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Make gradients beautiful again Bug #7239634" into jb-mr1-dev
|
39284b763a09688468ed3799ebd2ebb76ea5dfd5 |
27-Sep-2012 |
Romain Guy <romainguy@google.com> |
Make gradients beautiful again Bug #7239634 This change passes two matrices to the vertex shader instead of one. We used to compute the final MVP matrix on the CPU to minimize the number of operations in the vertex shaders. Shader compilers are however smart enough to perform this optimization for us. Since we need the MV matrix to properly compute gradients dithering, this change splits the MVP matrix into two. This has the advantage of removing one matrix multiplication per drawing operation on the CPU. The SGX 540 shader compiler produces the same number of instructions in both cases. There is no penalty hit with having two matrices instead of one. We also send so few vertices per frame that it does not matter very much. Change-Id: I17d47ac4772615418e0e1885b97493d31435a936
rogram.cpp
rogram.h
rogramCache.cpp
|
cb4d6009576cf08195dc23f341a3f4939c0878bb |
25-Sep-2012 |
Chris Craik <ccraik@google.com> |
Add stroke support to polygonal shape rendering bug:4419017 bug:7230005 - Adds support for stroke/strokeAndFill for shapes without joins - Fixes path-polygonization threshold calculation - Fixes rendering offset (now only used for points) - Several formatting fixes Change-Id: If72473dc881e45752e2ec212d0dcd1e3f97979ea
aches.cpp
aches.h
ontRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
athRenderer.cpp
athRenderer.h
|
2ea1045a0148cac45f873fc6324682044d599f73 |
26-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Applies a layer's color filter even when the layer is a quad Bug #7238059" into jb-mr1-dev
|
e529ece37f664f8947a1d4a1e27d679f6f286388 |
26-Sep-2012 |
Romain Guy <romainguy@google.com> |
Applies a layer's color filter even when the layer is a quad Bug #7238059 Change-Id: Ib4736a419bc1a9a67a01d090516ed049fe3aebca
penGLRenderer.cpp
|
98d3a64ffa13596e3ea9125bbff40c51ec96bd8d |
26-Sep-2012 |
Chet Haase <chet@google.com> |
Assign default texture id of 0 Some logic depends on a default value of 0, which was not being assigned. Issue #7195815 chrome url bar is corrupted Issue #7190656 Textures corrupted on mr1 Change-Id: I346b7b76e885bf8f04740e711fd88f917a5418c7
ayer.cpp
ayer.h
ayerRenderer.cpp
ayerRenderer.h
exture.h
|
17ef62cc1f9d092669af0fed465a9a77e0dc1a4f |
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix a possible dead-lock when clearing caches Bug: 7195815 Change-Id: I8e226b7ec445f9f4fe46ae216ef7cc41efc5a0fd
aches.cpp
|
54643d72f86d0ee0b23e3643ac9257d52ddfae6b |
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
make sure to destroy GL objects on the GL thread Bug: 7195815 Change-Id: I5bcac61cd0b903d1ccca0754fdb9cb1023efbe0f
aches.cpp
esourceCache.cpp
|
56257aff8a55c847be72be9924c392033fd8151d |
26-Sep-2012 |
Dave Burke <daveburke@google.com> |
Revert "Deleting objects on the wrong thread is a silly idea Bug #7195815" This reverts commit 8a1374946a928fcba7495c87ff6adda327fdfb9f Change-Id: I53564a6c531d334afcc1fce0bea1e57ae266aa78
ayer.cpp
ayer.h
ayerRenderer.cpp
ayerRenderer.h
esourceCache.cpp
|
8a1374946a928fcba7495c87ff6adda327fdfb9f |
26-Sep-2012 |
Romain Guy <romainguy@google.com> |
Deleting objects on the wrong thread is a silly idea Bug #7195815 Turns out that multi-threading is hard. Change-Id: Ib0b4bd6dc3caea27f7ced22cbb363bb955fe58ab
ayer.cpp
ayer.h
ayerRenderer.cpp
ayerRenderer.h
esourceCache.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
ayer.h
|
e83221c547cf2038752e5378e72e49a62cfd9954 |
25-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix alpha channel computation with ColorMatrixColorFilter Bug #7222476 There were two issues: - Blending was ignored with color filters - The addition vector of a color filter was treated as integer values instead of float values Change-Id: Id94065704a30ee8aaaa5724a9f3a3cff7c50ced7
penGLRenderer.cpp
rogramCache.cpp
kiaColorFilter.cpp
|
908a43234aca51af5021249c03030cec6b36417f |
25-Sep-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge into jb-mr1-dev Change-Id: I7b777c7a4818d699582419d2eb4fc1f5cc0f4f46
|
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
penGLRenderer.cpp
penGLRenderer.h
roperties.h
|
6b3292ce5b3908c7433503f64c852cf2b27718ed |
24-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Avoid deadlock when deleting layers Bug #7217459" into jb-mr1-dev
|
97dc9172b0e58979c63de0dedbab656399a62281 |
24-Sep-2012 |
Romain Guy <romainguy@google.com> |
Avoid deadlock when deleting layers Bug #7217459 Change-Id: I12bfa6c30c5030bd1b23ea6a3ce64240ab1dfba3
ayer.cpp
ayer.h
esourceCache.cpp
esourceCache.h
|
d392b87e3d30cd4f0836623d848019c5724efce8 |
24-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge changes Ib0a0b7d1,Ibec4b2aa into jb-mr1-dev * changes: Fix overdraw debug on QCOM Make sure we never bind to texture #0 Bug #7195815
|
4285de3c8bc77856a2df98894f74bb7333f1d348 |
23-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix overdraw debug on QCOM Disable the use of the tiling extension when overdraw debug is turned on. Change-Id: Ib0a0b7d1998146aa0c7efef2d3822f9997efb123
aches.cpp
|
574cf6070d34e66dfd6f2006937986eddd1f09e7 |
23-Sep-2012 |
Romain Guy <romainguy@google.com> |
Make sure we never bind to texture #0 Bug #7195815 Change-Id: Ibec4b2aa4c580419eb5eb61adae6c9c960694d0c
ont/CacheTexture.h
|
b92d8f7979c29c7c09932578a11b2f8d6eec1d90 |
21-Sep-2012 |
Chet Haase <chet@google.com> |
Optimize glyph cache texture uploads Only upload the changed area of the glyph cache, not the entire bitmap. Note that we can't do the full-on optimization here of copying a sub-rect of the bitmap because of GL ES 2 limitations, but we can at least copy the horizontal stripe containing the dirty rect, which can still be a big savings over uploading the entire bitmap. Issue #7158326 Bad framerates on MR1 (Mako, Manta, Prime) Change-Id: Iab38d53202650f757ead4658cf4287bdad2b3cb9
ontRenderer.cpp
ont/CacheTexture.cpp
ont/CacheTexture.h
|
8e586f61dd4f7fa53b01e63ac779ffc7cde05bdd |
22-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Add support for a new developer setting: overdraw debugging" into jb-mr1-dev
|
7c450aaa3caac2a05fcb20a177483d0e92378426 |
22-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add support for a new developer setting: overdraw debugging Change-Id: I350ba4486577c3289f82c20938f7a35138778727
aches.cpp
aches.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
tencil.cpp
tencil.h
|
dbb261455b1b8d2fdf4f0f8ad84ddb09dda1ed9b |
22-Sep-2012 |
Chet Haase <chet@google.com> |
Merge "Optimize shaders for dithered gradients" into jb-mr1-dev
|
a1d12dd619c86c9ac121a3095ff5e5633c11e876 |
21-Sep-2012 |
Chet Haase <chet@google.com> |
Optimize shaders for dithered gradients It's faster to compute a dither calculation in the vertex shader and use a varying (letting the GPU interpolate the fragment values) than to perform that calculation in the fragment shader as part of a texture lookup. Issue #7207600 Prime mr1 shader performance issues Issue #7158326 Bad framerates on MR1 (Mako, Manta, Prime) Change-Id: I15789582a6e9e2d8b9dd22aa5b0f72f0ba1cce7f
ither.cpp
rogramCache.cpp
|
059aedf808c8b9b3da1457eef52f3d477878d50b |
22-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Finish this bit before I forget." into jb-mr1-dev
|
f7e52d92b41adf460089625ea47bfea2ed7e6296 |
22-Sep-2012 |
Romain Guy <romainguy@google.com> |
Finish this bit before I forget. This code is not enabled in current builds. Change-Id: I488ec9e94889efbf2c8f3312abfed4298a76b7f1
tencil.cpp
|
61d37041ac76a95aedb98d3550bb5efa33d898a1 |
21-Sep-2012 |
Chris Craik <ccraik@google.com> |
Merge "Polygonal rendering of simple fill shapes" into jb-mr1-dev
|
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
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
57b5268708c3b974296c7d4e58a02a957979224a |
21-Sep-2012 |
Romain Guy <romainguy@google.com> |
Optimize tiling management Bug #7186819 Change-Id: Iebc42a6e9c96ad5605fbbe1539aa887695d2e829
aches.cpp
penGLRenderer.cpp
penGLRenderer.h
|
710f46d9d6a5bf9ea1c1833384caf61e1934124f |
18-Sep-2012 |
Chris Craik <ccraik@google.com> |
Polygonal rendering of simple fill shapes bug:4419017 Change-Id: If0428e1732139786cba15f54b285d880e4a56b89
ndroid.mk
ayerRenderer.cpp
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
athRenderer.cpp
athRenderer.h
rogram.h
rogramCache.cpp
|
2b7028eabac80cec170572bc0e945a1d4224e595 |
20-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add support for QCOM_tiled_rendering Bug #7186819 This optional OpenGL extension can be used by tiled renderers to optimize copies from main memory to tiles memory. Change-Id: Id4a5d64e61ad17f50e773e8104b9bf584bb65077
aches.cpp
penGLRenderer.cpp
penGLRenderer.h
|
35643ddc689913f5b5f80ceed864470d987bd6cd |
19-Sep-2012 |
Romain Guy <romainguy@google.com> |
Minimize state changes when updating layers Change-Id: I407fcc80bd3178f9f09a3b379ceb7f7ce0749e08
aches.cpp
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
0990ffbc4d407e174423a4a04b5902ed83f71db5 |
18-Sep-2012 |
Chet Haase <chet@google.com> |
Fix GL shader bugs Fixing errors in emitted shader code that caused GL errors at runtime Change-Id: I267a84398a81329a6688b292505f8779bd750ad1
rogram.cpp
rogramCache.cpp
|
a8a402f8ad1549e23f4238786269bd548b6b445d |
18-Sep-2012 |
Chet Haase <chet@google.com> |
Merge "Fix bad shader code" into jb-mr1-dev
|
1c5c206953d673f8424908c77c974c06d5b99a9c |
18-Sep-2012 |
Chet Haase <chet@google.com> |
Fix bad shader code Shader code missing "=" in a couple of cases. Change-Id: Iff8a99a0ccb2903c30e2bdb2f698ef9b2e03d5d1
rogramCache.cpp
|
f74d2f2fe8a157bee25516d2a6ae3e329507cb2c |
17-Sep-2012 |
Chet Haase <chet@google.com> |
Merge "Fix occasional crash bug with layers" into jb-mr1-dev
|
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
isplayListRenderer.cpp
isplayListRenderer.h
ayer.cpp
ayer.h
ayerCache.cpp
ayerRenderer.cpp
penGLRenderer.cpp
esourceCache.cpp
esourceCache.h
|
a938f569ce206c1ed68d736181016b5b708c0084 |
14-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix modulation and gamma correction issues Modulation is normally enabled in a shader when drawing with an alpha mask (A8 texture.) Modulation is used to do one of two things: - Colorize the primitive (to draw text in red for instance) - Apply extra translucency (50% translucent circle filled with a bitmap) The current implementation has four issues: 1. Unnecessary work is performed by assigning the modulation color to vec4 fragColor early in the shader 2. The modulation color's alpha is applied twice when the primitive is drawn with an SkShader 3. The decision to modulate is wrong and triggers when any of the RGB channels is < 1.0. Only the alpha channel needs to be taken into account to make the decision 4. Gamma correction is not applied properly This change addresses all four issues above. Change-Id: I73fcc74efc4b094bf2d1b835f10ffaa2ea4b9eb9
rogram.h
rogramCache.cpp
|
494ac35c27a0960f57b00bf8457f1956ecf149a2 |
14-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Multiply alpha for AA as late as possible" into jb-mr1-dev
|
85ef80d8902afe8d26cb75fa7837fd9e6d019620 |
14-Sep-2012 |
Romain Guy <romainguy@google.com> |
Foundation for tiling optimization Change-Id: I4db32a4749f196472ba0dde7e102439d2ba4a3a7
aches.cpp
aches.h
xtensions.h
|
9f44a13a125980fee92cdc76376063129f0eebc9 |
14-Sep-2012 |
Chris Craik <ccraik@google.com> |
Multiply alpha for AA as late as possible Should be done after all color computation Change-Id: Iaadd565f7d2263f111f6841a00e7c341025833d3
rogramCache.cpp
|
45e4c3df6c00ac98ff6144de9af574877d4fff19 |
12-Sep-2012 |
Romain Guy <romainguy@google.com> |
Discard framebuffer commands when we redraw the entire buffer Change-Id: I32e3014832cbd3bdbace8c3d2206eb20a2002d64
isplayListRenderer.cpp
ayerRenderer.cpp
penGLRenderer.cpp
|
df46c637550b4c6f0543574cfbd544329f48f5c7 |
11-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Prevent degenerate 9-patches from drawing out of bounds Bug #7137292" into jb-mr1-dev
|
70561df470c31513056df181571632851fd0d081 |
11-Sep-2012 |
Romain Guy <romainguy@google.com> |
Prevent degenerate 9-patches from drawing out of bounds Bug #7137292 Change-Id: I371e94899445d2f3c6794d5c0aee8faa514d3c2c
atch.cpp
|
beb8bd0db28d8c5cad2a258f2ba2f3b8b76cf037 |
10-Sep-2012 |
Chet Haase <chet@google.com> |
Reset GL buffer state after functor invocation Functors in WebView were binding to different buffers than we assumed in the toolkit, eventually causing a crash due to improper dereferencing in the currently bound buffer. Fix is to reset state after invoking functors. Issue #6666279 Native crash in Currents, mostly on Nakasi Change-Id: I3697812d83613fffc9193daa99beea4dbf26474a
penGLRenderer.cpp
|
4aacf93d40b4be82aa35bf164d6fd6536c8b2a50 |
08-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Fix memory corruption in LayerRenderer::copyLayer" into jb-mr1-dev
|
e49d7ec36132f33b7c9e2c044ab9dd3585aa3747 |
08-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix memory corruption in LayerRenderer::copyLayer The pixel store pack alignment was not set for the source texture, causing a write to occur outside of the destination bitmap's bounds. Change-Id: Iaa5767acf7b5943fbc2765c3810a142f06b1a796
ayerRenderer.cpp
|
dc531fa7d4ec545ace1b3daae0849d3101102e49 |
08-Sep-2012 |
Chris Craik <ccraik@google.com> |
Merge "Handle different x, y scales in drawLines AA path" into jb-mr1-dev
|
75040f8a7727f18bb33da23696a32a0760926ff2 |
07-Sep-2012 |
Chris Craik <ccraik@google.com> |
Handle different x, y scales in drawLines AA path bug:7114630 Fixes different x, y scales, and fixes boundaryWidthProportion to be from center, not edge. Also adds drawLine tests that previously drew blurry. Change-Id: I2b648a60361ad3931eac67647b9b27909525ee1e
penGLRenderer.cpp
|
89b3f48fa3ccaf9a05628f0e540c1f94716809f7 |
07-Sep-2012 |
Chet Haase <chet@google.com> |
Merge "Enable changing properties of layer paint" into jb-mr1-dev
|
55e6b77bda7da1684ca32493d9e03184bd441dab |
07-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Reduce the number of locks acquired by display lists" into jb-mr1-dev
|
58ecc204fbcacef34806290492384677a330d4d4 |
07-Sep-2012 |
Romain Guy <romainguy@google.com> |
Reduce the number of locks acquired by display lists Change-Id: I1123aae0355de84db705bb75042c7083fc69c9f2
isplayListRenderer.cpp
isplayListRenderer.h
esourceCache.cpp
esourceCache.h
|
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
ndroid.mk
isplayListRenderer.cpp
ayer.cpp
ayer.h
penGLRenderer.cpp
penGLRenderer.h
|
9147cd4ac56d53dec6da1ef13dd04ba1eec1a7df |
07-Sep-2012 |
Chris Craik <ccraik@google.com> |
Fix m11 to be Y scale instead of X bug:7114630 Fixes different X and Y values resulting in blurry lines/rects. Change-Id: I3eb244e0cf769efa6b38d08741cf37d0bf62b786
penGLRenderer.cpp
|
378d131e65348d199db36c21ba7156542bbf0045 |
06-Sep-2012 |
Chris Craik <ccraik@google.com> |
Merge "Varying-based AA rect drawing" into jb-mr1-dev
|
6ebdc114e0d72137394f02bc8ffe9d7a782a65c4 |
01-Sep-2012 |
Chris Craik <ccraik@google.com> |
Varying-based AA rect drawing Instead of calculating opacity from relative position in the shader, use a shader varying to do this computation for us. bug:5045101 Also adds a test to HwAccelerationTest to show incorrect antialiasing in scaled drawAARect / boundarySize calculation. Change-Id: Icdc41acb01dc10ce354834f8389a5aed2f439162
aches.h
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
|
521dc51fd411285f900c083a4fe560d2ed7c3f8a |
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Don't invalidate all the glyphs when flushing large textures FontRenderer::flushLargeCaches identifies the large textures used to cache glyphs and visits all the known fonts to mark their glyphs invalid if they belong to one of these large textures. Unfortunately, Font::invalidateTextureCache had a logic error which would make it mark *all glyphs* as invalid, not matter what texture they belong to. This means that any large cache flush would cause all glyphs to be invalidate, thus forcing the rendering system to recreate them on the next draw. Font::invalidateTextureCache is supposed to behave this way: - If the specified cacheTexture is NULL (default value), mark all glyphs as invalid (see FontRenderer::flushAllAndInvalidate()) - If cacheTexture is *not* NULL, invalidate only the glyphs for which glyph.cacheTexture == cacheTexture. The previous condition read: if (cacheTexture || glyph.cacheTexture == cacheTexture) This test *always* passes. Change-Id: I418886cb594c81c6178d0f9e9953d975e991cf22
ont/Font.cpp
|
6c8c6d9d44f97ebfba9c6d997665ad58ac39273a |
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Correctly check the height of a glyph prior to caching it" into jb-mr1-dev
|
e43f785b7ff3fdf75f6d1c92282ebca6db191f2f |
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Correctly check the height of a glyph prior to caching it Change-Id: Iaf3977afc20fcde65bfda7b9e092b3e723241684
ont/CacheTexture.cpp
ont/CacheTexture.h
|
d84aaa23a53b57834b0722ad36c460833dc4823c |
05-Sep-2012 |
Chris Craik <ccraik@google.com> |
Merge "Fix line drawing path to use proportional distance from center" into jb-mr1-dev
|
8087246d9964b11de8ce116bc63b156faa4197e0 |
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Code cleanup in FontRenderer Change-Id: Ic788721c224a77f0a76f4cd6d9817b62e390a5a7
ontRenderer.cpp
ontRenderer.h
ont/CacheTexture.h
ont/Font.cpp
ont/Font.h
|
9b1204baf4740b4d443e72157dea98571cf84e1f |
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Small code cleanup in FontRenderer Change-Id: I09c00debe9b0b4f45b232cae402ed19bdaeabfe4
ontRenderer.cpp
ontRenderer.h
ont/CacheTexture.cpp
ont/CacheTexture.h
ont/Font.cpp
|
8f5ad7657b6c7cdb8927d7da5140602b68b450ac |
04-Sep-2012 |
Chris Craik <ccraik@google.com> |
Fix line drawing path to use proportional distance from center boundaryWidth and boundaryLength are now distance from center, instead of distance from edge, in order to avoid unnecessary calculation in the shader. New calculation of these matches drawAARect. Change-Id: I1c7f576a97a6f0ce00d521661fd56fb62e05e6f2
penGLRenderer.cpp
|
9f5dab3fc228fa11c32b483e6101ec086895a32b |
04-Sep-2012 |
Romain Guy <romainguy@google.com> |
Refactor FontRenderer.cpp FontRenderer.h defined several classes and structures that now live in the font/ folder. This will make the code easier to read and maintain. Change-Id: I3dc044e9bde1d6515f8704f5c72462877d279fe2
ndroid.mk
ontRenderer.cpp
ontRenderer.h
ont/CacheTexture.cpp
ont/CacheTexture.h
ont/CachedGlyphInfo.h
ont/Font.cpp
ont/Font.h
ont/FontUtil.h
|
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
ndroid.mk
aches.h
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
tencil.cpp
tencil.h
|
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
ndroid.mk
aches.h
radientCache.cpp
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
tencil.cpp
tencil.h
|
703bd32647556524fa8cadbe869c8a8d734640ef |
01-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge "Add more support for transformed clip rects and paths" into jb-mr1-dev
|
dfe082f63e94cde9aee271c94d13de5e7217e036 |
01-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add more support for transformed clip rects and paths Change-Id: I41791b1e1bffef77d503dc9e52428395d2309688
ndroid.mk
aches.h
radientCache.cpp
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
tencil.cpp
tencil.h
|
eb32a499194119b3783b86c925172df02e5d2685 |
31-Aug-2012 |
Chet Haase <chet@google.com> |
Paramaterize and adjust the glyph cache sizes Add new parameters for the texture size used for the larger, fallback caches. Bump up the defaults in some situations. Issue #7045164 Adjust cache sizes for manta Change-Id: I562118ce785d7f8b6e445178878672e9709d25f2
ontRenderer.cpp
ontRenderer.h
roperties.h
|
c0c1c94e2df33ca8b85bb25fa89bf8379f9a6415 |
30-Aug-2012 |
Chet Haase <chet@google.com> |
Merge "Avoid thrashing the glyph cache during the precache phase" into jb-mr1-dev
|
f942cf10e04567f6b9456f6258e29c803b8bfb41 |
30-Aug-2012 |
Chet Haase <chet@google.com> |
Avoid thrashing the glyph cache during the precache phase It is unlikely, but possible, to draw so many glyphs in a frame (especially of the glyphs are quite large) that the cache starts flushing itself to fit the later glyphs in. This causes unnecessary thrashing, because when we actually draw the frame, we will again need to flush to fit the earlier glyphs in, and then flush again to fit the later ones in. It is better to avoid thrashing the cache at the precache phase, and wait until we actually draw the glyphs that do not fit to do any eviction of the earlier glyphs. This change simply notes when we are in the preaching phase, and avoids flushing the cache when a glyph does not fit. Issue #7081725 avoid thrashing cache during DisplayList recording Change-Id: I230410ab5b478091b1032fa99dc1752acf868bbe
ontRenderer.cpp
ontRenderer.h
|
63f2fcae3e7089ce0e27837a5152392d503f41eb |
30-Aug-2012 |
Chet Haase <chet@google.com> |
Merge "Fix bug with Fbo layer clipping" into jb-mr1-dev
|
7808581ca3b462fb187aed6b0d1b86fb83a8a215 |
30-Aug-2012 |
Romain Guy <romainguy@google.com> |
Merge "Pre-multiply color components for 2-stop gradients Bug #7033344" into jb-mr1-dev
|
d679b57ef279239cf11bb6c9bd14fb99b07971c9 |
30-Aug-2012 |
Romain Guy <romainguy@google.com> |
Pre-multiply color components for 2-stop gradients Bug #7033344 Change-Id: Ia168501f1dc56ba7a1bb0c55078320432309a66a
radientCache.cpp
kiaShader.cpp
kiaShader.h
|
d48885a6c8cd27a8a62552c33b5282e9882e19f6 |
29-Aug-2012 |
Chet Haase <chet@google.com> |
Fix bug with Fbo layer clipping Rendering views with alpha causes the creation of Fbo layers. These layers are created at the size of the view, clipped by the current clip rect. However, if the view lies completely outside the current clip rect, the Fbo layer is created at the full size of the view and copied into place outside of its container, causing artifacts like notification items showing up outside the notification panel. Fix is to note when the intersect() operation fails and to set an empty bounds on the layer. Issue #7069881 Bottom notification sometimes shows below bottom of notification panel shade Change-Id: Ib52f7c4e503bbe9204cb808755ab269195aa94c1
penGLRenderer.cpp
penGLRenderer.h
|
a798b95a9ef328720febec72d01462cd97e3d4c7 |
28-Aug-2012 |
Chris Craik <ccraik@google.com> |
Use smoothstep to eliminate branches in AA shader Change-Id: If4ecb1a9446f29b2f8444f5cee551f863c1993e8
penGLRenderer.cpp
rogramCache.cpp
|
5a3ec7113c99242fa0d0a328a0ec3892698203f1 |
18-Aug-2012 |
Chet Haase <chet@google.com> |
Fix glyph cropping bug Glyphs were being stored in the glyph cache incorrectly. The second row of glyphs in any column were being positioned exactly one pixel too high, causing the preceding glyph in that column to be cropped, resulting in the reported truncation in some glyphs. Issue #7003215 Minor UI truncation while reading the mails Change-Id: I47ce376f78a04d4e07e8b7ed1b3f0b58864c5498
ontRenderer.cpp
|
378e919ccb75efe24d5a5aa75ac2c6ef255dcb48 |
16-Aug-2012 |
Chet Haase <chet@google.com> |
Remove CacheTextureLine structure from FontRenderer CacheTextureLine was useful before we were packing the glyph textures; it allowed simple packing of any particular texture according to how many lines there were in a texture, and how tall those lines were. Now that we are packing more efficiently (both horizontally and vertically in any given texture line), it is more efficient to have open space in every texture, removing the need for CacheTextureLine (which now gets in the way since it limits how much can be stored in each line). This change removes CacheTextureLine and just uses CacheTexture directly, allowing caching of glyphs anywhere in the open space of each texture. As before, the packing of these glyphs is determined by the CacheBlock structure, which is a linked list of open spaces in each CacheTexture. Change-Id: Id6f628170df0f676f8743ac7de76f2377fc6a012
ontRenderer.cpp
ontRenderer.h
|
6b7d46b78c1c5c1ce3e077c0eed41c730f1686b4 |
15-Aug-2012 |
Chet Haase <chet@google.com> |
Merge "Restore scissor state correctly" into jb-mr1-dev
|
2efd5c5886d9acf747bc92f888d731ed558aabcc |
15-Aug-2012 |
Chet Haase <chet@google.com> |
Glyph cache optimization Precaching at startup was not working. One-liner fix to init the caches so that precaching would kick in earlier, saving time at startup by avoiding the multiple-upload issue of caching at render time. Issue #6893691 long app launch time on manta for some apps comparing to nakasi/stingray Change-Id: Ie5c7f0536ec8ea371c7892e5e09c1db14795531c
ontRenderer.cpp
|
8025061c594e5171e1bf370d8fdd77e0e9a02b47 |
15-Aug-2012 |
Chet Haase <chet@google.com> |
Restore scissor state correctly Chrome is disabling the scissor, which doesn't play well with our code that assumes that we know the state of the scissor. This fix sets up our internal state based on the actual state of the scissor in the resume() function (which is called after any calls out to the Chrome or Browser GL functor). This fixes intermittent rendering artifacts, including a gray address bar (where the gray background gets painted without the clip that is being applied to the text foreground). Issue #6886339 Address bar in Chrome turns gray after swiping the tabs / favicons drift outside of tab Change-Id: I3d8a23f4438b41a367336507845baaea90cccc7e
penGLRenderer.cpp
|
e816baea651476aca4407200d4a5e629b9ab8dfa |
09-Aug-2012 |
Chet Haase <chet@google.com> |
Optimize interactions with glyph cache There are two fixes here: - precaching: instead of caching-then-drawing whenever there is a new glyph, we cache at DisplayList record time. Then when we finally draw that DisplayList, we just upload the affected texture(s) once, instead of once per change. This is a huge savings in upload time, especially when there are larger glyphs being used by the app. - packing: Previously, glyphs would line up horizontally on each cache line, leaving potentially tons of space vertically, especially when smaller glyphs got put into cache lines intended for large glyphs (which can happen when an app uses lots of unique glyphs, a common case with, for example, chinese/japanese/korean languages). The new approach packs glyphs vertically as well as horizontally to use the space more efficiently and provide space for more glyphs in these situations. Change-Id: I84338aa25db208c7bf13f3f92b4d05ed40c33527
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
ontRenderer.h
|
320d46bf844b84351cb80c5d4a4768d86447ac81 |
09-Aug-2012 |
Romain Guy <romainguy@google.com> |
Reduce gradients textures size whenever possible Change-Id: Ifd58625ee62edac3b5d20b77553cb98b6fa2b46e
radientCache.cpp
rogramCache.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
penGLRenderer.h
|
b6039811fa0fbc23f25c47491810faeb04ce3125 |
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am 05e97e81: am 0be33f2d: Merge "Add shortcut to avoid potential divide by zero in some case" * commit '05e97e81a5fa2c9cab4cdda15aa2d036243a0c0e': Add shortcut to avoid potential divide by zero in some case
|
05e97e81a5fa2c9cab4cdda15aa2d036243a0c0e |
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am 0be33f2d: Merge "Add shortcut to avoid potential divide by zero in some case" * commit '0be33f2d522f76f48062a59ddb520815a0851875': Add shortcut to avoid potential divide by zero in some case
|
33fa1f774c8e7289fd7c39fbc2c65b9361f2c2c4 |
08-Aug-2012 |
Romain Guy <romainguy@google.com> |
Draw an empty border around glyphs to avoid sampling issues Bug #6942209 The font renderer was preserving a 1 px border around each glyph to ensure bilinear filtering would work nicely. Unfortunately, this border was not set to 0 when glyphs were added in the cache to replace old evicted glyphs. Change-Id: Ib85afca7ebad5cb63f960dc0e87ae162333dbfe8
ontRenderer.cpp
penGLRenderer.cpp
|
17112ad8a21a77620eb1ff14dcf8bdd6b7859712 |
07-Aug-2012 |
Romain Guy <romainguy@google.com> |
Cleanup of libhwui Change-Id: Ib7f5771548462c00027a8ad57badfb68c50644f9
penGLRenderer.h
|
4ff0cf4b83605bff630c4e6f1fabe4f72a3f93a1 |
06-Aug-2012 |
Romain Guy <romainguy@google.com> |
Add new debug tool to track hardware layers updates You can setprop debug.hwui.show_layers_updates true to flash hw layers in green when they update. This is also a setting in the Dev. section of the settings app. Change-Id: Ibe1d63a4f81567dc1d590c9b088d2e7505df8abf
aches.cpp
aches.h
ayerRenderer.cpp
penGLRenderer.cpp
atch.cpp
roperties.h
|
8801b2fef3bc54db1bbb24748d91c909b901116a |
04-Aug-2012 |
Romain Guy <romainguy@google.com> |
Bowing my head in shame Bug #6924514 Change-Id: Ifcc08fb5dbaf3f9c6ac3a3e618db2fd6349dc290
ammaFontRenderer.h
|
18edb81172daa9b98b53d226d94fc03249b1aded |
04-Aug-2012 |
Romain Guy <romainguy@google.com> |
Avoid crash when dumping display lists We recently changed the drawText implementation to accept more parameters which were not taken into account during a dump operation. Change-Id: Ia1dc682dc7bb2bb02a1f4a514ed5af5556f92a97
isplayListRenderer.cpp
|
a70cd04985eec51d95355cc7b822bc65f4ebce05 |
03-Aug-2012 |
Romain Guy <romainguy@google.com> |
Merge "Add dithering to gradients" into jb-mr1-dev
|
211efea7376371ee755edd2ad03e83ef6eea464e |
01-Aug-2012 |
Romain Guy <romainguy@google.com> |
Add dithering to gradients Change-Id: Ic1208855bde3a254eca2fd7cef43e0f1318ce419
ndroid.mk
aches.cpp
aches.h
ither.cpp
ither.h
rogramCache.cpp
kiaShader.cpp
|
1ae49ab8655baeb0ddf1944d0a66cd598122408a |
01-Aug-2012 |
Raph Levien <raph@google.com> |
Merge "Fix bug 6892600 Font (character pairs) rendering issue" into jb-mr1-dev
|
42e1e0d482d774cf18a55773e434f02edb9e4462 |
30-Jul-2012 |
Romain Guy <romainguy@google.com> |
Improve gradients Avoid using textures for common gradients (two stops from 0.0 to 1.0) Change-Id: Iff55d21b126c8cfc4cfb701669f2339c8f6b131a
radientCache.cpp
radientCache.h
rogram.h
rogramCache.cpp
kiaShader.cpp
kiaShader.h
|
8b4072d3fb9bb49d774d97689a065204beca1752 |
31-Jul-2012 |
Raph Levien <raph@google.com> |
Fix bug 6892600 Font (character pairs) rendering issue Alignment on paint for actual glyph drawing needs to always be left, even when drawing centered or right aligned text. The x offset for alignment is applied by OpenGLRenderer::drawText (and needs to be early in the pipeline for quickReject to work). Similar change needed for drawing drop shadow. Also fixes bug with mispositioned underline (offset for alignment has already been applied once, no need to do it again in drawTextDecorations). Change-Id: Id3dcd62de5536a26b158d768889273a1492b35d6
penGLRenderer.cpp
extDropShadowCache.cpp
|
c25259519f1b74bb62a2b051b74537f073436b5c |
28-Jul-2012 |
Romain Guy <romainguy@google.com> |
Rename drawGeneralText to drawText Change-Id: I5062ea5b0605fc7af27f410fafc930d10f38e926
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
0412cfcbcdd7224f80a80180a946f0fdd28c3afc |
25-Jul-2012 |
Chen YANG <chen.yang@intel.com> |
Add shortcut to avoid potential divide by zero in some case Change-Id: If4b34c95402daf8ebcc28736edfb2012553aa57c
ontRenderer.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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
98ba89492a477114148fcb1f89675e41679ca7cc |
21-Jul-2012 |
Romain Guy <romainguy@google.com> |
Make gradients look slightly better Change-Id: Ib12c628a88b9ec6af1214ce6e5cb14cfde40485e
radientCache.cpp
|
00755fed35e4a91291c42a8a47bed8b957e9f8e1 |
20-Jul-2012 |
Raph Levien <raph@google.com> |
Merge "Add drop shadow for drawPosText in hwui renderer."
|
416a847633680d94efb926837efdc18726d54918 |
20-Jul-2012 |
Raph Levien <raph@google.com> |
Add drop shadow for drawPosText in hwui renderer. This patch adds support for drop shadows (setShadowLayer) for drawPosText in the hwui renderer. In and of itself, it's not very important, but it's on the critical path for correct mark positioning, tracked as bug 5443796. The change itself is fairly straightforward - it basically just adds an extra "positions" argument to all draw and measure methods on the code path for drawing drop shadowed text, as well as to the cache key for cached shadow textures. Change-Id: Ic1cb63299ba61ccbef31779459ecb82aa4a5e672
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
extDropShadowCache.cpp
extDropShadowCache.h
|
8dcfd5e836341b4a803b04d104a930bb312182d3 |
20-Jul-2012 |
Romain Guy <romainguy@google.com> |
Clamp gradient textures to max GL texture size Change-Id: I8ce4e50988f5194fe5ce4bde7945ec01673af3cd
radientCache.cpp
radientCache.h
esourceCache.cpp
|
0aa87bbfc41e8b5f52de701ac17b4e66a7a7b609 |
20-Jul-2012 |
Romain Guy <romainguy@google.com> |
Fix crash with new LookupGammaFontRenderer Bug #6853934 Change-Id: I15e6ca73bfe00eff1a37c4b9d2f7f709ee018eb6
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.h
|
eb61cd8296ed7e3f3aef5bd430d846aa54d5d7e2 |
19-Jul-2012 |
Romain Guy <romainguy@google.com> |
Optimize gradient textures Compute the size of the backing textures based on the maximum possible number of shades in the gradient. Change-Id: I2d7f20477d31b81e9735f2c1d83ebdd0dbcbe340
radientCache.cpp
|
63553478130f78d44c8fbeaebc610e19925544a5 |
19-Jul-2012 |
Romain Guy <romainguy@google.com> |
Remove vendor specific precision qualifier Change-Id: I0a56ca7a5a399ec94993d3cea0c4aff6c0f86e39
xtensions.h
rogramCache.cpp
|
8e025de5fb3ab1c099541e3a387123170bf9d1a9 |
19-Jul-2012 |
Romain Guy <romainguy@google.com> |
Note to self Change-Id: Ic5699bdbf880ad68748c827bb5b4976b12d4d413
rogramCache.cpp
|
04299385c681140239b0dc31d9780d087d2b4d7c |
19-Jul-2012 |
Romain Guy <romainguy@google.com> |
Clip lines, AA rects and points correctly Change-Id: I900dd986f397b66f133e6021aa4c2539e7abc2b9
penGLRenderer.cpp
|
dfab50d8b97a90dca279b119ebe439f595616ffa |
19-Jul-2012 |
Romain Guy <romainguy@google.com> |
Tweak text gamma correction Change-Id: Icd3326e6a054d6020c3ed61c8459394bc87401dd
ammaFontRenderer.cpp
roperties.h
|
6e25e38e43f9e7f71397dfab7ed32c81c7bf7d46 |
19-Jul-2012 |
Romain Guy <romainguy@google.com> |
Add a new method for text gamma correction To select the gamma correction method, adb shell setprop hwui.text_gamma_correction with one of the following values: lookup3 lookup shader3 shader See Properties.h for more information about these different methods. You can also control gamma correction using the following properties: hwui.text_gamma hwui.text_gamma.black_threshold hwui.text_gamma.white_threshold Change-Id: I47970b804d2c590c37d3da5008db094241579e25
ebug.h
ammaFontRenderer.cpp
ammaFontRenderer.h
roperties.h
|
3409e728e22609b54de8b33d1e614ca51f6d6a77 |
18-Jul-2012 |
Romain Guy <romainguy@google.com> |
Correctly pre-clip paths when recording display lists Bug #6836448 External bug: http://code.google.com/p/android/issues/detail?id=34946 DO NOT MERGE DisplayListRenderer::drawPath was not invoking quickReject() properly, passing x,y,width,height instead of left,top,right,bottom. A path could thus get rejected when it should be drawn instead. While working on this change I found a similar issue with another drawing command, drawBitmapData(). Change-Id: I8306faf72db14d71b54ecb7de295c9a6957d9494
isplayListRenderer.cpp
|
95c21d0546e36ade3e0601394f5b625541836545 |
18-Jul-2012 |
Romain Guy <romainguy@google.com> |
Correctly pre-clip paths when recording display lists External bug: http://code.google.com/p/android/issues/detail?id=34946 DisplayListRenderer::drawPath was not invoking quickReject() properly, passing x,y,width,height instead of left,top,right,bottom. A path could thus get rejected when it should be drawn instead. While working on this change I found a similar issue with another drawing command, drawBitmapData(). Change-Id: I56484e8c101768cde6a78625290872f7849dd5ee
isplayListRenderer.cpp
|
8a4ac610e1aaf04931ac1af54b146a7fc8e66114 |
18-Jul-2012 |
Romain Guy <romainguy@google.com> |
Don't clear the dirty clip flag if it's not applied Bug #6833979 Change-Id: I0ea78b7f31a557a335de10d910d03b0520029080
ndroid.mk
aches.cpp
aches.h
ebug.h
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
4121063313ac0d6f69f6253cac821d0c1c122086 |
17-Jul-2012 |
Romain Guy <romainguy@google.com> |
Add shader-based text gamma correction 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
ebug.h
ammaFontRenderer.cpp
ammaFontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
rogram.h
rogramCache.cpp
|
157bd5749f40b0330fccf3ef159d922742103ef2 |
17-Jul-2012 |
Romain Guy <romainguy@google.com> |
Add makefile flags for perf Change-Id: Ibcb6e1c883551273c3392cdaa40cd0b71a3bfa70
ndroid.mk
|
be6f9dc1e71b425b7ac1c40c0a2c72d03eb9fbee |
16-Jul-2012 |
Romain Guy <romainguy@google.com> |
Don't copy paints for 9patches Change-Id: I863100a0dc53fec1a3a1b2acbdeb76e6049ffe58
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
b1d0a4ed21168fefcb82232c8f22cb95d60acb85 |
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Refactor GammaFontRenderer This change is the first step to a shader-based text antialias gamma correction. Change-Id: I9eb02d4c56cb95d05219f712290c865b46141954
aches.cpp
aches.h
ontRenderer.cpp
ammaFontRenderer.cpp
ammaFontRenderer.h
penGLRenderer.cpp
roperties.h
|
c9cf9e5459c05f05b29ec81b0e83e154816f7595 |
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Merge "Improve rendering speed by disabling scissor tests"
|
586cae3ac69c0c667fbf8a954edbd399f620a717 |
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Improve rendering speed by disabling scissor tests 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
aches.cpp
aches.h
ayerRenderer.cpp
penGLRenderer.cpp
ect.h
|
0a386ffac026e259c408b77c2dd2cc5d2e22b5f8 |
13-Jul-2012 |
Romain Guy <romainguy@google.com> |
Text shadow alpha handling incorrect DO NOT MERGE External bug: http://code.google.com/p/android/issues/detail?id=34879 This is a regression from ICS. This CL also fixes a bug where a View's alpha would be applied twice. Change-Id: I13a1546228f44d4c169259414b6fa103a6e4a0fa
penGLRenderer.cpp
penGLRenderer.h
|
489041dd4192e594f2180ea7bff705894ab4031d |
13-Jul-2012 |
Romain Guy <romainguy@google.com> |
Merge "Text shadow alpha handling incorrect"
|
9c0b188e4231bcb967234f3646c178d22d8a9f50 |
13-Jul-2012 |
Romain Guy <romainguy@google.com> |
Text shadow alpha handling incorrect 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
penGLRenderer.cpp
penGLRenderer.h
|
401b1f85746ab7005907747a59534def967d825b |
13-Jul-2012 |
Romain Guy <romainguy@google.com> |
Merge "Remove obsolete optimization"
|
f877308f77f7c6f3edd91618a092207dd3be9077 |
13-Jul-2012 |
Romain Guy <romainguy@google.com> |
Remove obsolete optimization Change-Id: I2d43c009c62a7f4a4a2e0a6303bdfa692c4b8c8c
penGLRenderer.cpp
rogram.h
roperties.h
|
f0af1d5cb255f136d2fff773be7518ffd7ae3b93 |
12-Jul-2012 |
Romain Guy <romainguy@google.com> |
Remove unused View.flushLayer() API Change-Id: I5d4c7388afb5265964ab6b769cc0abfee9745c84
ayerRenderer.h
|
16c88085255c71a1a8fc034129aa2dcc61e1ddd0 |
12-Jun-2012 |
Romain Guy <romainguy@google.com> |
Textured text calls could be invisible 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
ontRenderer.cpp
penGLRenderer.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
isplayListRenderer.cpp
isplayListRenderer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
932b7f6765968bd526c03512f3805fbc3924dc29 |
06-Jun-2012 |
Chris Craik <ccraik@google.com> |
Revert "Add more temporary logging for investigating detachFunctor" bug:6608646 This reverts commit 8857b2f76abad1e4ec742dfd85d0c997880be376 Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
penGLRenderer.cpp
|
8857b2f76abad1e4ec742dfd85d0c997880be376 |
05-Jun-2012 |
Chris Craik <ccraik@google.com> |
Add more temporary logging for investigating detachFunctor bug:6596807 Change-Id: Ic9e34e323b12a887f2e8df0773a6155627b6a64f
penGLRenderer.cpp
|
486590963e2207d68eebd6944fec70d50d41116a |
01-Jun-2012 |
Chet Haase <chet@google.com> |
Skip eglSwapBuffers() call when we do not draw to GL 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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
3534e13486a0081b1229e698f13bd3a37efa3fb0 |
23-May-2012 |
Chris Craik <ccraik@google.com> |
Merge "Avoid crash if onDetachedFromWindow called after destroy" into jb-dev
|
9e08012869f77f212186a5d5856831a85fb73d40 |
23-May-2012 |
Chris Craik <ccraik@google.com> |
Avoid crash if onDetachedFromWindow called after destroy This also removes the temporary logging from commit f8dafa14e058cdc2f408b59be7911abaceb73c47. bug:6535911 Change-Id: Icf1d0438b349a0e92e7d9cefed57a252eed2b9b0
penGLRenderer.cpp
|
7a9328a3118725389564fe2a9b926837fa3d58a9 |
22-May-2012 |
Chris Craik <ccraik@google.com> |
Merge "Add temporary functor lifetime logging" into jb-dev
|
e5a4a3dc1648844f06d29efd42c9306c3cdf177e |
22-May-2012 |
Romain Guy <romainguy@google.com> |
Merge "Ensure we always set the proper blending mode Bug #6527305" into jb-dev
|
f8dafa14e058cdc2f408b59be7911abaceb73c47 |
22-May-2012 |
Chris Craik <ccraik@google.com> |
Add temporary functor lifetime logging bug:6535911 Change-Id: Ida5cc1def7fe1fc314317bbc5df50e1465753deb
penGLRenderer.cpp
|
ddf74373616c89e0880a28a2185fd7ce3db91de6 |
22-May-2012 |
Romain Guy <romainguy@google.com> |
Ensure we always set the proper blending mode 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
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
c8538ade8df2c2f013f8b93094912057ee1cc417 |
22-May-2012 |
Chris Craik <ccraik@google.com> |
Don't clear the functor at every draw instead clear functors at invoke time, and let them detach themselves as needed. bug:6511995 Change-Id: I9115fcadffb27eb850c1d1773c098d3d2e22788b
penGLRenderer.cpp
|
f26c8be01bb218619e073a209c9d57fe9d26c517 |
18-May-2012 |
Romain Guy <romainguy@google.com> |
Sanitize display list properties The comparisons used in the various properties setters could fail badly in some specific conditions. The scale properties in particular did not use the same comparisons. This change also clamps alpha to the 0..1 range which avoids overflow issues with lowp registers in GLSL computations. Change-Id: I3e73b584e907a14e2c33d0865ca0d2d4d5bff31d
isplayListRenderer.h
penGLRenderer.h
tils/Compare.h
|
49c5fc0b9e850497233e189ff9dcc71a78ebe6e7 |
15-May-2012 |
Romain Guy <romainguy@google.com> |
Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390 Change-Id: I4d2d725ef50c9401b4bd998b6160128102b40745
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
esourceCache.cpp
|
e651cc6239616a202f6e96ebc2ed93b4b8b3627c |
15-May-2012 |
Romain Guy <romainguy@google.com> |
Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...) Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
extureCache.cpp
extureCache.h
|
99a6ddd4cd8762654a575eb4ac3d0e5431d919b8 |
15-May-2012 |
Romain Guy <romainguy@google.com> |
Forget the name of a texture after freeing Bug #6408362 FontRenderer allocates large font textures when more room is needed to store all the glyphs used by an application. Thse large textures are the first to be freed when memory needs to be reclaimed by the system. When freeing a texture, the renderer would however not set the texture name to an invalid name, leading future allocations to be performed on the same texture name. That name could have by then be recycled by the driver and returned by a call to glGenTexture and used to create an entirely different texture. This would cause the font renderer to point to the wrong texture, thus leading to the "corruptions." Change-Id: I8a1e80e5b79e8f21d1baf5320c090df4f2066cd4
ontRenderer.cpp
ontRenderer.h
|
9d9758ae30a59dcf594e0d26ba5d4ee153a3e44a |
15-May-2012 |
Romain Guy <romainguy@google.com> |
Fix two memory leaks Bug #6408362 Change-Id: I58543938e7b64d83504e11e97b0dd21ef8ebf3b6
ontRenderer.cpp
ontRenderer.h
|
ae91c4cbc79ea910753be65e2f1d7899abcb4da2 |
14-May-2012 |
Romain Guy <romainguy@google.com> |
Properly pre-cache latin glyphs Bug #6408362 Change-Id: Ie11644c5a9e2d87d3b851b7e619e5f04b60a7e02
ontRenderer.cpp
ontRenderer.h
|
dfa1046ecab165eb0daf5caa8475e993350f4a2b |
13-May-2012 |
Romain Guy <romainguy@google.com> |
Add call sites for OpenGL's debug label extension Change-Id: I9c689127e8166cbef92c935f8aa07217ab806dda
aches.cpp
aches.h
xtensions.h
|
aa9972943cab627db9b10e5c9c4bb80f99f8a4bd |
08-May-2012 |
Chris Craik <ccraik@google.com> |
Merge "Revert "Add temporary functor lifetime logging"" into jb-dev
|
12d434a9be03214e9c673580a6f55128eec9b3f9 |
08-May-2012 |
Chris Craik <ccraik@google.com> |
Revert "Add temporary functor lifetime logging" bug:6445573 This reverts commit 2fe99801e81bb7c0ff846b536cbb7a12707410ed
penGLRenderer.cpp
|
4bbcae7eb80704d919d8115d523196798e208439 |
07-May-2012 |
Chet Haase <chet@google.com> |
Merge "Fix issue where scale-animating text would jump temporarily a few pixels" into jb-dev
|
d3efd6920e64d0207a0655640297d87d4937ee27 |
07-May-2012 |
Chet Haase <chet@google.com> |
Fix issue where scale-animating text would jump temporarily a few pixels Some logic in the native matrix code would determine that a matrix was 'pureTranslate' based on the scale values of a matrix being close-enough to 1, which was within a very small epsilon. This works in general, because screen space coordinates make that epsilon value irrelevant, so close-enough really is close-enough. However, TextView, when centering text, works in a coordinate system that is quite huge, with left/right values about 500,000. These numbers multiplied times that small epsilon value would give a result that was significant, and would cause a miscalculation of up to 4-5 pixels, causing the snap that we'd see for a couple of frames as the scale got "close enough" to 1. The fix is to remove the optimization of "close enough". What we really need the matrix to do is to identify itself as being translate-only when no scale as been set (which is the default). For the purposes of that check, it is good enough to simply check the values against 1 directly. Similarly, the bounds-check logic needs to check against 0 and 1 directly. Issue #6452687: Glitch when changing scale of a view containing text Change-Id: I167fb45d02201fb879deea0e5a7ca95e38128e17
isplayListRenderer.h
atrix.cpp
|
d34dd71800d9a1077e58c3b7f2511c46848da417 |
03-May-2012 |
Chet Haase <chet@google.com> |
Fix hang/crash in native path code An optimization for paths is to only create a texture for the original native Path object, and have all copies of that object use that texture. This works in most cases, but sometimes that original path object may get destroyed (when the SDK path object is finalized) while we are still referencing and using that object in the DisplayList code. This causes undefined errors such as crashes and hanging as we iterate through the operations of a destroyed (and garbage-filled) path object. The fix is to use the existing ResourceCache to refcount the original path until we are done with it. Issue #6414050 Analytics Dogfood App crashes reliably on Jellybean Change-Id: I5dbec5c069f7d6a1e68c13424f454976a7d188e9
isplayListRenderer.cpp
isplayListRenderer.h
|
2fe99801e81bb7c0ff846b536cbb7a12707410ed |
02-May-2012 |
Chris Craik <ccraik@google.com> |
Add temporary functor lifetime logging bug:6405861 Note: revert once the above bug is verified fixed Change-Id: Iae04ec6ffa73a2711f96e128d60011bcb5864b5c
penGLRenderer.cpp
|
6f9ad204cc529babeb3aa7c9a57cf00ed7188471 |
01-May-2012 |
Chet Haase <chet@google.com> |
Fix launcher invisibility bug There was a bug in the DisplayList code for layers where we would set the alpha value for a layer only if the alpha were non-1. This works most of the time (since the value is usually 1 and doesn't need to be set at all, and if the value is non-1, it is set correctly). But when the value has been set to a non-1 value, setting alpha back to 1 cannot happen due to this logic. This caused launcher to have some invisible pages when returning to Home because those pages previously had an alpha value of 0, and setting the alpha to 1 had no effect due to this DisplayList code. The fix is to simply remove the check for non-1 values; we should always set the alpha value of layers to handle all cases. Issue #6413892 alpha value is messed up after AlphaAnimation Change-Id: Ia51acb2eaaf0609ea7189998ed449bdd9ea7e05f
isplayListRenderer.cpp
|
665a376d245d7bbfc43e3cfa651afc7448604afa |
28-Apr-2012 |
Romain Guy <romainguy@google.com> |
Merge "Work-around for a Skia rasterization bug Bug #6411457" into jb-dev
|
fdd6fc1beb5076a630c7066b8b1731995636c09f |
27-Apr-2012 |
Romain Guy <romainguy@google.com> |
Work-around for a Skia rasterization bug Bug #6411457 Skia does not generates the bottom right pixel of a rect when drawing a rect as an SkPath into an alpha8 bitmap. Change-Id: Ifb5286ae67745c9e44ee387b6d6ad607a9a2e6ce
athCache.cpp
hapeCache.cpp
hapeCache.h
|
8bd12ea8001f72f4450e318e43c50dbc46b4869c |
26-Apr-2012 |
Romain Guy <romainguy@google.com> |
Merge "Decode common GL error codes when logging frame error status" into jb-dev
|
a44a63ac5c29b2cc57df95ec495def8cdddd9c6f |
26-Apr-2012 |
Romain Guy <romainguy@google.com> |
Decode common GL error codes when logging frame error status Change-Id: I38b333eea53aef20340ce48dfcb0dd30a223f7a8
penGLRenderer.cpp
|
a75fbc3c76dfe6a1c678b66f83cef878e3f3cdf4 |
26-Apr-2012 |
John Reck <jreck@google.com> |
Merge "On new content, attach functor directly" into jb-dev
|
c189ef53220059acf2adedc92ac4ac7e6a993e6b |
26-Apr-2012 |
Romain Guy <romainguy@google.com> |
Ensure we start every frame in the proper GL state Bug #6345013, #6314960 Change-Id: I6985f7f233eb6a5f9223e9f4be3f323154b5dbf0
penGLRenderer.cpp
|
c2c9543c135ffc4e18c7db0e817112ac03e3e97a |
26-Apr-2012 |
Chris Craik <ccraik@google.com> |
On new content, attach functor directly bug:6323847 depends on external/webkit change: https://android-git.corp.google.com/g/#/c/184314/ Change-Id: Ibdf997f3ee4f5c5c1ea5a320556813f175fea93f
penGLRenderer.cpp
|
3d745c03ace18ee59c539e1b7f1df13f22beb57d |
24-Apr-2012 |
Romain Guy <romainguy@google.com> |
Fix the build before the bot yells at me. Change-Id: Ice7fe02b684ad662262aae3cac7a48a835ebcad5
penGLRenderer.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
penGLRenderer.cpp
penGLRenderer.h
|
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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
a23eed808a1ae4ec0d818c0a9238385e797fd056 |
13-Apr-2012 |
Chet Haase <chet@google.com> |
Fix layer blending bug 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
isplayListRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
7b6a75872bd2df96a23453d31c2e2e7fcc373554 |
11-Apr-2012 |
Chet Haase <chet@google.com> |
Pass width/height parameters to webview 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
penGLRenderer.cpp
|
65924a3e56c2e7ac863f8e25e9f9a58b9db7d513 |
06-Apr-2012 |
Chris Craik <ccraik@google.com> |
fix functor flag parsing, tweak process delay Change-Id: I0a679cc33f92ff6fd2e33db9ad58b52622def012
penGLRenderer.cpp
|
fda531c9e4e49cfd962d3784b3501f6a1e64dc22 |
04-Apr-2012 |
Romain Guy <romainguy@google.com> |
Merge "Disable AA lines vertex attrib arrays after rendering"
|
7b63142d2f4bc32beacedcc761453b8aea1f3a86 |
04-Apr-2012 |
Romain Guy <romainguy@google.com> |
Disable AA lines vertex attrib arrays after rendering Change-Id: I2f035e9d87f4f97bc1e37355c84570fd58df0374
penGLRenderer.cpp
penGLRenderer.h
|
8c8c2400923bd5b0ab1f52adc4f2232dbf690d91 |
04-Apr-2012 |
Romain Guy <romainguy@google.com> |
Merge "Optimize FBOs composition"
|
e0aa84b7dc087e999e20055dcc04cb6a48d5bd62 |
04-Apr-2012 |
Romain Guy <romainguy@google.com> |
Optimize FBOs composition Change-Id: Ifc8eada8922509373c0e4c3b2ed75b6f08d098de
penGLRenderer.cpp
|
db8c9a6a4d9bf8c39f834b25611926caf21380f6 |
22-Mar-2012 |
Chet Haase <chet@google.com> |
Optimization of alpha with DisplayList properties 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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
napshot.cpp
napshot.h
|
e2eaf6997d429249904f842092b075f3da92c5be |
03-Apr-2012 |
Romain Guy <romainguy@google.com> |
Merge "Prevent crash when flushing the layers cache Bug #6258973"
|
5c88fc744db977ef26887df9605beaa409394806 |
03-Apr-2012 |
Romain Guy <romainguy@google.com> |
Prevent crash when flushing the layers cache 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
ayerCache.cpp
ayerRenderer.cpp
penGLRenderer.cpp
|
b6a80077dca5a17f33350075485a534d7ed8fa2b |
03-Apr-2012 |
Chris Craik <ccraik@google.com> |
Merge "Allow fine-grained control over functors execution"
|
8d56b0e1d24f7392314df4be6503af395a843696 |
03-Apr-2012 |
Chet Haase <chet@google.com> |
Enabling DisplayList properties An earlier commit fixed problems with enabling DisplayList properties. This CL actually enables the properties. Change-Id: I5c41d0c64e9241822af53eb367de0fed7d9608e0
isplayListRenderer.h
|
9420abd56a2af7ddbeb70562b79d61b2dca8c5a1 |
30-Mar-2012 |
Chet Haase <chet@google.com> |
Re-enable DisplayList properties. Re-enabling DisplayList properties last week caused some app errors due to the way that some transforms were being handled (specifically, those coming from the old Animations and ViewGroup's childStaticTransformation field). This change pushes *all* transform/alpha data from View.draw() into the view's DisplayList, making DisplayLists more encapsulated (and correct). Change-Id: Ia702c6aae050784bb3ed505aa87553113f8a1938
isplayListRenderer.cpp
isplayListRenderer.h
|
8f3b8e32993d190a26c70c839a63d8ce4c3b16d9 |
28-Mar-2012 |
Romain Guy <romainguy@google.com> |
Allow fine-grained control over functors execution Adds non-drawing execution mode Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
penGLRenderer.cpp
penGLRenderer.h
|
76240dafe8654cc3b858241e76618e5b2db5451c |
29-Mar-2012 |
Chet Haase <chet@google.com> |
Disable DisplayList properties pending fixes for AlphaAnimation The new DisplayList properties design has ordering conflicts with the way that alpha works with old animations (AlphaAnimation). This CL disables DiksplayList properties while I'm working on a fix and some more thorough tests for old animations-vs-DL properties in general. Change-Id: I8f6893138f939171491c2ec3c889214ee55d17b7
isplayListRenderer.h
|
b85967b9af76e1e60f7a96603e2567a6449d2e04 |
26-Mar-2012 |
Chet Haase <chet@google.com> |
Re-enabling DisplayList properties 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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.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
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
a9dd820184ee4d083bd9b2af735dcf50b78fc6cd |
26-Mar-2012 |
Romain Guy <romainguy@google.com> |
Prevent random crashes on SGX architecture Bug #6219894 Change-Id: If77f29da03e557a50e53bae505e1c638a1dbe2cc
ontRenderer.cpp
|
ad13c81371cb0b7e49b4c33159a346ce08ac5d69 |
22-Mar-2012 |
Chet Haase <chet@google.com> |
Disable DisplayList properties DisplayList properties are (again) disabled by default, via flags in View.java and DisplayListRenderer.h. There are various artifacts to chase down before enabling by default. 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. Change-Id: I045dc82ce1d85fedbae3bb88eb2a2dfb6891d41f
isplayListRenderer.h
|
b0317984d34da99b614597ad0a8b39268eacb783 |
21-Mar-2012 |
Romain Guy <romainguy@google.com> |
Plug memory leak. Bug #6196903 Whenever a memory flush happens, the GL renderer discards some or all of its font caches. Each font cache holds an array of vertex indices that was initially designed to have the same life cycle as the process. This changed when memory flushes were introduced but this array was never taken care of in the destructor. Change-Id: Ief124f609ea55b671c0a9b43637d9e013629ebaa
ontRenderer.cpp
|
bdd896c26453ffc56831b0cd167e8780068cee53 |
19-Mar-2012 |
Chet Haase <chet@google.com> |
Enable DisplayList properties This CL simply enables DisplayList property functionality. The code for this feature is already there, but it's been disabled by default pending further testing and analysis. This change sets these build-type flags to true so that all hw-accelerated apps will now use DisplayList properties by default. In particular, this feature enables a fast-path for changes that affect the handful of View properties involved in animations (alpha, translationX, etc.). Setting these properties now gets propagated to the native DisplayList associated with the View, avoiding costly recreation of the SDK-level DisplayList and also enabling faster invalidation of the view hierarchy. Change-Id: Ic99c8f28fa9183f2e54e9e4860b333eb9c540f7c
isplayListRenderer.h
|
4bf8b209955e8a35ec2e4101ed3612e03ecc5dbb |
16-Mar-2012 |
Chet Haase <chet@google.com> |
Merge "Optimizing DisplayList properties"
|
9d1992deaeb3d60d5928f05b649a2cc654ba98a3 |
13-Mar-2012 |
Chet Haase <chet@google.com> |
Optimizing DisplayList properties DisplayList properties are still disabled default (flags in View.java and DisplayListRenderer.h). When they are enabled, and when a View has a DisplayList, invalidations due to property changes are now optimized to avoid causing DisplayList recreation. This eliminates the drawing step of invalidation (due to changes in these properties), only requiring issuing the previously-created DisplayList to the GL renderer. Invalidation is slightly faster (less overhead as we walk up the hierarchy), getDisplayList() is potentially much faster (going down to ~0ms), depending on the complexity of the View being redrawn and the size of the invalidated hierarchy. Change-Id: I57587d5b810c3595bdd72a6c52349c2a3d1bdf25
isplayListRenderer.cpp
|
acdd4b9c4b03bc6660274ab878731383adb5bca5 |
15-Mar-2012 |
Romain Guy <romainguy@google.com> |
Set the default text length to -1, not 1 Change-Id: Iccf6f8366c0b659ba7c90df99ae05ebc5d81fcbb
isplayListRenderer.h
|
390f882f8905e8d1ac0d4b7f2e01aa04dccc3c16 |
14-Mar-2012 |
Romain Guy <romainguy@google.com> |
Correctly compute the number of bytes written by each op. Bug #6157792 Previously, DisplayListRenderer would compute the number of bytes written after a drawing op by looking at the difference between the start pointer of the command stream and the end pointer of the command stream. The SkWriter class used to record the commands stream allocates blocks of storage which would cause a crash when a command spanned two blocks. Change-Id: I4d79d3feeb6d72d9d4e6ab05ecebd72d004be56c
isplayListRenderer.cpp
isplayListRenderer.h
|
491189f6bb81827a0c8e343f89420a9bcd2e62ae |
13-Mar-2012 |
Chet Haase <chet@google.com> |
Fix garbage deref with DisplayList property structures This is the real fix to issue 6158892. We currently delete transform/camera structures at DisplayList destructor time, if these structures are not NULL. We set the fields to NULL in an init() method called (eventually) by the constructor. But it is possible for the object to be destroyed before that init code is called, resulting in the deref bug reported. The fi is to set these structures to NULL directly in the constructor. Issue 6158892i: Device runtime restarts frequently Change-Id: Ibfa0f9314767eed6fd51f4ec7edc0d0edd5fdd0f
isplayListRenderer.cpp
|
3c9d9c18b41d052c76bad10a448d3acce024649b |
13-Mar-2012 |
Romain Guy <romainguy@google.com> |
Merge "Follow the include style used elsewhere in the library"
|
d5a85fb63d91a9297e8d9a11016f3b3ed60dfbab |
13-Mar-2012 |
Romain Guy <romainguy@google.com> |
Follow the include style used elsewhere in the library Change-Id: I14aebdaeb04b6f4c611153ece4ac1f6ad9bfc15f
isplayListRenderer.cpp
|
866ed817d0adf5b874eff277b4a4d2bcc6f61830 |
13-Mar-2012 |
Chet Haase <chet@google.com> |
Fix garbage deref in DisplayList structures Issue #6158892: Device runtime restarts frequently Change-Id: I4e6afaaf9ac66d6846caf0ed82ea67163d8b15c2
isplayListRenderer.cpp
|
a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3 |
21-Feb-2012 |
Chet Haase <chet@google.com> |
Handle view properties at the native level 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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
|
3fe4eb9c60d39acaadd9f807b1a21c239d1270ef |
12-Mar-2012 |
Romain Guy <romainguy@google.com> |
Turn down the number of glGetError() calls. glGetError() was invoked every time a display list was updated. This was unnecessary since display list updates do not execute OpenGL code. Change-Id: Ia0a75a65ccf2a4701fb3a828848cd0c42f256c6c
isplayListRenderer.cpp
|
55fd2c9b2e87986b03cb58676bdf46bc6d5f1c36 |
10-Mar-2012 |
Romain Guy <romainguy@google.com> |
Don't bind data to missing uniforms Change-Id: Ib9d1f14eb0bef04e0910baa4eaf3e49cce81c0ce
penGLRenderer.cpp
|
6d159451bbb5f568c4c3ae3a9e010a9512a106d5 |
06-Mar-2012 |
Derek Sollenberger <djsollen@google.com> |
Merge "Add missing includes for Mutex.h"
|
029f64303b8fe506ef34c12777da86b830d3bf7a |
05-Mar-2012 |
Derek Sollenberger <djsollen@google.com> |
Add missing includes for Mutex.h The missing header was being transitively included through a Skia header which is being removed. Change-Id: I5a65bae076027951fe07d1e7eecd4732124fb0e4
radientCache.h
extureCache.h
|
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
aches.cpp
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
|
fb9c41c2060497a459d16c30122e1d082895e5d1 |
05-Mar-2012 |
Romain Guy <romainguy@google.com> |
Merge "Deferred layer updates"
|
2bf68f063b0077ddef6ebfe54f2ae5e063c2c229 |
02-Mar-2012 |
Romain Guy <romainguy@google.com> |
Deferred layer updates Change-Id: I83d9e564fe274db658dcee9e0cc5bbf9223ebb49
ayer.h
penGLRenderer.cpp
|
ad1daaa87b793af30f3dd67a0f3cd5c0fd6ac0c1 |
02-Mar-2012 |
Romain Guy <romainguy@google.com> |
Remove stray log Change-Id: I0c1979aab395098651c8a63d0bae0198ebc3746b
isplayListRenderer.cpp
isplayListRenderer.h
|
dd7c8e4c68205d39109d4317dd0c9b05ed43e8e5 |
01-Mar-2012 |
Romain Guy <romainguy@google.com> |
Small tweak to Canvas.drawPath() GL implementation Change-Id: I1d668a912996e1267bcf2127058888e489a2d9b3
ontRenderer.cpp
penGLRenderer.cpp
|
9777173eb6c9eb97c7921c8288ebc65e3ab3ce6f |
29-Feb-2012 |
Romain Guy <romainguy@google.com> |
Full implementation of Canvas.drawPath() Change-Id: I23223b89770a0cd2b4762365bead9bfddb094290
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
|
03d58520c3eb6bb7efb7235bfd957550533d6725 |
25-Feb-2012 |
Romain Guy <romainguy@google.com> |
More infrastructure for Canvas.drawTextOnPath Change-Id: Iff42b24e342650d06fa4e2fa9db6c28da820ff01
penGLRenderer.cpp
|
325740fb444af8fc7fb0119b2e30ce322c2ae134 |
25-Feb-2012 |
Romain Guy <romainguy@google.com> |
Add hooks to implement Canvas.drawTextOnPath() in GL Change-Id: I165c9e05facf5365aa6850605688e538640c7fcc
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
4bcb7467a174ed03a67b0c62950c555813ddf00d |
24-Feb-2012 |
Romain Guy <romainguy@google.com> |
Only recreate path textures when necessary When a drawPath command is recorded in a display list, a copy of the source path is made to preserve against possible modifications of the said source path. Copies are discarded when a display list is cleared, which usually happens on invalidate(). This means that even if a path is never modified, the texture generated to draw it on screen is destroyed every time an invalidate() is issued. This change fixes this problem by introducing a reference to the source path in the copy. If both the copy and the source path have the same genID, they are the same path and can share the same texture. Change-Id: I34849311c183e06336a1391d2d1568a087f973f6
isplayListRenderer.h
athCache.cpp
|
9c10ab03cd6a35fca9eec617b9bd444d13544b99 |
22-Feb-2012 |
Romain Guy <romainguy@google.com> |
Reduce logs Change-Id: I2768972ec62f4d3ad800a4d7a4c44307a2fa0105
ebug.h
|
96ebc6b5097ab73eef45e094241e444f4c21bfcc |
22-Feb-2012 |
Romain Guy <romainguy@google.com> |
Only copy paths, paints and shaders when we need to. Change-Id: Iba7a9c92c865f698821b6ff7bc4f502659642ac1
isplayListRenderer.h
|
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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
athCache.cpp
hapeCache.h
|
21c9c8551d9ab36629cabc01f228d3a302e0c673 |
08-Feb-2012 |
Romain Guy <romainguy@google.com> |
Fix the system Change-Id: Ie097ea5d6c0af9c5929b8c5deb76b4824d5de787
napshot.cpp
|
967e2bf3ac8943a8e8a374bf86021915445cda67 |
08-Feb-2012 |
Romain Guy <romainguy@google.com> |
Preliminary support for clipRect(Rect, Op) This adds basic support for clip regions. It is currently disabled at compile time. Enabling clip regions will require setting up a stencil buffer. Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
napshot.cpp
napshot.h
|
ada4d53d50dc869b8278573ad640dc44118d3bcf |
03-Feb-2012 |
Romain Guy <romainguy@google.com> |
Separate interface definition and implementation of Snapshot The Snapshot class is getting complicated enough that its implementation should now live in a separate .cpp file. This will become particularly useful when support for clip regions and paths will be added later on. Change-Id: I050fac5683a9f7a0ff2f7a6beec3dd28aa5eb0d8
ndroid.mk
roperties.h
napshot.cpp
napshot.h
|
b629490ffb21752750cc081827ca4c1eae1eb015 |
03-Feb-2012 |
Romain Guy <romainguy@google.com> |
Disable debugging code in the font renderer Change-Id: I92463057ff4ae712bb25789db1667ff1ecfd389f
ebug.h
ontRenderer.cpp
|
211370fd943cf26905001b38b8b1791851b26adc |
02-Feb-2012 |
Romain Guy <romainguy@google.com> |
Add optional metadata to initiliaze the render threat. The render threat is likely to break your application if you initiate it. As such it must be explicitely requested using the following meta-data tag in your manifest's application tag: <meta-data android:name="android.graphics.renderThread" android:value="true" /> Change-Id: Ibf0a48af2a0d091562bf6907eac970e3d1d601c4
penGLRenderer.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
aches.cpp
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
xtensions.h
penGLRenderer.cpp
penGLRenderer.h
|
530041d3191ce817832a0108514617768e43cda6 |
26-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add stencil buffer to the EGL config Change-Id: If76c0cd6127534d90f9526b75c0f8e56259c6722
penGLRenderer.cpp
penGLRenderer.h
roperties.h
|
5ff9df658230d49e42c43586997a02d8e4dd417e |
24-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add full support for Canvas.setDrawFilter() Change-Id: I0ad35d0603c4eeda469014803be14c1dcdde918c
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
22d418437e44587cb0fba4353515719453269189 |
20-Jan-2012 |
Romain Guy <romainguy@google.com> |
Fix the build, for real Change-Id: I6263f7e5e3ae2f7efe045f8b464c0ed1b87fc793
isplayListRenderer.h
|
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
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
|
eb9a5367e8f0e970db8509ffb2584f5376bc62ed |
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
First pass at implementing Canvas.drawPosText() in GL Change-Id: Ia3ac347e95d57eb86c63045156c8dbc0572b03cb
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
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
ontRenderer.cpp
radientCache.cpp
penGLRenderer.cpp
rogram.cpp
hapeCache.h
extureCache.cpp
|
8564c8da817a845353d213acd8636b76f567b234 |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
aches.cpp
ayerRenderer.cpp
hapeCache.h
extureCache.cpp
|
d4a69b4a1cb5b52035345abd8cb9595ae4cf9fa5 |
06-Jan-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Merge "Fix bug #5753006 Garbled Labels in Maps"
|
c511bee87cda99a252d1a62487f47c8f05aee78c |
05-Jan-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5753006 Garbled Labels in Maps - it was a regression introduced into this CL: https://android-git.corp.google.com/g/#/c/154240/5 - basically needed to set the GlyphID encoding to the Skia Paint as we are now using glyphID resulting from the Harfbuzz shaping - also define GlyphID encoding as the default on the Paint class Change-Id: Idb7c2c57ac67595425ce3be9421258962690fcdd
isplayListRenderer.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
aches.cpp
ebug.h
isplayListRenderer.cpp
isplayListRenderer.h
xtensions.h
ayerCache.h
ayerRenderer.cpp
ayerRenderer.h
atrix.cpp
penGLRenderer.cpp
atchCache.h
rogram.h
rogramCache.h
ect.h
esourceCache.cpp
hapeCache.h
extDropShadowCache.cpp
extureCache.cpp
extureCache.h
ector.h
|
82bc7a772747fcf8a6fe7097f70bf2981429ffe9 |
03-Jan-2012 |
Romain Guy <romainguy@google.com> |
Properly restore the GL scissor after a GL draw functor Bug #5781254 Change-Id: I1dc4809563a793b6b579814951d4d73b4c34bf32
aches.cpp
aches.h
penGLRenderer.cpp
|
9a8245629d69d81e0b62e52970feaf9c02580e75 |
17-Dec-2011 |
Chet Haase <chet@google.com> |
De-allocate caches for large glyphs when trimming memory Currently, font renderers eliminate some texture caches when memory is trimmed. This change makes it go further by eliminating the large-glyph caches for all font renderers. These caches are only allocated as needed, but continue to consume large amounts of memory (CPU and GPU) after that allocation. De-allocating this memory on a trim operation should prevent background apps from holding onto this memory in the possible case that they have allocated it by drawing large glyphs. Change-Id: Id7a3ab49b244e036b442d87252fb40aeca8fdb26
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.cpp
|
0904c203c4c56e43f723522351b7a3bc304196ef |
16-Dec-2011 |
Chet Haase <chet@google.com> |
Merge "Fix issues from recent glyph caching change"
|
2a47c14e2a6f152496b43104bc785c488583fd59 |
15-Dec-2011 |
Chet Haase <chet@google.com> |
Fix issues from recent glyph caching change There were 2 issues remaining after a recent change to support glyph caching from multiple textures: - memory in the GPU for all textures was being allocated automatically. This is now lazy, being allocated only when those textures are first needed. - filtering (applied when a rendered object is transformed) was ignoring the new multiple-texture structure. Filtering should be applied correctly whenever we change textures. Change-Id: I5c8eb8d46c73cd01782a353fc79b11cacc2146ab
ontRenderer.cpp
ontRenderer.h
|
8f85e80b64b89fd38cc23b129f61ec36ddde7f15 |
15-Dec-2011 |
Romain Guy <romainguy@google.com> |
Generate even fewer GL commands Change-Id: I0f4dcacb03ef5ee7f6ebd501df98bfead5f0a7f8
aches.cpp
aches.h
penGLRenderer.cpp
ect.h
|
2d4fd364843d3efc6e6ee59ccc5beb513a86d789 |
14-Dec-2011 |
Romain Guy <romainguy@google.com> |
Reduce the number of active texture changes Change-Id: I94046bdfe20740c26c8183822e3002d692fde7c4
ontRenderer.cpp
penGLRenderer.cpp
rogram.cpp
rogram.h
|
ec31f83bd3af1f900d1ee9116b15f56904c66dcd |
14-Dec-2011 |
Romain Guy <romainguy@google.com> |
<Insert something improper about OpenGL> Change-Id: Ib645376093838156771588adc76a718da0ceb0db
aches.cpp
ect.h
|
a1d3c91afbd52c7e8b01f4a9060c5459f02ae7a5 |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Further reduce the number of GL commands sent to the driver Change-Id: Id922b2a166ea4573b767c27d3195e11c70320b23
aches.cpp
aches.h
ayerCache.cpp
ayerRenderer.cpp
penGLRenderer.cpp
ect.h
kiaShader.cpp
|
e829bc0f0364e942bed01536d115a5c08d25d776 |
13-Dec-2011 |
Chet Haase <chet@google.com> |
Merge "Make glyph cache more flexible"
|
7de0cb12d0e5fd64811da0b5d1ae0c0d58b86f86 |
06-Dec-2011 |
Chet Haase <chet@google.com> |
Make glyph cache more flexible Some GPU architectures could not handle the previous implementation of our glyph cache. Frequent uploads would cause memory problems in the GPU and eventually a crash due to these memory issues. The solution is to move to a system of several, smaller caches instead of one monolythic cache for all glyphs. Change-Id: I0fc7a323360940d16d5a33eeb33abfab194c5920
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.h
|
15bc6437f8b4cf10dba55c7638d349e7b9563f4f |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Reduce the number of GL commands generated by the UI This optimization along with the previous one lets us render an application like Gmail using only 30% of the number of GL commands previously required Change-Id: Ifee63edaf495e04490b5abd5433bb9a07bc327a8
aches.cpp
aches.h
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
f3a910b423db7ad79cf61518bdd9278c048ad0d8 |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Optimize state changes Change-Id: Iae59bc8dfd6427d0967472462cc1994987092827
aches.cpp
aches.h
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
atch.cpp
rogram.cpp
rogram.h
rogramCache.cpp
rogramCache.h
|
d71dd367af604571c7d00ca473184a1b9240eca2 |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Minimize the amount of data uploaded to draw text Change-Id: I6313ac039291c9cd93aadafe3566ad9d60cab42d
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
|
39d252a6632d057d5077f7eaf1b8ed7a142f3397 |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Various OpenGL optimizations Change-Id: Ib0742c96f10f5f50e7e5148b742c31b6c232d127
radientCache.cpp
ayerCache.cpp
ayerRenderer.cpp
penGLRenderer.cpp
extDropShadowCache.cpp
exture.h
|
f44e66fcf70aa4a354deca72dfbd3b29c29302be |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Remove leftover debugging code Change-Id: I1589af7991da36744071d5081daa24ebae5b4dfd
rogram.cpp
|
3e263fac8c9c0e0fb242186b514a7af8efb40961 |
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Keep shaders to render properly I don't know who's to blame, SGX or Tegra2 but one of those two GPUs is not following the OpenGL ES 2.0 spec. Change-Id: I2624e0efbc9c57d571c55c8b440a5e43f08a54f2
ayerRenderer.cpp
penGLRenderer.cpp
rogram.cpp
rogram.h
|
6752d0ab029a185a42e34e7a933b669e6ed19e89 |
12-Dec-2011 |
Romain Guy <romainguy@google.com> |
Mark color uniform fetched after fetching it Change-Id: I10e8027018608070a536eb8b51c7a4272e37006c
rogram.cpp
|
24edca8b526515979778e577191089a57f5277d7 |
09-Dec-2011 |
Romain Guy <romainguy@google.com> |
Code cleanup Change-Id: If92e3addfc4d8546a60edcdea60a1fc89c27b680
rogram.cpp
rogramCache.h
roperties.h
|
05bbde70fd2a3af737656b9f8c5a25b56429632e |
09-Dec-2011 |
Romain Guy <romainguy@google.com> |
Free up resources by deleting shaders early on Change-Id: I29a39775732c0a48d3e6823f7afa3e741cae8541
rogram.cpp
rogram.h
roperties.h
|
9c4b79af221b53f602f946faa9ff317a596a0c39 |
11-Nov-2011 |
Romain Guy <romainguy@google.com> |
Discard framebuffer rendering queues when discarding layers Bug #5581817 Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
ndroid.mk
xtensions.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
|
8f9a9f61ab793d9387a5942b307e74324704893b |
05-Dec-2011 |
Romain Guy <romainguy@google.com> |
Clip text correctly Bug #5706056 A newly introduced optimization relied on the display list renderer to properly measure text to perform fast clipping. The paint used to measure text needs to have AA and glyph id encoding set to return the correct results. Unfortunately these properties were set by the GL renderer and not by the display list renderer. This change simply sets the properties in the display list renderer instead. This change also improves the error message printed out when the application attempts to use a bitmap larger than the max texture size. Change-Id: I4d84e1c7d194aed9ad476f69434eaa2c8f3836a8
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
hapeCache.h
extureCache.cpp
|
cac5fd3e09e9dc918753d4aff624bf29a367ade3 |
02-Dec-2011 |
Romain Guy <romainguy@google.com> |
Faster text clipping Change-Id: I03a00c4261d81a416b1ad7b86ce2d432c71908b4
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
d21b6e1fe337b35f62cf2028e9bd0637fd009a75 |
01-Dec-2011 |
Romain Guy <romainguy@google.com> |
Optimize away unnecessary state changes Change-Id: I0f6816f9f6234853575ecee5033186ad19e76380
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
hapeCache.h
kiaShader.cpp
exture.h
extureCache.cpp
|
cb52d6760078197cd6d0c16349348dd2ad16a88c |
29-Nov-2011 |
Romain Guy <romainguy@google.com> |
am 02e88f23: am 46685db9: Merge "Fix crash in existing applications Bug #5659476" into ics-mr1 * commit '02e88f23a65c602e83d7a46c0925e653b948e418': Fix crash in existing applications Bug #5659476
|
46685db957cc01cef4ba198aafe44d99fe31f62c |
29-Nov-2011 |
Romain Guy <romainguy@google.com> |
Merge "Fix crash in existing applications Bug #5659476" into ics-mr1
|
d3ea6b40bb8f0fbc2a877963db1ab4fa0fc02b2f |
29-Nov-2011 |
Chet Haase <chet@google.com> |
am 38928899: am 8990cb57: Merge "Fix flashing wifi dialog after rotating back from landscape." into ics-mr1 * commit '3892889952b0ad3fa0b095c96d8ae2ae110585e2': Fix flashing wifi dialog after rotating back from landscape.
|
08837c246c9c27902c59b41c8661c2f27a4aa2bc |
28-Nov-2011 |
Chet Haase <chet@google.com> |
Fix flashing wifi dialog after rotating back from landscape. There was an error in some of the OpenGL layer logic such that we would occasionally set up a layer for rendering and then not clean up when it was done. This caused future OpenGL rendering to go into that layer instead of to the buffers being displayed on the screen, resulting in artifacts including flashes and displaying of stale content. This happened specifically when using the wifi settings dialog with the InputMethod keyboard displayed, but it was probably visible in other situations as well. Issue #5628248: Flickering/flashing after entering password for WiFi Change-Id: I38139f620b310f4309570fa7224552d2ee633999
penGLRenderer.cpp
|
ff98fa5a847f66e591287154c634ef7895a9549c |
28-Nov-2011 |
Romain Guy <romainguy@google.com> |
Fix crash in existing applications Bug #5659476 The FontRenderer was not cleaning up its temporary state, leading to crashes when invoking renderDropShadow. Change-Id: I43b24820dd5625af8c080bbe11b64de2f74164b2
ontRenderer.cpp
|
c28e574037b2bfc8c2ea24593299aa20ae9078f8 |
22-Nov-2011 |
Romain Guy <romainguy@google.com> |
am a2fabf4a: am 303a0695: Merge "Draw in the correct FBO after invoking a GL functor Bug #5650514" into ics-mr1 * commit 'a2fabf4a109d46f99ff7370aa05e48c1708c2838': Draw in the correct FBO after invoking a GL functor Bug #5650514
|
421458aad764cd9d1403d2540ab979b336b02341 |
22-Nov-2011 |
Romain Guy <romainguy@google.com> |
Draw in the correct FBO after invoking a GL functor Bug #5650514 After invoking a GL functor, libhwui restores a few OpenGL states including the current FBO. The renderer was however making the wrong assumption that the FBO to restore to was the base layer instead of the FBO associated with the current canvas state. Change-Id: Ie565500832ebffd673f6a43b83422d6cc05470a0
penGLRenderer.cpp
napshot.h
|
7077506f9945b87b02bdd47ffce75a5b813c821c |
14-Nov-2011 |
Dave Burke <daveburke@google.com> |
Revert "Discard framebuffer rendering queues when discarding layers" This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
ndroid.mk
xtensions.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
|
d9e688cab3015d858110fb8240cf7378c6befd82 |
12-Nov-2011 |
Jeff Brown <jeffbrown@google.com> |
Clean up GenerationCache. Use const references to keys and values where appropriate to avoid copying them unnecessarily. Deleted some dead code. Simplified a few pieces that were doing unnecessary redundant work. Change-Id: Ib2145b7094a40db2d679e05dafe050fe1e87b846
athCache.cpp
|
1333742bedc9b462024302f302e3a7f27053df66 |
11-Nov-2011 |
Akwasi Boateng <akwasi.boateng@ti.com> |
am cb0db030: Merge branch \'ics-mr1-plus-aosp\' of ssh://android-git:29418/platform/frameworks/base into ics-mr1-plus-aosp * commit 'cb0db0306b5849a35d3d99eea1b34ce019c6f0d8': Make the overridden ImageView#setVisibility remotable Clamp non-monotonic stats instead of dropping. DO NOT MERGE. Fix leak in LayoutTransition Fix lastVisible/global rects Fix Wimax-less build. Fix leak in LayoutTransition Deferring wallpaper update to improve workspace scrolling (issue 5506959) Terminate EGL when an app goes in the background boot animation is dithered and scaled Fix NdefRecord byte-stream constructor. PopupWindow dismiss() can get into a recursive loop. Fold WiMAX state into the mobile RSSI. Remove dedicated wimax icon to fix RSSI layout.
|
da96f8ac2c1c35a54f3f36e6d776cb386a251d03 |
11-Nov-2011 |
Romain Guy <romainguy@google.com> |
Discard framebuffer rendering queues when discarding layers Bug #5581817 Change-Id: If612846ec5f7793710fc4df152791fb32c506551
ndroid.mk
xtensions.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.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
aches.cpp
aches.h
|
9039e43ab1edac9e81f1308a7f3380cff4e9fa27 |
05-Nov-2011 |
Romain Guy <romainguy@google.com> |
am 2ccc47b8: Merge "Memory optimizations for libhwui Bug #5566149" into ics-mr1 * commit '2ccc47b89868d4f39683e0e2bd057ce95d7d1217': Memory optimizations for libhwui Bug #5566149
|
eca0ca2424afc1e98912405906edfc32f7733e16 |
04-Nov-2011 |
Romain Guy <romainguy@google.com> |
Memory optimizations for libhwui Bug #5566149 Lazily initialize font renderers Keep 60% of the texture cache when an app goes to the background Delete least used font renderer when going to the background Delete all font renderers on full memory trim Change-Id: I3c2454d46dc1107ec0f0f72a9ce69cbbcc8825e7
aches.cpp
ammaFontRenderer.cpp
ammaFontRenderer.h
roperties.h
extureCache.cpp
extureCache.h
|
ef9bb3c3ea3aa08071ea0c32a505b379c322e5b5 |
17-Oct-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5438102 Double Arabic harakat overlap instead of stack In TextView IMPORTANT: this change needs two patches for Harfbuzz: - one concerning hb_utf16_script_run_prev() which was not returning the correct "previous" script - one for the "script_properties" table that was missing Arabic code point ranges and declaring HB_Script_Inherited instead of HB_Script_Arabic The current change is doing the following: - pass the correct typeface for Harbuzz shaping (depending on the script of the run) - offset correctly the glyphIDs returned by Harfbuzz We need to offset the glyphsID as Harfbuzz will return local glyphIDs (meaning in the local range of the font used for shapping). We then cannot use those glyphIDs when we are using a fallback Font (Arabic, Hebrews...) because the FontRenderer needs glyphIDs in the range of all the Fonts (including the fallbacks) Change-Id: I494897435bbc59293b02392ee2059cebcdf0e571
penGLRenderer.cpp
|
e707859415f4c8e1c01228dfaa58fb0a690d442e |
28-Oct-2011 |
Romain Guy <romainguy@android.com> |
Load identity matrix when calling Canvas.setMatrix(null) Bug #5446826 Change-Id: I3a7817f266b17e9abe948500816d629edd9a2822
penGLRenderer.cpp
|
5e7c469c7a3039af7696789a797f8d91a45227eb |
21-Oct-2011 |
Romain Guy <romainguy@google.com> |
Make sure 9patches are not filtered when not necessary Bug #5383406 Change-Id: I061c8069a4d9f4eaf45671283710b564639eeb32
atch.cpp
|
a62f172215727a1e00af0cb934904e00926a86c9 |
20-Oct-2011 |
Romain Guy <romainguy@google.com> |
Correctly dump DrawPatch operations in display lists Change-Id: I8cd1c764ddc184ce45727913fa2a23a3d81b337e
isplayListRenderer.cpp
|
5cd5c3f7e4df99f47e3def6e3707b9eb8205aef3 |
18-Oct-2011 |
Romain Guy <romainguy@google.com> |
Return early when we cannot allocate a hardware layer Bug #5462308 Change-Id: I52dab809662f6f42a49ca03edc50f6b98fc35a06
ayerRenderer.cpp
|
71e36aa7db69449e210d0791284cb810a7471c07 |
12-Oct-2011 |
Romain Guy <romainguy@google.com> |
Add missing public native API Change-Id: Ie3bc706b2ac91d686a5b888e8ae841820e9d37c7
atrix.h
|
7953745dd565167113f8cbfc461bc0521d32d870 |
12-Oct-2011 |
Romain Guy <romainguy@google.com> |
Reduce the size of libhwui by 50% This change removes unnessary symbols. All symbols are hidden by default, public APIs with exported symbols are explicitly marked with ANDROID_API. Change-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f
ndroid.mk
aches.h
isplayListLogBuffer.h
isplayListRenderer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.h
esourceCache.h
kiaColorFilter.h
kiaShader.h
|
a9dc86b21defc26db0d71f276aff5c3af0b62ff5 |
11-Oct-2011 |
Romain Guy <romainguy@google.com> |
Correctly apply transforms when getting a TextureView's bitmap Bug #5439406 Change-Id: I271a9a2e38f5b3600dc158f8f442a6b0893f472b
ayerRenderer.cpp
|
5a6d3a4c0311318e6f1d4ee06aa47606e055a81b |
08-Oct-2011 |
Romain Guy <romainguy@google.com> |
Stupid fixed point math. Bug #5423215 Change-Id: I39379e1f8fb4d59de4ede6e4fe7cf7a2c7cc625a
ontRenderer.cpp
|
ed7a8fc768df158241819f062a12dafdaf8a628d |
05-Oct-2011 |
Romain Guy <romainguy@google.com> |
Canvas.getClipBounds() was broken and unreliable with OpenGL ES 2.0 This bug was affecting several third party applications. The bug was introduced by an optimization that prevented the local clip to be recomputed when needed. Change-Id: I7b5c464db21b5ff1a7274af75a3a64d0e9d84772
napshot.h
|
59c7f80dd20258cefa1fc4bdd3c9a709a8dd53b8 |
30-Sep-2011 |
Romain Guy <romainguy@google.com> |
TextureView works best when it draws stuff. Bug #5391188 Change-Id: I5e754881ccb08ff288ebd60de77282c9cbcf3f86
extDropShadowCache.h
|
83b186a246e8ffd52b91a17c0019dd8c9c9d21b1 |
20-Sep-2011 |
Mathias Agopian <mathias@google.com> |
fix the float Rect in OpenGLRenderer to handle NANs - we want functions like isEmpty() to return true if NANs are involved in the Rect - also clean-up the intersect familly of calls - minor cleanup in the int32_t Rect as well These played a role in http://b/5331198. Bug: 5331198 Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
ect.h
|
13ede62fd77acdf158f7210043fe48644cb4a589 |
16-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Make LTE_FLOAT a strict weak order. Bug: 5327776 Currently LTE_FLOAT isn't even a valid partial order, let alone a strict weak order as needed by binary search. Consequently, KeyedVectors with keys whose types have operator< using LTE_FLOAT sometimes find the wrong values! This problem affects several graphics caches including the TextLayoutCache. (This is still not a total order because NaNs are not comparable but hopefully we don't ever search for NaNs this way!) Change-Id: Ic447a34c7d87f681ee81538f22a0937a039072dd
tils/Compare.h
|
2ffefd48e20d311b38c0673edadb27c1f6ad328b |
09-Sep-2011 |
Romain Guy <romainguy@google.com> |
Add support for 3 new blend modes when blending with framebuffer: Add Multiply Screen Change-Id: I92a3c2612c86613087568bf0c03cc6f92b5ded44
penGLRenderer.cpp
|
8a3957d43bcae93fbb9f6b4b4c3de8abdb3c953c |
08-Sep-2011 |
Romain Guy <romainguy@google.com> |
Add reminder in the code to fix T-junctions Change-Id: I52b112694f930e641f01fb78dc55412986023411
ayerRenderer.cpp
penGLRenderer.cpp
|
799833a8b451a04be201d25ae72213e8562f7774 |
30-Aug-2011 |
Romain Guy <romainguy@google.com> |
Text would disappear when the font size is 75px. Bug #5230196 Yes, 75px. Any other font size would work. Don't ask. Change-Id: I96c7db9926a97f65128d60c8238c3640ee2444ba
ontRenderer.cpp
|
04c9d8c2ffd028c35c750bac0a4a7b79e48059b5 |
25-Aug-2011 |
Romain Guy <romainguy@google.com> |
Optimize display lists Remove redundant or useless operations Change-Id: If989b4eaa9143eef4254c38b39959aeed1f2b9ab
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
|
631582f7f7a3c879a5fba81f2bc082e4826758aa |
24-Aug-2011 |
Romain Guy <romainguy@google.com> |
Enable linear filter when scaling bitmaps Bug #5205673 Change-Id: I8b0f90877df6b6c6757d35dcf6cd14e79e840b96
penGLRenderer.cpp
|
6816972eb69ee8b294553dac92b3c1ad5b1ca1f7 |
23-Aug-2011 |
Romain Guy <romainguy@google.com> |
Don't use bilinear filtering on unscaled bitmaps Bug #5198590 Change-Id: I4333d850501ac849eeeeb247e4178dd469b9de3d
penGLRenderer.cpp
|
28d8ff6dbcc1b137131c70b72b4dbd211db7fbd9 |
22-Aug-2011 |
Romain Guy <romainguy@google.com> |
Move constants to the correct header Change-Id: Id4bd14f72487bd7156cd2e1930eaf97b47896273
ayerCache.cpp
ayerCache.h
roperties.h
|
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
ayer.h
atrix.cpp
atrix.h
penGLRenderer.cpp
|
e5df231434357424cea8d2b8d0cdf31253a98110 |
12-Aug-2011 |
Romain Guy <romainguy@google.com> |
Make sure we correctly copy caches keys. Bug #5136067 Change-Id: I366e840bef44415436dc7b13d89cfb610feed663
radientCache.h
ayerCache.h
atchCache.h
athCache.h
hapeCache.h
|
9d865512f1a39bac6bed612b24023213d5a1fb1d |
12-Aug-2011 |
Romain Guy <romainguy@google.com> |
Remove unnecessary private API Change-Id: I2ecb367528ec0691c07153a3d163b82a6ca33fdf
penGLRenderer.cpp
penGLRenderer.h
|
4974bc1be68a77cf9709a8c50ef6de06ce8a3a0d |
08-Aug-2011 |
Romain Guy <romainguy@google.com> |
Prevent crash when purging the gradients cache. Bug #5133876 Change-Id: I3d1fa4e29498044796d725337ac93e6a1e8f0bcb
radientCache.h
|
bd496bc3d481f9cfc39007d22372d3a1a8809f96 |
03-Aug-2011 |
Romain Guy <romainguy@google.com> |
Paint style and stroke width affect text rendering. Bug #5112207 Change-Id: Ic34037ace21a5058ba23dd15e51aae58c998454d
ontRenderer.cpp
ontRenderer.h
|
6203f6c8147069976342be8f42add797a50f9557 |
02-Aug-2011 |
Romain Guy <romainguy@google.com> |
Reduce the amount of data cached by the gradients cache. Change-Id: I8546f5a5ecf38031c9a40bdcc434d4c7f22da63d
aches.cpp
radientCache.cpp
radientCache.h
esourceCache.cpp
kiaShader.cpp
|
a60c3889718f4513a6c9d8b80f655db5d6346905 |
02-Aug-2011 |
Romain Guy <romainguy@google.com> |
Use high precision iterators on specific GPUs Bug #5098359 Change-Id: I52ee8c7b4c9e8d4c7bedb684eaf7bef6c44c74b9
ebug.h
xtensions.h
rogramCache.cpp
|
b50149825fae95b2918bcf67b2ddb773b9797068 |
29-Jul-2011 |
Romain Guy <romainguy@google.com> |
Correctly apply linear filter to drawBitmap(Rect, Rect) Change-Id: I1049282e1996b1020c92cb7bec46e9f28e94e967
penGLRenderer.cpp
kiaShader.cpp
|
65b345fa22b878e141b8fd8ece9c208df00fa40f |
28-Jul-2011 |
Romain Guy <romainguy@google.com> |
Reclaim more memory, more often. Yay. Change-Id: I04557ad575c307a55088549f48f0e9ad994b7275
isplayListRenderer.cpp
isplayListRenderer.h
ayerCache.cpp
ayerRenderer.cpp
roperties.h
|
6d7475d666baefaa3ba9f0dcee25238739454241 |
28-Jul-2011 |
Romain Guy <romainguy@google.com> |
Destroy layers and flush layers cache when a window is destroyed. Change-Id: I3fa1bc3ff50fb99e3d2e490925bd6b0a0f809fff
aches.cpp
aches.h
isplayListRenderer.h
|
eea60692b060737faeaa02bb30f5b79e2202b482 |
27-Jul-2011 |
Romain Guy <romainguy@google.com> |
Improve layers debugging Change-Id: Ia4950dd5f0e0a224ecb69c581d33aa4f32260a7c
ayerCache.cpp
ayerCache.h
ayerRenderer.cpp
|
912a7b32d0c59ba38265c5dd6ff84ce93f909a7f |
27-Jul-2011 |
Romain Guy <romainguy@google.com> |
Make sure we have a current EGL context when invoking EGL Bug #5081795 Change-Id: Iee3382d362a71c1e6c5c498b319bf7f7bcf5a2f0
ayer.h
ayerCache.cpp
extureCache.cpp
|
e3c26851dc315b730ea0fe5ef35bb1db81f6d675 |
26-Jul-2011 |
Romain Guy <romainguy@google.com> |
Improve rendering performance on some GPUs This change sets textures filtering to GL_NEAREST by default. GL_LINEAR filtering is only used when textures are transformed with a scale or a rotation. This helps save a couple of fps on some GPUs. Change-Id: I1efaa452c2c79905f00238e54d886a37203a2ac1
radientCache.cpp
ayer.h
ayerCache.cpp
penGLRenderer.cpp
penGLRenderer.h
hapeCache.h
kiaShader.cpp
extDropShadowCache.cpp
exture.h
extureCache.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
isplayListRenderer.cpp
isplayListRenderer.h
|
f2fc460a9512500d9d5749fbaada88903d8e3b22 |
20-Jul-2011 |
Romain Guy <romainguy@google.com> |
Reduce the fade area to save bandwidth. Change-Id: I8ccea17fc1fb3c132329baa0acc1b3d5a140a5c6
penGLRenderer.cpp
|
bdf7609867a3f886455c51dba91623a86cceb6e2 |
19-Jul-2011 |
Romain Guy <romainguy@google.com> |
Trim OpenGLRenderer's memory usage whenever possible Change-Id: I9225077184f374b1a43300add15cc1d5b6869d1c
aches.cpp
aches.h
ebug.h
|
042f7d64b5ccd7b5b73e7e9814a84576f04fb7d4 |
13-Jul-2011 |
Kenny Root <kroot@google.com> |
Fix debugging for hwui caches Debugging code attempted to delete a stack item. Also, the flag fields weren't exactly clear, so rewrite it so it's clear that kDebugMoreCaches is a combined flag. Change-Id: If42b7f0f754919343301da5656aee5943cc9bd4a
aches.cpp
roperties.h
|
40c4b86b72d416585335940f928124426d715e59 |
09-Jul-2011 |
Romain Guy <romainguy@google.com> |
Align paths on pixel boundaries when rasterizing in bitmaps. Bug #5003739 Change-Id: I3dfbf4eb92e2c870f33c96947a7d6439e3730965
hapeCache.h
|
b2479153b743df9e54f7e17c7132a5ecd87fa453 |
08-Jul-2011 |
Romain Guy <romainguy@google.com> |
Correctly position layers. Change-Id: I1678b1c5bdab140b44e56556c50ab8329255f18a
penGLRenderer.cpp
|
ec19b4a764d512091a780fc93ced567dfbf80914 |
08-Jul-2011 |
Romain Guy <romainguy@google.com> |
Use NEAREST filtering mode for TextureView.getBitmap(). Change-Id: I4649062bbdf18ebba7924bdf578f39ad8f6576ac
ayerRenderer.cpp
penGLRenderer.cpp
|
9ace8f5e79e76893fe4ca9e4d10f6c4056330485 |
08-Jul-2011 |
Romain Guy <romainguy@google.com> |
Use NEAREST filtering for layers whenever possible. Change-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e
ayer.h
ayerCache.cpp
ayerCache.h
ayerRenderer.cpp
penGLRenderer.cpp
exture.h
|
9ff3cb57ee46ac5242a7d8f08e0c66189fda2e66 |
28-Jun-2011 |
Romain Guy <romainguy@google.com> |
Fix parameter order evaluation issue. This problem was affecting Android builds with gcc/x86. Change-Id: Ibb7978413c89bd1ac09f0d1ea78f5cb4fe61f6ed
isplayListRenderer.cpp
|
4a5a71518a71a44dbccb3af9a08b82056ea748b3 |
25-Jun-2011 |
Romain Guy <romainguy@google.com> |
Don't set texture parameters on every frame. Change-Id: Iec368405ad6a4ccfd569a0b3b4d681871a770396
ayerRenderer.cpp
|
80429c458506485904715180d10584092a5cd082 |
25-Jun-2011 |
Romain Guy <romainguy@google.com> |
Properly tear down TextureView Change-Id: Ic23cd9257889d0abe8cc3fc1d04a66d0505e383e
ayerRenderer.cpp
|
02ccac69fd1c0a03c24c5f3ace0ad4bed337b1fd |
24-Jun-2011 |
Romain Guy <romainguy@google.com> |
Code cleanup Change-Id: I64c346004e0adf9a776d0315534d4fe445f0c0ca
aches.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
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
|
d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868 |
23-Jun-2011 |
Romain Guy <romainguy@google.com> |
Fix another memory leak in OpenGLRenderer Change-Id: I23ed56891452a05cf3ca13f6919c4fef90d5ff4e
isplayListRenderer.cpp
isplayListRenderer.h
esourceCache.cpp
kiaColorFilter.h
|
f6a63ae3a7004a8eca87fca5a66cfb6aef4e86b5 |
23-Jun-2011 |
Romain Guy <romainguy@google.com> |
Fix memory leak in OpenGLRenderer. When creating a display list, matrices are duplicated locally. They were however never deleted, thus causing apps to slowly leak memory (a matrix is about 40 bytes.) Change-Id: Iac465b720d4c4c9b5ca3fce870c0c912c14a74ab
isplayListRenderer.h
|
d6b2a00dd43257d1498b09175bff63663f6cb861 |
18-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add error checking to LayerRenderer::copyLayer This method is invoked by TextureView.getBitmap() and failures must be caught to avoid leaving the GL context in a potentially bad state. Change-Id: I620de395ba1bc20154de58c81963223dc55cac78
aches.h
ayerRenderer.cpp
penGLRenderer.cpp
|
98029c825b9234e6b90721d910cc180885fcab1d |
18-Jun-2011 |
Romain Guy <romainguy@google.com> |
Fix rendering issue with paths when the stroke width is 0 Change-Id: I5d8ac23dc69e9e17df4ef6b5195186b5207e2524
hapeCache.h
|
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
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.h
|
54be1cdf3d63095512120fa7ced5c16e462abffa |
14-Jun-2011 |
Romain Guy <romainguy@google.com> |
Batch glCopyTexImage() calls to get about 15 fps back on SGX. Change-Id: I04079e070739c1e46df3e90fc388c335e2a7d2b9
penGLRenderer.cpp
penGLRenderer.h
|
181d0a6ccedee03789919d53c46540a8df751896 |
10-Jun-2011 |
Romain Guy <romainguy@google.com> |
Don't apply AA to rects with no rotation/perspective. Change-Id: I21138d4d0589cc28f1dcffb8b675cd81a9900e24
atrix.cpp
atrix.h
penGLRenderer.cpp
|
67ffc36a79ce3a9a0b5da28b65123864b7d2597f |
04-Jun-2011 |
Romain Guy <romainguy@google.com> |
Measure text with the appropriate text encoding. Bug #4546327 Change-Id: I8eb593b03a81145e08be92579706ddd775feb0a2
penGLRenderer.cpp
|
726aeba80ffc6778a9bc3e0ee957b8d644183505 |
01-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add support to OpenGLRendere to draw BiDi text. Bug #4350336 Change-Id: I1cf31693f7ca9653fa3a41b5b91c27ef288d680f
isplayListRenderer.cpp
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
extDropShadowCache.h
|
f09ef51889f75289b041f9e9f949b7b82ed5b686 |
27-May-2011 |
Romain Guy <romainguy@google.com> |
Fix issue with drawColor(color, Mode.Clear) Change-Id: I486b24a5b609c6f8adb0276037ddb24af2b888b2
penGLRenderer.cpp
penGLRenderer.h
|
d2ba50ab861ec0950bda18dd0f463b687e66249f |
27-May-2011 |
Romain Guy <romainguy@google.com> |
Prettify memory dump. Change-Id: I071c6a04a144a96955d85f56dffc6162288ee33e
aches.cpp
|
1e59f9d10d164f156221f6d34b932f06cdd29f1f |
27-May-2011 |
Romain Guy <romainguy@google.com> |
Fix texture coordinates for sub-bitmap rendering. Change-Id: I05a31775e03f5b223a55a5144d420351abac89be
penGLRenderer.cpp
|
f504a2fa144504ca1efd39a4ef9208e3d4d336c5 |
27-May-2011 |
Romain Guy <romainguy@google.com> |
Correctly implement the CLEAR xfermode. The previous implementation was using glBlendFunc with the parameters GL_ZERO/GL_ZERO which doesn't work for text, paths and other alpha sources (anti-aliasing.) The correct implementation is GL_ZERO/ GL_ONE_MINUS_SRC_ALPHA. Change-Id: I4cca65e57b6a37bbf5a41d382cb0648ee8e11e79
ebug.h
penGLRenderer.cpp
atch.cpp
atch.h
|
44984ea0cb3702384d023b5f211deda3c4b0b656 |
19-May-2011 |
Chet Haase <chet@google.com> |
Enable large font rendering with GPU acceleration Change-Id: I7b022100fb0762613f9cf7753dbb0217e1e75f8d
ontRenderer.cpp
ontRenderer.h
|
d39d1affe82cb8c21d32baaa5fbb2d6afb806f8e |
16-May-2011 |
Derek Sollenberger <djsollen@google.com> |
Updates resulting from the Skia merge (revision 1327) Change-Id: I2a8f5869dbe95bb594f2ba5d7278f9b330e6f17a
penGLRenderer.cpp
|
9dec462c1f522533620be3c70f2fc60e69368c1a |
13-May-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Merge "Prepare OpenGLRenderer to use glyphs from TextLayoutCache"
|
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
penGLRenderer.cpp
penGLRenderer.h
|
858aa93ddb6e69e0503382af63bb681b6728aef1 |
12-May-2011 |
Chet Haase <chet@google.com> |
Antialiasing for rectangles Change-Id: I7ca6931606541ddd504bd5db7f8dc04b9cde8cd9
penGLRenderer.cpp
penGLRenderer.h
|
c54ed966f78b9ee8117931859d62faa6f11fe018 |
06-May-2011 |
Chet Haase <chet@google.com> |
Minor javadoc enhancements Change-Id: Ic24bb0e1e669989f0cae3a9b8fa064b38c8e7948
penGLRenderer.cpp
|
3825fef300122ffcc262e56a36a9fc36d8d084b0 |
06-May-2011 |
Chet Haase <chet@google.com> |
Merge "Fix for scaled AA lines"
|
99ecdc480dd4f9b550b2a62ea39f77845a4fec49 |
06-May-2011 |
Chet Haase <chet@google.com> |
Fix for scaled AA lines Previously, the translucent boundary of AA lines would be scaled by the line's transform. It should always be exactly one pixel wide in screen space. This fix accounts for scaling for the boundary region, and fixes some AA calculations that make wide/AA lines more correct. Change-Id: I30df2d5d96315bf3e7ff30be9735282fd5439a39
penGLRenderer.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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
a17de9b493123f0d6e6d0b842150bf29322b7a88 |
05-May-2011 |
Chet Haase <chet@google.com> |
Revert "Add ability for hierarchyviewer to output displaylist info" This reverts commit b2a4b52e8d5e499d33e2765e8c47851bf0266299.
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
df0a7fbdcff3c683641b7980da50a7d0eebe0876 |
03-May-2011 |
Romain Guy <romainguy@google.com> |
Merge "Allows to render with an OpenGL context inside a TextureView."
|
8f0095cd33558e9cc8a440047908e53b68906f5f |
03-May-2011 |
Romain Guy <romainguy@google.com> |
Allows to render with an OpenGL context inside a TextureView. Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
ayer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
|
99585adeb4167ca357a72eb866f34c1af944f4b9 |
03-May-2011 |
Chet Haase <chet@google.com> |
Line endcaps for AA lines are now antialiased. Also fixed other minor issues with AA and line rendering. Change-Id: Icd4638d27c70e2ee0f28b5d9a2b97d8b29e8ac4d
aches.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
ertex.h
|
ad44445c772efe66fdf063aa8f78d7ae3233570e |
29-Apr-2011 |
Romain Guy <romainguy@google.com> |
Merge "New widget: TextureView Bug #4343984"
|
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
ayer.h
ayerCache.cpp
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
|
75e3ef048d8826f0db58f117403ce412e1d076a7 |
27-Apr-2011 |
Chet Haase <chet@google.com> |
Merge "Fix various hw-accelerated line/point bugs"
|
8a5cc92a150bae38ec43732d941b38bb381fe153 |
26-Apr-2011 |
Chet Haase <chet@google.com> |
Fix various hw-accelerated line/point bugs All accelerated lines are now rendered as quads. Hairlines used to be rendered as GL_LINES, but these lines don't render the same as our non-accelerated lines, so we're using quads for everything. Also, fixed a bug in the way that we were offsetting quads (and not offseting points) to ensure that our lines/points actuall start on the same pixels as Skia's. Change-Id: I51b923cc08a9858444c430ba07bc8aa0c83cbe6a
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
|
9fc27819d75e24ad63d7b383d80f5cb66a577a0d |
27-Apr-2011 |
Romain Guy <romainguy@google.com> |
Correctly compute tex coords for rect layers. Bug #4192695 This change also fixes Javadoc links in the framework. Change-Id: Ia548bcb18baba5d6fe6a4a04a2278e3a3bd465b2
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
|
740bf2bb2e900d3db2292b5909b4b4c6e90320e6 |
27-Apr-2011 |
Romain Guy <romainguy@google.com> |
Apply shaders/filters to text drop shadows. Bug #4318323 This change also fixes the fact that shaders were not modulated by the paint's color when drawing paths. Change-Id: Id88804143aea06c895d4cbcdbe106d660230aa5a
penGLRenderer.cpp
rogramCache.cpp
|
6fca9884b3ea24d5775af4cf713fd81506913a39 |
25-Apr-2011 |
Chet Haase <chet@google.com> |
Minor cleanup in GLrenderer code Changed the way we use bitcodes for one of the rendering options to make the code cleaner. Change-Id: Ifaa965f228dbdad297a40da93bfbe63373986e35
rogramCache.h
|
6cfdf4538049e4b96f50d8c0fe3119664420cc34 |
23-Apr-2011 |
Chet Haase <chet@google.com> |
Fix bitfield bug with vertex shader selection Change-Id: I8bd3005f363afb52e6624806efb3e04c4a56ee18
penGLRenderer.cpp
rogramCache.h
|
5b0200bd47e8a9a4dc8d2e6c3a110d522b30bf82 |
14-Apr-2011 |
Chet Haase <chet@google.com> |
Enable anti-aliasing for hw-accelerated lines Draw anti-aliased lines with OpenGL by constructing a quad with a border that fades out (to mimic fragment coverage). Change-Id: Ib81a3e62d663acdf1b46b401ac4aa7ee9855cc7e
aches.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
ertex.h
|
9c1e23baf5bfbebd1aebbd6d9a18c225325567ce |
24-Mar-2011 |
Chet Haase <chet@google.com> |
Add logging of graphics acceleration info to bugreports Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
ndroid.mk
aches.cpp
aches.h
isplayListLogBuffer.cpp
isplayListLogBuffer.h
isplayListRenderer.cpp
isplayListRenderer.h
|
ad575f4dda3391baf9fcab927e65afbee32e7b95 |
25-Mar-2011 |
Romain Guy <romainguy@google.com> |
Merge "When deleting a path, remove it from the path cache. Bug #4170585"
|
8a40f6a6324387b324c998cd9d6af900f1dca5ab |
25-Mar-2011 |
Chet Haase <chet@google.com> |
Merge "Fix bug with accelerated translucent rendering"
|
1af23a32d879db330eb5a08b21090ec60b604a32 |
25-Mar-2011 |
Romain Guy <romainguy@google.com> |
When deleting a path, remove it from the path cache. Bug #4170585 Change-Id: I6be4d251ceb908c89afe49c2ff85c05f36c73b70
isplayListRenderer.cpp
hapeCache.h
|
f147340bd117c16a67287e2f6ca9ded651bb32b2 |
24-Mar-2011 |
Chet Haase <chet@google.com> |
Fix bug with accelerated translucent rendering There was a bug in the dirty region optimizations when using alpha layers. This prevented translucent objects from being drawn at all in many situations. Change-Id: I23e9bce3595fbd6fe2bda15e8753a0f35baffb82
penGLRenderer.cpp
|
aaceeb0c5be11121a81e44b9633c06fc5c0fcd4d |
24-Mar-2011 |
Romain Guy <romainguy@google.com> |
Use the correct API to query system properties. Change-Id: Ie120dee0e24959d4db3fdb0100b6d8fe7fe46cdb
ebug.h
|
5b7a3150a6dbf193b371854b66fa654937633d3a |
24-Mar-2011 |
Romain Guy <romainguy@google.com> |
Don't crash when omitting paint to drawBitmap() with A8 configs. Change-Id: I3d630554ad82fa846385274d12d0434e890ef45d
penGLRenderer.cpp
|
80bbfb19eefe3cb9be8833b136381cece069e24d |
24-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix shaders generation on IMG GPUs. Change-Id: Id15df2663e41e31f04c8d86b958312341da8101d
rogramCache.cpp
|
c7b25be64f679e78dfa79080b44be18c9974004c |
23-Mar-2011 |
Romain Guy <romainguy@google.com> |
Take fake bold font property into account. Bug #4159731 For real this time! Change-Id: I9cb6d70e68d2b57eb9a6d9a6bca8176967192421
ontRenderer.h
|
ed6fcb034b44d9a6ac2fc72fee6030417811f234 |
21-Mar-2011 |
Romain Guy <romainguy@google.com> |
Add support for drawPoint() and drawPoints(). Change-Id: I01bef50c08ec3160f8d40dc060b2cf6c2e4d7639
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
|
67ac217a81f34ee3d35df84b38f3456843c40706 |
19-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix hairline rendering. Change-Id: Ib6129b446b53678b1b955d8516418370cbae4f10
penGLRenderer.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
penGLRenderer.cpp
penGLRenderer.h
|
b29cfbf768eab959b31410aafc0a99e20249e9d7 |
19-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix paths rendering issues. See ApiDemos, PathEffect and PathFillTypes. Change-Id: I9f9593c1da33d0d013b5b89c86bc5bd71128a192
isplayListRenderer.cpp
isplayListRenderer.h
athCache.h
hapeCache.h
|
40667676e542a9daeafeac9904c30004e8706fd3 |
18-Mar-2011 |
Romain Guy <romainguy@google.com> |
Optimize rect-shaped layers. This brings back an optimization disabled in HC-MR1. This time the correct geometry is generated to avoid unnecessary blending. Change-Id: Id56404dc46bb84c75facc25c18488a690741b592
ayer.h
ayerRenderer.cpp
penGLRenderer.cpp
roperties.h
|
08aa2cbd5e62e7ca140f78f8bea0477a19880fd9 |
17-Mar-2011 |
Romain Guy <romainguy@google.com> |
Send WebView the current transform and whether we're drawing a layer. Bug #3275491 These can be used by WebView to correctly apply alpha and geometric transforms. Change-Id: I2ecd4376d68df886dead3c9240317de33f56828f
penGLRenderer.cpp
|
a30f43624f76a7d49fcb48944c310cb4dbfc6522 |
17-Mar-2011 |
Romain Guy <romainguy@google.com> |
am 72064c66: am b0204d0a: am c2b91a61: Merge "Modify the GL renderer\'s functor to pass the clip to WebView" into honeycomb-mr1 * commit '72064c66e20b9cc86900a9d833c228c345a2b2a4': Modify the GL renderer's functor to pass the clip to WebView
|
80911b851764b073310fd0bffdf4a7db0d8fdd0b |
16-Mar-2011 |
Romain Guy <romainguy@google.com> |
Modify the GL renderer's functor to pass the clip to WebView Change-Id: If5efe399ca58f3000b2883e24e9f3736a2025184
penGLRenderer.cpp
|
89cc2b6422ce28bf3de1ac79b1daa0147b0eca88 |
16-Mar-2011 |
Romain Guy <romainguy@google.com> |
am f8c4c128: am 0f7d2ec3: am 46fc2517: Merge "Fix performance issue in Launcher Bug #3515248" into honeycomb-mr1 * commit 'f8c4c12802b15da068d164fd44c9b9f12e7ed916': Fix performance issue in Launcher Bug #3515248
|
6217a71cd281003a376d998269d577d26a61c206 |
16-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix performance issue in Launcher Bug #3515248 The problem is caused by the fast path when compositing layers on screen. The fast path draws a single quad using glDrawArrays() whereas the general path draws an arbitrary mesh using glDrawElements(). It looks like there's an issue in the driver since glDrawArrays() is significantly slower than glDrawElements() for a quad (6 vertices!) This change just gets rid of the fast path. Change-Id: Ib2361253ec67f44a988270f76c183422f12ce537
ayerRenderer.cpp
penGLRenderer.cpp
roperties.h
|
8390c7cf6838eb8d63b8e38109751e5c7d13599b |
15-Mar-2011 |
Romain Guy <romainguy@google.com> |
am 5c84a134: am a1bd5a5f: Merge "Fix disappearing edges in lists/scrollviews/etc. Bug #4093871" into honeycomb-mr1 * commit '5c84a1341b05e96f2c76da7252ed823ec3121102': Fix disappearing edges in lists/scrollviews/etc. Bug #4093871
|
ad37cd3b5d3de9dd0858af04fbccd102e8ff4b0e |
15-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix disappearing edges in lists/scrollviews/etc. Bug #4093871 This bug was introduced by a change that modified the way fade areas are cleared. The previous change relied on Rect::intersect() to empty the intersected rect when the two rects don't intersect. Unfortunately this is not what intersect() does. The fix is rather simple and sets the layer's bounds to empty when they don't intersect with the clip or the viewport. This has the side effect of ignoring the layer which is the expected result. Change-Id: Icf0038b9a476c53f8eff7084136aba3033d093e6
penGLRenderer.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
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.h
|
3070af08821ee86f06a9cc6b58dbb79c82946b94 |
14-Mar-2011 |
Iliyan Malchev <malchev@google.com> |
frameworks/base: remove LOCAL_PRELINK_MODULE Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481 Signed-off-by: Iliyan Malchev <malchev@google.com>
ndroid.mk
|
f7098ce95dde39a33ca280bd1ef9a13259e7b7e5 |
08-Mar-2011 |
Romain Guy <romainguy@google.com> |
am d00353fe: am bc8a8e8c: Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1 * commit 'd00353fe3191571a6773ef2d11921cfcff260bc4': Add support for partial invalidates in WebView Bug #3461349
|
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
ndroid.mk
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
extDropShadowCache.h
|
1eb12937329d0fcdc29d9c5ab6c549c42d2dcd52 |
03-Mar-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Merge "Add TextLayout Cache"
|
058f47e8455464d7c9d59297a5d4db026c61eafd |
03-Mar-2011 |
Romain Guy <romainguy@google.com> |
Merge "We need to go deeper. Bug #3431907"
|
84962f2fe6ce779c583cc54b11a9de2b6a568117 |
03-Mar-2011 |
Romain Guy <romainguy@google.com> |
We need to go deeper. Bug #3431907 When drawing layers inside a layer, the wrong target FBO would be used. This would happen for instance with app widgets using a ViewFlipper in Launcher. The ViewFlipper uses a fade animation that triggers a call to saveLayerAlpha(), which in turns creates an FBO. If this happened during a scroll, the ViewFlipper's FBO would be composited back directly inside FBO 0, i.e. the screen. This properly initializes the snapshots of hardware layers to use the layer's FBO as the default compositing target instead of using 0. This problem did not happen when drawing hardware layers inside hardware layers because LayerRenderer already takes care of figuring out the FBO it needs to composite into. The bug would occur only with layers generated with saveLayer() and its saveLayerAlpha() variation. Layers inside hardware layers insider layers inside hardware layers now work properly. Change-Id: Ibe852301087f3d414ad8a18436eebc81f8ac66f5
penGLRenderer.cpp
|
40a787f89a6f4c20f2c7fce29e5bc53954305f34 |
03-Mar-2011 |
Romain Guy <romainguy@google.com> |
Properly initialize FBO textures for linear filtering. Change-Id: I67fc4fd760483ef85809be8d6e608cf4f469650f
ayerRenderer.cpp
|
a91320e364140ca7d6b33115d83b75f12fba548e |
03-Mar-2011 |
Romain Guy <romainguy@google.com> |
Merge "Properly initialize FBO textures for linear filtering."
|
4677c5118c29b5621ababc136b749f02a3d543d6 |
02-Mar-2011 |
Romain Guy <romainguy@google.com> |
Merge "Fix problem with glyph cache and textScaleX property"
|
8668f8a633d9299091556c3b2e5ae07be8dce360 |
02-Mar-2011 |
Chet Haase <chet@google.com> |
Fix problem with glyph cache and textScaleX property Glyphs drawn with paints that had different textScaleX values were not being recognized as different, so the glyph cache was being used regardless of different scaleX values. This change adds the scaleX attribute to the native Font object to allow the cache to distinguish between this difference and cache accordingly. Change-Id: I5d8fc26d47460b27dc8e373a473d46b2f1b8dc30
ontRenderer.cpp
ontRenderer.h
|
d313c665e618af3194f504064bcd284fe5368682 |
25-Feb-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add TextLayout Cache - use GenerationCache for caching - move GenerationCache.h from libs/hwui/utils to include/utils - add #define for cache activation / deactivation Change-Id: Ifaf519f0b5e33b087a453e4aa6430162d8438f20
tils/GenerationCache.h
|
d643bb56fdf21973ea75984f0816b7dc024698df |
01-Mar-2011 |
Romain Guy <romainguy@google.com> |
Correctly mark layers dirty when drawing WebView. Change-Id: I7ae0c3cfa0916d8fbeaf01e8da127c621a06a0f4
penGLRenderer.cpp
|
321dce646dc3c2ecfbd72a693d8d9294a6119736 |
01-Mar-2011 |
Romain Guy <romainguy@google.com> |
Avoid UTF-8 conversions and string copies whenever possible. Change-Id: Ie4584417bbb7247e6c567fbfdb819529e548bb8f
extDropShadowCache.cpp
extDropShadowCache.h
|
4368c449d7baa398e67eb4d96467f1de8862c5bb |
25-Feb-2011 |
David Li <davidxli@google.com> |
Merge "Fix mTexCoordsSlot > 0 check to mTexCoordsSlot >= 0"
|
cf28957c89127ccfc82d535903c776124665446a |
25-Feb-2011 |
David Li <davidxli@google.com> |
Fix mTexCoordsSlot > 0 check to mTexCoordsSlot >= 0 0 Is a valid attribute location. Change-Id: Ib24335f48efd6cc59e2ab877569d7d0c95f8490a Signed-off-by: David Li <davidxli@google.com>
penGLRenderer.cpp
|
7b8b75892400745f39bb8d5b5d539091bcfb1e1e |
25-Feb-2011 |
Romain Guy <romainguy@google.com> |
Remove the right entries from the cache when a GC happens. Change-Id: I4649b18c4721a5511a404299e771e675c843407b
athCache.cpp
|
b37cbec6d06578a72bdd9c2caa3fd964ade71c53 |
25-Feb-2011 |
Romain Guy <romainguy@google.com> |
Correctly blend translucent GIF bitmaps. Change-Id: Ifeb2c1d97a4c6dfeb1a7b5b26f1a3153e9f8da7f
penGLRenderer.cpp
extDropShadowCache.h
extureCache.cpp
|
6062c5912dc79704b489fc8c289b78a400ed05ee |
22-Feb-2011 |
Derek Sollenberger <djsollen@google.com> |
Skia Merge (revision 808) This is a companion CL to the one found in /external/skia Change-Id: If81748545435cab20a5d8479329ab333cb973e16
isplayListRenderer.h
penGLRenderer.cpp
esourceCache.cpp
hapeCache.h
|
894df17eee708688c8a6e67941add2017239c790 |
18-Feb-2011 |
Alex Sakhartchouk <alexst@google.com> |
Fixing font renderer attribute slot locations. Change-Id: I6377bb641df7d8372d873c00790189f9a190afd6
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
|
b18d2d0079b4dbf5675ab79b7111b3dfb3cc1ad0 |
11-Feb-2011 |
Romain Guy <romainguy@google.com> |
Dirty layers in the area covered by a drawBitmapMesh() call Bug #3410827 Change-Id: Ic8b4f6201af94497bba86c75819588c78debddc2
penGLRenderer.cpp
|
851beae717dc8e9b66c214d9d6aab2e76d52b086 |
05-Feb-2011 |
Mike Cleron <mcleron@google.com> |
Merge "Properly handle dirty rectangles generated from 9-patches Bug #3409580" into honeycomb
|
c78b5d50f961ac8f696f8282979ae283cacd3574 |
04-Feb-2011 |
Romain Guy <romainguy@google.com> |
Properly handle dirty rectangles generated from 9-patches Bug #3409580 This bug affects anything that draws a 9patch inside a layer, this includes launcher's workspace, all of the fade animations, etc. Change-Id: Icbe8ecd158e3d5f44d07516462de68c5d1fb0a8f
penGLRenderer.cpp
|
5a7e828842c26f64bb6e0ef3e0019e1949b245ee |
04-Feb-2011 |
Chet Haase <chet@google.com> |
Fix crash when Paths are GCd in hw accelerated apps A recent change to optimize path rendering didn't account for the destruction of native objects by the VM finalizer. We may be done with the Java level version before we're done with the native structure that's used by the display list. For example, a drawing method on a View that creates a temporary path to render into the canvas will implicitly create a native structure that is put onto the GL display list. That temporary path may go away, but the native version should stick around as long as the display list does. The fix is to refcount the original native version of the path and only delete it when the refcoutn reaches zero (which means that it is no longer needed by any display list). This is a similar mechanism used for bitmaps and shaders. Change-Id: I4de1047415066d425d1c689aa60827f97729b470
isplayListRenderer.cpp
isplayListRenderer.h
esourceCache.cpp
esourceCache.h
|
f28daffda50042c1b7cbfeb34b4d47741c6e21a8 |
04-Feb-2011 |
Romain Guy <romainguy@google.com> |
Empty the clip rect when intersection is empty. Bug #3410035 Change-Id: I5ceb80514d3b20c9ad230478549ad31ced403d53
napshot.h
|
d63cbd10765e8f48e39b07b15f0a4b70bf853ec8 |
04-Feb-2011 |
Chet Haase <chet@google.com> |
Fix leak in reused display lists Change-Id: I32a9c41abf8f8cbcaaaa6fcc82d296800014a1b2
isplayListRenderer.cpp
isplayListRenderer.h
|
2fc941e4650d618ff6e122f28b616d9032ffa134 |
04-Feb-2011 |
Romain Guy <romainguy@google.com> |
Fixes cache misses and extra allocations. Bug #3421454 Change-Id: If4d5c960a7e4c581a9d213073e658284b4e1c497
aches.cpp
isplayListRenderer.cpp
isplayListRenderer.h
athCache.cpp
extDropShadowCache.h
|
09b7c91de73b59aa3f679b3ae3ba299f82ec9f8a |
03-Feb-2011 |
Romain Guy <romainguy@google.com> |
Allocate layers from the layers pool. Bug #3413433 This change will be beneficial to Launcher to avoid hiccups when swiping pages of icons. When a layer is discarded, it is kept in the layers pool instead of being destroyed right away. This favors memory reuse over allocations. Change-Id: Ifb6944ba83d6ceb67c331527c0827b26ce648eb1
aches.cpp
ayerCache.cpp
ayerCache.h
ayerRenderer.cpp
roperties.h
|
62687ec12cb8e0b1d4044a235b1387b9a8c3b4b4 |
03-Feb-2011 |
Romain Guy <romainguy@google.com> |
Don't clobber the local dirty rect after rendering a layer. Bug #3417254 Bug #3413433 Change-Id: I8045e9ec414ebe4ce4d38124142a00726d2c634d
ayerRenderer.cpp
|
beff8d83ef062975459f149ad0c632a3797d78ce |
02-Feb-2011 |
Romain Guy <romainguy@google.com> |
Fix incorrect dirty rectangle transformation in hardware layers. Bug #3413433 Change-Id: Iba201c7c4b4f11937797f3afcbf20c5a7395be25
ayerRenderer.cpp
|
3a3133d876caf60ebff2176ad75c3dcf0259148d |
02-Feb-2011 |
Romain Guy <romainguy@google.com> |
Update layers based on the dirty region. Bug #3413433 This helps Launcher when a widget updates during a scroll, or when interacting with widgets on the workspace if layers are still turned on. Change-Id: Ic7a42eb34f74f4ae988039754f815e2efd1d1e4f
ayerRenderer.cpp
penGLRenderer.cpp
penGLRenderer.h
|
885153e2d08aadd6333c48c4e98bade637eadc17 |
28-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add more debug info for profiling. Change-Id: I0c74e2aa108142cc6ddac4577ae2d0fe6c0ddb25
penGLDebugRenderer.cpp
penGLDebugRenderer.h
|
a45c056e62be0ca97edbdd6f6660822cf453c886 |
27-Jan-2011 |
Chet Haase <chet@google.com> |
Merge "Fix display List bugs" into honeycomb
|
678e0adbdbac5fa3f25ca8371fdff1b3182f67e9 |
25-Jan-2011 |
Chet Haase <chet@google.com> |
Fix display List bugs Various property setters in View need to invalidate the parent's cache to get redrawn properly when accelerated with display lists. Also, fix logic around display lists and old-style Animations in ViewGroup. Change-Id: I70e1c2fa49e62228ee4a1301a006ce50bda4c305
ayerRenderer.cpp
|
4f09f5417b5c14fd31336dacfff86972e7885a03 |
27-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't draw the same triangles several times. Bug #3388197 Change-Id: Ief1dfd9447f144e9992340a173d2893e5e049129
ayerRenderer.cpp
penGLRenderer.cpp
|
2b1847ea60650a9f68372abe860415f18b55081d |
26-Jan-2011 |
Romain Guy <romainguy@google.com> |
Remove unused API Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
f90f8171e6acb56f9f87093c01fd586f2140697a |
26-Jan-2011 |
Romain Guy <romainguy@google.com> |
Make sure the opaque bitmap is opaque. GL doesn't like being lied to. Bug #3382992 The result still looks wrong but it works as designed, unfortunately. Change-Id: I6108e199fa336cb01faaabf6c75faa3b71c2339b
penGLRenderer.cpp
|
8d2959ddffcdee8b0c2f6387f2e2772c6df474ae |
25-Jan-2011 |
Romain Guy <romainguy@google.com> |
Remove debugging log left by mistake. Change-Id: I7d5165b4b682714940cea9886abeedd3f4858057
penGLRenderer.cpp
|
82d41a515368236e56454bd84023bebd6306f6b7 |
25-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix display list support for shapes. Change-Id: I8b4c9e9ec36266a83c0a53ba3fb6e45d61bbd6d9
isplayListRenderer.cpp
|
8168396d1acbcb5fdd29eeda4c30b2803d5283ae |
25-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix rendering issues with animated layers. Bug #3385247 - The layer's alpha was interpreted in the wrong range 0..255 instead of 0..1 - 9-patches would not correctly dirty the layer region, the generated mesh was incorrect Change-Id: I4916249bedcdb0794929f3796bd17854971efc88
penGLRenderer.cpp
|
7d7b5490a0b0763e831b31bc11f17d8159b5914a |
25-Jan-2011 |
Romain Guy <romainguy@google.com> |
Enable partial invalidates when rendering with OpenGL. Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
isplayListRenderer.cpp
isplayListRenderer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
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
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
a566b7c3aada08d37cf08096c972e3e641bed773 |
24-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix bitmap meshes to work in display lists. Change-Id: Ie226d049840942d9ad9cf58e0c19132f49d62a75
isplayListRenderer.cpp
penGLRenderer.cpp
|
8b2f5267f16c295f12faab810527cd6311997e34 |
24-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for arcs. Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
hapeCache.cpp
hapeCache.h
|
c1cd9ba335b293f11e1082447ef08e474710a05f |
23-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for ovals and stroked rectangles. Change-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
hapeCache.cpp
hapeCache.h
|
f6834478b379856d3e5de92ddce7de0e6ba9fa4a |
23-Jan-2011 |
Romain Guy <romainguy@google.com> |
Always render text underline extra. Bug #3381287 Change-Id: Ibfbc9c51c8dccef216daccc37d835e5dbf143a6a
penGLRenderer.cpp
extureCache.cpp
|
27454a42de8b3c54cdd3b2b2a12446c2c10c8cb9 |
23-Jan-2011 |
Romain Guy <romainguy@google.com> |
Collapse sucessive calls to restoreToCount() in display lists. Change-Id: Icb3d3dc2c579436d375269a9cb0b821a931c5a79
isplayListRenderer.cpp
isplayListRenderer.h
|
4cf6e2f34994f160e1baba205a43c12784dd3e0d |
23-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix potential crash in display lists. Change-Id: I868821cbe69f7e71d93701b9cdb528a2ef796cd4
isplayListRenderer.cpp
|
c88e357d1ed9dadfc0efb3dfbe92f24460674ef5 |
22-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix regression with hardware layers. The renderer was checking whether the layer's region is a rect to draw it with a simple quad. This test was done against the layer's region structure, which was cleared after generating the mesh. Unfortunately Region::isRect() returns true when the region is empty, which was causing the renderer to always use a quad to draw a mesh on screen. Change-Id: If4b874579ee0cedcb67367c9efa5c0c98ca55231
ayerRenderer.cpp
penGLRenderer.cpp
|
c9855a53edfac818dc68714557185977556f849d |
22-Jan-2011 |
Romain Guy <romainguy@google.com> |
Log only 1 line per process when using OpenGLRenderer. Change-Id: Idbdd6b84f31301e58ed53e0d50fd61fece192dfa
aches.h
ebug.h
boCache.cpp
ontRenderer.cpp
ammaFontRenderer.cpp
radientCache.cpp
ayerCache.cpp
hapeCache.h
extDropShadowCache.cpp
extureCache.cpp
|
5a7b466a2b4b7ced739bd5c31e022de61650545a |
21-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for drawBitmapMesh(). Change-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
ff26a0c1c905dc1ec53b1bab860b80f2976d59be |
20-Jan-2011 |
Romain Guy <romainguy@google.com> |
Remove unnecessary code. Change-Id: I83eba3406c26a4028af08b4d4c95ecd02803e75a
aches.h
ebug.h
athCache.cpp
athCache.h
hapeCache.cpp
hapeCache.h
|
ed8f8dd8cf621d6046db7e083f8a36205ed55609 |
20-Jan-2011 |
Romain Guy <romainguy@google.com> |
Merge "Add rounded rects and circles support to OpenGLRenderer." into honeycomb
|
01d58e43ede5ca98cbebdd166f9b0c545032c01b |
20-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add rounded rects and circles support to OpenGLRenderer. Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
ndroid.mk
aches.cpp
aches.h
ebug.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
hapeCache.cpp
hapeCache.h
|
514fb18827186591d66973c2362c859b64b63556 |
19-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't attempt to create empty layers. Bug #3369888 Change-Id: Ic17bbd1c04bbf760cb17d0eb9e6767fd6479948c
ontRenderer.cpp
penGLRenderer.cpp
|
42f3a4b7c35dd1ea1922356eb3611af8cde05179 |
19-Jan-2011 |
Romain Guy <romainguy@google.com> |
Make embedded hardware layers work. Bug #3369474 Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
a3311ed7a9ddd7ecb066f4731ce4bc3bd3ffd939 |
19-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix the fix for 9patches. Change-Id: I66dca835d9d0e9766d887746c3265e4b13ae688b
atch.cpp
|
fdbec3e4828f93bfa5cde758ad0e77b89c5c2ecd |
19-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix 9patches in Launcher Change-Id: Ieedf36ccaab253909b44ed8c222d523867f095be
atch.cpp
|
eb6a4a17a07f1aa41bd58d418b2982cddb97685a |
18-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix 9patches, again... Bug #3365243 Change-Id: Id45a1f1fd5e099b1d691e6064401d3de1b0c5c20
atch.cpp
atch.h
|
2577db1ec135a1470a2c42139772ec97a6c30e78 |
18-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for Paint::setTextSkewX in OpenGLRenderer. Bug #3360888 Change-Id: I42e81a1f10bf7b9ae1c63ca8add1878fd59a1e8a
ontRenderer.cpp
ontRenderer.h
|
807daf7df615b60ce6fc41355aabe3aa353cebab |
18-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for skew() Change-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0
isplayListRenderer.cpp
isplayListRenderer.h
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
|
7444da512680df0c52af39ea521e35adbe0c167d |
17-Jan-2011 |
Romain Guy <romainguy@google.com> |
Yet another fix for 9patch rendering. Bug #3362133 Change-Id: Ia6521d31a8c208a2ad2506a23b6a01e5e442ad86
atch.cpp
atch.h
|
fb13abd800cd610c7f46815848545feff83e5748 |
17-Jan-2011 |
Romain Guy <romainguy@google.com> |
Fix 9patch rendering in ExpandableListView. Change-Id: I60843d61a40b0cb7dd09923cb4489a5a76f20486
ebug.h
ayerRenderer.cpp
atch.cpp
atch.h
|
f219da5e32e85deb442468ee9a63bb28eb198557 |
16-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't blend transparent pixels when rendering layers. With this change, the rendere keeps track of what regions are rendered into and generates a mesh that matches these regions exactly. The mesh is used to composite the layer on screen. Change-Id: I1f342576b9134fb29caff7fb8f4c1da179fe956d
ayer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
1bd1bad0b4a75e633c5edbe802bf6fb4dd765161 |
15-Jan-2011 |
Romain Guy <romainguy@google.com> |
Preapre region tracking in layers Change-Id: Ied1fa0d36c99ef4e33cb8fde7e3106a793db3a4c
penGLRenderer.cpp
penGLRenderer.h
|
43ccf4663c822ddd435b7683cc05221f6169c6c3 |
15-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't crash Launcher on config change. Change-Id: Ibbbd7146c5ff69e9639b433f39041053654d808c
isplayListRenderer.cpp
isplayListRenderer.h
esourceCache.cpp
kiaShader.cpp
kiaShader.h
|
1f1fcb70b6e43a6b4df0dbab75a34429d4744624 |
15-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't delete objects twice... Change-Id: Ibc67aed098c9300cf45eb46abda1938c418808c3
isplayListRenderer.h
|
24c00216687ac87fe531dc4d4168ac0c0ca04ea6 |
15-Jan-2011 |
Romain Guy <romainguy@google.com> |
Copy shaders when recording them in display lists. Change-Id: I3f22dd35f1e31c9e5102955d76548098b7b0cd8d
isplayListRenderer.cpp
isplayListRenderer.h
kiaShader.cpp
kiaShader.h
|
f5106847fc962d57c7d5c586099b4a382f3e1c3d |
14-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't add clipped rects to layer regions. Bug #3350208 Change-Id: I9266862f1d4d57b4598852e8dfa202b5f5099cce
penGLRenderer.cpp
|
1e3a431d07cc0a307c6441e9ae1b17d3bf42323e |
14-Jan-2011 |
Romain Guy <romainguy@google.com> |
Remove debug code Change-Id: Idbc54d16adb4d86185d7196ea0297b5019d14ae4
penGLRenderer.cpp
|
ffac7fc5042296a459d0f5a450dbfe20917093dc |
14-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add debug logs for display lists. Change-Id: I7bae8fd96e9eccb51f29f73e4069b4d3e6bdbdd7
ebug.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
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
aches.cpp
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
ayerRenderer.cpp
ayerRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
c038ea358aadca082198f3effc550d33135bf426 |
13-Jan-2011 |
Romain Guy <romainguy@google.com> |
Reenable region composition pipeline for layers Bug #3341848 It works this time! Change-Id: I0d371d8b2c75c67d4ce5009ddb990fe5e55a0a27
penGLRenderer.cpp
roperties.h
|
1fc883b271707c4206ae20cc9a935d7bd4a7485e |
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add logging to the new layers API. Change-Id: I78b9426eb17de3e775aca9fafe4a50bd9c0785c4
ebug.h
ayerRenderer.cpp
ayerRenderer.h
|
57066eb64c9a190d1afc87bb060bbb2d31e5b86c |
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup GL objects on the correct thread. Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
aches.cpp
aches.h
ayerRenderer.cpp
ayerRenderer.h
|
35f24545e56caaff067f7dcd550ad4073efcface |
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Disable the region compositing pipeline for layers. This composition mode is affecting Gmail in a bad way. Disabling until I can figure out the problem. Change-Id: I00e657ea2d05fc7b4a606242d19dc84dd88c1e35
roperties.h
|
a9d0711392689a94b9f76eb0c16d0718c005603e |
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't break the build! Change-Id: I42f68c7b023c03adeedc4e979e5f4705188ee9f4
ayerRenderer.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
ndroid.mk
isplayListRenderer.cpp
isplayListRenderer.h
ayerRenderer.cpp
ayerRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
32228288a957f3823df92365bc709ad6f42b012e |
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Solve translucency issue when drawing paths. Change-Id: I68ae0e2ccddaca2f76b5b2dd3e3cf1277fddaad6
athCache.cpp
|
7230a74e9a36dfc6c4346c14e325bf07cd05b380 |
11-Jan-2011 |
Romain Guy <romainguy@google.com> |
Composite layers as regions. This change detects what area of a layer was drawn into and generates a mesh to match this area exactly. This can be used to avoid blending empty pixels when the layer is composited. This change also adds proper layers support to lines rendering and implements layers composition in a more readable way. Change-Id: I4a5588b98b19bd66891ebdc39631b193c5e31999
aches.cpp
penGLRenderer.cpp
roperties.h
|
a07105b7d2a27e6d69407bf96ddb773bddb5e553 |
11-Jan-2011 |
Romain Guy <romainguy@google.com> |
Better logging of out of memory errors in OpenGLRenderer. Change-Id: I6b72a084340d8d4b6e0b0a100ed4314d09d441ef
penGLRenderer.cpp
|
171c592f0b7066acf279863c8a52ddabea49d3db |
06-Jan-2011 |
Romain Guy <romainguy@google.com> |
New layers API for Views. This API can be used to back a view and its children with either a software layer (bitmap) or hardware layer (FBO). Layers have various usages, including color filtering and performance improvements during animations. Change-Id: Ifc3bea847918042730fc5a8c2d4206dd6c9420a3
ayer.h
ayerCache.cpp
penGLRenderer.cpp
|
5977baa1fa24125c148a72699b53e62abaf08960 |
06-Jan-2011 |
Chet Haase <chet@google.com> |
Reuse of native display list objects Change-Id: Ia4553e23930ad20e56c11faa7809be788a1ad4bb
isplayListRenderer.cpp
isplayListRenderer.h
|
325a0f969c1d803d7e39a9caee8cc3d400350659 |
06-Jan-2011 |
Romain Guy <romainguy@google.com> |
The font cache should respect the fake bold flag. Change-Id: Ie4edc9ba46610edde831b55e769944e9a19bdcb5
ontRenderer.cpp
ontRenderer.h
|
f890fab5a6715548e520a6f010a3bfe7607ce56e |
20-Dec-2010 |
Patrick Dubroy <dubroy@google.com> |
Ensure bitmaps aren't freed while referenced from a display list Also removes the reference queue finalizers. They aren't necessary anymore now that Bitmaps are allocated in the heap.
esourceCache.cpp
|
b146b1214ef6e4fc75d98779b22434335764cfdb |
16-Dec-2010 |
Romain Guy <romainguy@google.com> |
Fix text shadow rendering issue. Change-Id: Ic9eb0d38ad684d2f2c95a4f586f865db911cb872
penGLRenderer.cpp
|
8d0d4783a0206c5884bf0b958d181f450ba5207d |
15-Dec-2010 |
Romain Guy <romainguy@google.com> |
Cleanup OpenGLRenderer::drawLines() Change-Id: I3545a616e964335897c6e4148c431a07a2ce2a8b
penGLRenderer.cpp
penGLRenderer.h
|
982b71bf4713d57b0fdb9acaaf9f9465a817aacb |
15-Dec-2010 |
Patrick Dubroy <dubroy@google.com> |
Merge "Allocate bitmap backing buffers in the Java heap."
|
e4ac2d6b5723c95e648c489b187ddde449452c13 |
01-Dec-2010 |
Patrick Dubroy <dubroy@google.com> |
Allocate bitmap backing buffers in the Java heap. Change-Id: I60f6ccff13357c1c518e9d56b02fe0171637edd1
esourceCache.cpp
|
86568198f2c83d4ce5c4cd692eda074ba9de9ed2 |
15-Dec-2010 |
Romain Guy <romainguy@google.com> |
Continue cleanup refactoring in OpenGLRenderer. Methods that still need refactoring: - drawLines - composeLayerRegion Change-Id: If546641adf598d49c330988803667264fda50ac2
penGLRenderer.cpp
penGLRenderer.h
|
fa7952dbb86a8aff0c90418aa77dddee3802c23a |
14-Dec-2010 |
Romain Guy <romainguy@google.com> |
Colors are in the [0..1] range, not [0..255] This fixes rendering in YouTube and other applications. Change-Id: Ib5f3df632cde97374113ed42f895f136b2796373
penGLRenderer.cpp
|
5536841e5452172e7772d84ad5f4a2fc7059c9dd |
14-Dec-2010 |
Romain Guy <romainguy@google.com> |
OpenGLRenderer would not render colors < ALPHA_THRESHOLD Bug #3282805 This bug was introduced with a previous refactoring. This also fixes issues with setting the alpha when drawing bitmaps. Change-Id: Id47641d26a4536c7e540041f92243bf6db9fc96d
penGLRenderer.cpp
penGLRenderer.h
|
70ca14e08ae197547ac412e8a1210e1ebdfb2eb1 |
14-Dec-2010 |
Romain Guy <romainguy@google.com> |
Refactor OpenGLRenderer to simplify OpenGL drawing code. This is the first step of the refactoring: - drawColorRect - drawTextureMesh Remaining methods to refactor: - setupTextureAlpha8 - drawPath - setupShadow - drawText - drawLines - composeLayerRegion Change-Id: I0fced6a05b6b6eee10ee7cef0c3fbdaa6cefab20
penGLRenderer.cpp
penGLRenderer.h
rogramCache.h
|
32963c393a804db2cd86c24443c2f1c6eee6064b |
10-Dec-2010 |
Romain Guy <romainguy@google.com> |
Ignore empty layers. Change-Id: Ib2f99cdab654881fe079306e27d87c5ef9535700
penGLRenderer.cpp
|
25dc3a7dbac2f90f5144035e9c8ed99c09cc3132 |
10-Dec-2010 |
Romain Guy <romainguy@google.com> |
Correctly compare strings in UTF-8 instead of UTF-16 Bug #3272858 Change-Id: Idacd5d7c2c052b4834a8ddb5906ab32b3f548f73
atchCache.h
roperties.h
extDropShadowCache.cpp
extDropShadowCache.h
|
af636ebf5feb2837683fbfe965040cb706b32ec1 |
10-Dec-2010 |
Romain Guy <romainguy@google.com> |
Don't set the invisible flag when saving an empty layer. Bug #3270371 Change-Id: I65e85671c2fb70d74553c91213e5e759e0ac64ee
penGLRenderer.cpp
napshot.h
|
a957eea78557cb47a91d44d9e6ee641c58cf1c07 |
09-Dec-2010 |
Romain Guy <romainguy@google.com> |
New, better line drawing implementation. Bug #3207544 Bug #3225875 Change-Id: Ibdd1dfc64e01625d5c441f39eb0aa3ee647f6ff5
aches.h
ine.h
penGLRenderer.cpp
ector.h
|
67f27952c1bcb2230beef9b5ca0bf42edad436a9 |
08-Dec-2010 |
Romain Guy <romainguy@google.com> |
Correctly release the OpenGL Canvas on EGL error. Change-Id: Ib31fd8445f7ce5f7aa7e0205de0e7db80d024fc2
rogram.cpp
rogram.h
rogramCache.cpp
|
8ab4079ca27e36e5c584495bcd71b573598ac021 |
07-Dec-2010 |
Romain Guy <romainguy@google.com> |
Fix 9patch rendering Bug #3253396 Some quads were incorrectly assumed to be degenerate. Change-Id: I9155699edc3424afe9d5a131886bb9966d46b109
penGLRenderer.cpp
atch.cpp
atch.h
|
3a3fa1be9ab8e11edc660ecb35ae21ae0b5c8cc2 |
07-Dec-2010 |
Romain Guy <romainguy@google.com> |
Draw text decorations correctly. Change-Id: I237c0ca8bfe9f233e62476e80f72bcea4359398e
penGLRenderer.cpp
|
6620c6d413f972819fada92b574f0fa9e96d36c1 |
07-Dec-2010 |
Romain Guy <romainguy@google.com> |
Correctly render text when coordinates are not integers. Bug #3225632 Change-Id: If09759e6e95eb2885362ab3ba088cf5aae64c7bf
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
|
a5ef39a21683189e5906c9f252b997f0508e350d |
04-Dec-2010 |
Romain Guy <romainguy@android.com> |
Don't render degenerate triangles in 9patches. Bug #3251983 Change-Id: Ib0b38a7b8111542372f4c4c106b6321c26fe4ad4
ebug.h
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
roperties.h
|
bd41a11078e94b755c8b6f78e1e4242c715fccd4 |
03-Dec-2010 |
Romain Guy <romainguy@google.com> |
Correctly index transparent quads when generating 9patch meshes. Bug #3250026 Change-Id: Id7e051e9ed81f6b4e7748756503d8055ac7d531a
atch.cpp
|
5e3af5fcba360916f38753bd505e47040fc87729 |
02-Dec-2010 |
Romain Guy <romainguy@google.com> |
Rescale ColorMatrix' vector to the [0..1] range Bug #3246354 Change-Id: Idea7a1e6633c71119628315d65315076bc445eb0
kiaColorFilter.cpp
|
6f72bebe92a4db7b5dc83f4ac5b5fd02e3b4e2cd |
30-Nov-2010 |
Romain Guy <romainguy@google.com> |
Update 9patch structure when rendering with different divs/colors. Bug #3221488 Change-Id: Ifc9e42a991d630feadc9e8032322f37504d09d6d
ine.h
penGLRenderer.cpp
atch.cpp
atch.h
atchCache.cpp
atchCache.h
|
5cafc52fb10bd05c587a7dec41c953c0722f302a |
23-Nov-2010 |
Chet Haase <chet@google.com> |
Fix hang in native bitmap recycling due to nested mutex locks Change-Id: Ic37d5408ddb3f68aba6520fb0c78ffde91dfbe62
esourceCache.cpp
esourceCache.h
|
e7d2295c06ef9b9df6336cbff23007a13fb3f6e4 |
12-Nov-2010 |
Chet Haase <chet@google.com> |
make ResourceCache for display lists thread-safe Change-Id: I41885b4ae249d7d7c000bab17bf32340ba85ab3a
esourceCache.cpp
esourceCache.h
|
fe48f65922d4a3cc4aefe058cee5acec51504a20 |
12-Nov-2010 |
Romain Guy <romainguy@google.com> |
Free resources only from the GL context thread. Bug #3179882 Resources were freed following garbage collections on a worker thread. This worker thread had no EGL context, which would cause the renderer to incorrectly assume that the memory was liberated. Change-Id: Ifdb51f94ddf42641e8654522787bfac532976c7c
aches.cpp
aches.h
isplayListRenderer.cpp
radientCache.cpp
radientCache.h
penGLRenderer.cpp
athCache.cpp
athCache.h
esourceCache.cpp
extureCache.cpp
extureCache.h
tils/GenerationCache.h
|
01d065795794fa56be660d6346e4830eb7e90a41 |
11-Nov-2010 |
Romain Guy <romainguy@google.com> |
Reduce number of GL calls when drawing with shaders. Change-Id: I27aca9f6d381d5c7e363d90a93225d185f2ff4e3
penGLRenderer.cpp
kiaShader.cpp
kiaShader.h
|
e190aa69756aecfaffabdd4c6d32cb6b3220d842 |
11-Nov-2010 |
Romain Guy <romainguy@google.com> |
Add new runtime debug flags. Change-Id: I07955de166a89b5053c6c13f250bb3e2936ca86e
aches.cpp
aches.h
penGLRenderer.cpp
athCache.cpp
athCache.h
roperties.h
extureCache.cpp
extureCache.h
|
c15008e72ec00ca20a271c3006dac649fd07533b |
10-Nov-2010 |
Romain Guy <romainguy@google.com> |
Move all debug flags in a single place. This change also adds a new memory usage flag. When turned on, the following is printed after every frame: D/OpenGLRenderer( 3723): Current memory usage / total memory usage (bytes): D/OpenGLRenderer( 3723): TextureCache 3766680 / 20971520 D/OpenGLRenderer( 3723): LayerCache 3538944 / 8388608 D/OpenGLRenderer( 3723): GradientCache 135168 / 524288 D/OpenGLRenderer( 3723): PathCache 41180 / 4194304 D/OpenGLRenderer( 3723): TextDropShadowCache 0 / 2097152 D/OpenGLRenderer( 3723): FontRenderer 0 262144 / 262144 D/OpenGLRenderer( 3723): FontRenderer 1 262144 / 262144 D/OpenGLRenderer( 3723): FontRenderer 2 262144 / 262144 D/OpenGLRenderer( 3723): Other: D/OpenGLRenderer( 3723): FboCache 2 / 12 D/OpenGLRenderer( 3723): PatchCache 31 / 512 D/OpenGLRenderer( 3723): Total memory usage: D/OpenGLRenderer( 3723): 8268404 bytes, 7.89 MB This should help tracking possibe memory issues. Change-Id: I83f483ca1d2dbef904829bce368e33fe5503e8d6
aches.cpp
aches.h
ebug.h
ontRenderer.h
ammaFontRenderer.h
ayerCache.h
penGLRenderer.cpp
penGLRenderer.h
atchCache.h
athCache.h
rogramCache.cpp
rogramCache.h
extureCache.h
|
f70a7e34953438dd70573dbb6fd3dd34a1bce831 |
10-Nov-2010 |
Romain Guy <romainguy@google.com> |
Fix possible crash when texture is NULL in the drop shadow cache. Change-Id: I2142c55dbcfebcdf013a7f4ae04b266a60f5ce8a
extDropShadowCache.cpp
|
9e10841c27d973b930e1b49a099c69d866659505 |
09-Nov-2010 |
Romain Guy <romainguy@google.com> |
Correctly remove unused paths from the cache. Change-Id: I41d9334dcd9871634037344ab49bf69383498161
isplayListRenderer.cpp
athCache.cpp
athCache.h
extureCache.cpp
extureCache.h
|
0d200833fdc53f9796698f97c18cefc4a1b82df2 |
05-Nov-2010 |
Chet Haase <chet@google.com> |
Fix GL rendering of translucent surfaces GL renderer was not initializing scissor correctly for translucent surfaces, resulting in invisible window backgrounds in some cases like fading popup windows Change-Id: I87a964986e1ba2c4f59708c8892c5fa71903e6fc
penGLRenderer.cpp
|
0fe478ea04720a57ef3919dbc23711bc7eba517f |
08-Nov-2010 |
Romain Guy <romainguy@google.com> |
Support nested display lists. Change-Id: I3815a2832fc0f722c668ba8f51c5f177edb77c94
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
7f78b0c3ae6222b39f6240524390de9764f21764 |
04-Nov-2010 |
Romain Guy <romainguy@google.com> |
Lines would not set the scissor before drawing. Lines were not drawing in Calendar because they were getting clipped by the previous clip rectangle. This change simply updates the scissor as needed. This change also reduces the number of state changes in GL. Change-Id: I41ab13dca3a33cfa6d1a44371c48852ab418b04e
penGLRenderer.cpp
penGLRenderer.h
|
1041aded2df45094c36831028245fb7c5e9b67b7 |
04-Nov-2010 |
Romain Guy <romainguy@google.com> |
Fix possible rendering issue when drawing a path. Change-Id: I25f2e609589f0dd9294bcf7930de6398c0d7e377
athCache.cpp
|
e45362cad94c014d8b3765cb102db0f8c0d92500 |
04-Nov-2010 |
Romain Guy <romainguy@google.com> |
Fix rendering bug with saveLayerAlpha/drawColor. drawColor() was not calling quickReject because it fills the clip region and thus always passes the test. However, quickReject also checks whether the current layer is invisible. drawColor() now performs the same check and avoid drawing inside an invisible layer. Change-Id: I63d0e9a8a9c0fba774f0f5c3870d58e6ed96fbd1
penGLRenderer.cpp
|
5ec9924d24495822b589f1a17996655d66273b30 |
04-Nov-2010 |
Romain Guy <romainguy@google.com> |
Fix rendering issue with layers. Change-Id: I1d511ab2707000762a942d32c300a9944ab38603
penGLRenderer.cpp
|
5b3b35296e8b2c8d3f07d32bb645d5414db41a1d |
28-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file. Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
ndroid.mk
aches.cpp
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
xtensions.h
boCache.h
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.h
radientCache.h
ayer.h
ayerCache.h
ine.h
atrix.cpp
atrix.h
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
atchCache.h
athCache.h
rogram.cpp
rogram.h
rogramCache.h
roperties.h
ect.h
esourceCache.h
kiaColorFilter.h
kiaShader.h
napshot.h
extDropShadowCache.h
exture.h
extureCache.cpp
extureCache.h
ertex.h
tils/Compare.h
tils/GenerationCache.h
tils/SortedList.h
tils/SortedListImpl.h
|
f887594d0e83542d8b374d294b62a1bff606478f |
27-Oct-2010 |
Romain Guy <romainguy@google.com> |
Merge "Remove unnecessary GL calls."
|
746b7401ceb86b5f2805f8c0d3b39ac739152015 |
27-Oct-2010 |
Romain Guy <romainguy@google.com> |
Remove unnecessary GL calls. This change batches calls to glScissor() and removes extra GL queries and glActiveTexture() calls. Change-Id: I1cd079d314f87cd9c088f95c8d4909c2f860f6aa
aches.cpp
aches.h
penGLRenderer.cpp
penGLRenderer.h
|
ad93c2bb63dfc813b2eefa1043aa63afbddce655 |
23-Oct-2010 |
Chet Haase <chet@google.com> |
Optimizing ColorFilter in display lists Change-Id: Ie4d5e5b0bc45e0ce47bba144049303c270762e54
isplayListRenderer.cpp
isplayListRenderer.h
esourceCache.cpp
esourceCache.h
kiaColorFilter.cpp
kiaColorFilter.h
|
dcaff67a807de225bc7e5b6dccc98fa15b329512 |
26-Oct-2010 |
Chet Haase <chet@google.com> |
Merge "DisplayList optimizations and fixes."
|
d98aa2de9ab18e09c2be1997f41212740f51f6e6 |
26-Oct-2010 |
Chet Haase <chet@google.com> |
DisplayList optimizations and fixes. We now use a copy of SkPaint objects to avoid having it changed from under us. We reuse copies that have not changed. We also copy the SkMatrix every time to avoid the same problem. Change-Id: If3fd80698f2d43ea16d23302063e0fd8d0549027
isplayListRenderer.cpp
isplayListRenderer.h
esourceCache.cpp
esourceCache.h
extureCache.cpp
extureCache.h
|
9bca4793a33d2714b306d69ceb870925a588fe71 |
26-Oct-2010 |
Romain Guy <romainguy@google.com> |
Small cleanup. Removes unnecessary forward class declaration, make Caches::currentBuffer private instead of public. Change-Id: Idba6325c8c602d89239e667cb8ec87e7943f8e75
aches.cpp
aches.h
atch.cpp
|
3e3ba155fc0ef7a7f40f06762240d9ba22f62b19 |
26-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't change texture unit when not needed. Change-Id: Ifa84426d234f2122402cb13533cb5964f1ce95ec
penGLRenderer.cpp
|
8164c2d338781c3a3c4a443941070dca5d88f2a7 |
26-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't change textures wrap modes on every draw. Change-Id: If6d3f313778cc7f3e803a063338539c8b3e165e3
penGLRenderer.cpp
penGLRenderer.h
kiaShader.cpp
kiaShader.h
exture.h
|
715a89ebbf3f8c7a4621fc3a1396e6c1539bea28 |
24-Oct-2010 |
Chet Haase <chet@google.com> |
Merge "Fix Caches singleton to avoid resource leaks"
|
dd78ccacff83f0714ad90be98b58ad85f5d08c66 |
23-Oct-2010 |
Chet Haase <chet@google.com> |
Fix Caches singleton to avoid resource leaks The declaration of Singleton objects must be in CPP files (not header files) to avoid creating separate instances of what is supposedly a single object. Change-Id: Ie903384824a458b5572f3ce5b6cfb359c18a9c44
ndroid.mk
aches.cpp
aches.h
|
ae88e5e8e9cb6c9539314c4360c5b20f8ec1fefc |
23-Oct-2010 |
Romain Guy <romainguy@android.com> |
Fix rendering issue with layers. A change was made earlier in the renderer to not snap the current clip rect on every clip operation. The clip rect must not be snapped to pixel boundaries before being used for pixel precision operations. Some operations were doing this correctly, others were not. For instance, a layer was always created by rounding to the correct pixels, but composing a layer was done with a non rounded clip, thus resulting in slightly odd behaviors. Change-Id: I31c2cf0a343450470bcd449c3f13fe37648b9c7c
penGLRenderer.cpp
ect.h
|
58ae6db4ff8a9d0910e1183ee8be9a038a2712a6 |
22-Oct-2010 |
Romain Guy <romainguy@android.com> |
Don't use two different variables to refer to mSnapshot. Change-Id: Ie4a0616d2fe0b040ac14b734a9ddf77bf1f35b0c
penGLRenderer.cpp
|
ae517591d96be39f5f18a1716c856ade13a8bcc7 |
22-Oct-2010 |
Romain Guy <romainguy@android.com> |
Don't perform glCopyTextImage with coordinates outside the buffer. Bug #3122179 Change-Id: I91ed397e9e553a8eeb69d82d0c5b1e49a3cdd5ff
penGLRenderer.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
ndroid.mk
aches.h
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
esourceCache.cpp
esourceCache.h
kiaShader.h
|
50c0f093d942a59d4e01b2c76d26c0e9d6ed796c |
19-Oct-2010 |
Romain Guy <romainguy@google.com> |
Solve rendering issue with embedded WebViews. Bug #3094017 The blending mode was not appropriately set after WebView released the context. Change-Id: Ib36d48e82c12f6d131dd5a0bcde9106925b8da63
penGLRenderer.cpp
|
2665b85b2bd08faabf7c520a622a0e4d3465245f |
19-Oct-2010 |
Romain Guy <romainguy@google.com> |
Small cleanup. Change-Id: I0e5b9154a2d93af793d62f462d68cb7c6c3f6d75
atch.cpp
atch.h
athCache.h
tils/Compare.h
|
03750a067e818ca7fbd0f590e2ff6a8fded21e6c |
18-Oct-2010 |
Romain Guy <romainguy@google.com> |
Use VBOs to render most geometries. Change-Id: I4360dc4fe5693ab425450c107282b2c22db4dca7
ndroid.mk
aches.h
ine.h
atrix.cpp
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
atchCache.cpp
athCache.h
tils/Compare.h
|
054dc1840941665e32036f9523df51720ad069c8 |
16-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't draw entirely transparent 9patch meshes. Change-Id: If3e62e18b8e0dbde8a22f8ede2889b86500a4dc2
ontRenderer.cpp
penGLRenderer.cpp
atchCache.cpp
|
9d13fe25f4f10b25776b1dc5c858f9ebb0b28b30 |
16-Oct-2010 |
Romain Guy <romainguy@google.com> |
Fix text rendering artifact. Change-Id: I50f47207846e4208d363dde4e8f5f1a0f23d2d75
penGLRenderer.cpp
|
e5ebcb0107a939395e03592fd44c746cd09e311d |
15-Oct-2010 |
Romain Guy <romainguy@google.com> |
Fix clipping issue in StackView. Change-Id: I7ec28f25c3993a2bd7ef6399ba1923839d239905
atrix.cpp
penGLRenderer.cpp
|
d2a1ff003b9b1212c9ab4b5f679b5b097720a359 |
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Fix text rendering issue. The local clip rect could be off by one pixel when a 3D transform was applied to a text primitive. This would cause small rendering glitches in Launcher in particular. Change-Id: I1254f6a5838c26810cbe969b096679d40b8dd504
penGLRenderer.cpp
napshot.h
|
4afdf666fdb034834c48445570ed9d6f4133fc71 |
14-Oct-2010 |
Romain Guy <romainguy@android.com> |
Color filters were ignored by the program cache fast path. Change-Id: I08f2f02d356234a674be778d088e0558fd49c849
rogramCache.cpp
rogramCache.h
|
93d2361c6d294c390cb5c4a13bd1b88dcd465fd7 |
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Fix layer rendering glitch. Change-Id: If2f987fe5526fc88743ca3e91edde4f8232ff658
penGLRenderer.cpp
ect.h
|
909cbaf8f92d69f507bbdba9e5aa960d1e6c7a1f |
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't draw TextView's alpha layers when not needed. Change-Id: Iedf42cbc62d727f18500c78fcccf2d081a761fec
penGLRenderer.cpp
|
5d794412e3e429e47404395badcd11b0b8639e8b |
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Small potential performance improvement for fonts rendering. Change-Id: If59c1e7803b84340fbc8b31ce6171ef0e5dc6189
ontRenderer.cpp
|
99bcdc52dcb365ed7d8cfa13540fb33fbcbbac9d |
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Return identity matrix when rendering in an FBO. Change-Id: I57438e745b30c8cfe16c269f3cafcd719049d705
penGLRenderer.cpp
penGLRenderer.h
|
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
penGLRenderer.cpp
penGLRenderer.h
|
eb07af687319a0f52c219c3c0c1b73162fce9d04 |
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize layer clears. Don't clear the entire texture when we use textures that are bigger than the layer itself. This will save time during the glClear() calls. Change-Id: I06f3259ba62affb3708ba69ea41418832c7e1a65
penGLRenderer.cpp
|
e91080581f467d55913a8c5ab53dedc2dab2e5b6 |
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Tweak layers caching for better performance in Launcher. Change-Id: Ia6e67699d98f69c8a93385b3ecbdd814c7b16921
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
roperties.h
|
1f114a55b5eaaa81bd302c9ad851362512b61e2f |
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Remove logging. Change-Id: Ibcb11d704653d8875e22629ea39e4ee2ebce3c22
atchCache.h
|
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
isplayListRenderer.cpp
isplayListRenderer.h
atrix.cpp
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
atchCache.cpp
atchCache.h
athCache.h
tils/Compare.h
|
9db91243c5ace4421091557b76a0b1cbd2312fec |
12-Oct-2010 |
Romain Guy <romainguy@google.com> |
Simplify black texture fragment shader. Change-Id: If2d43f92f4c98ec128692761a670b0f31207a3c0
rogramCache.cpp
|
c00972bb162779e52d1b0d8f662a9f6033bf9182 |
12-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't recreate a new texture every time we draw a layer. Change-Id: I3c28aff5acffc7c6f1ac74805869725426c62d28
penGLRenderer.cpp
|
dbc26d2ba13f80a7590c57de2d80530d96832969 |
12-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't draw fully transparent views/primitives. Change-Id: Icd7d8ef1f57b51a24faf32f7004125e6300d4fdc
penGLRenderer.cpp
rogramCache.h
napshot.h
|
707b2f78ccaa09965d7e030fda3a883ce9b75ea8 |
12-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize GLSL shaders. Change-Id: I9a5e01bced63d8da0c61330a543a2b805388a59d
penGLRenderer.cpp
rogram.cpp
rogram.h
rogramCache.cpp
rogramCache.h
|
7537f856f9076a84db04d8de447f6527b67166fd |
11-Oct-2010 |
Romain Guy <romainguy@google.com> |
Improve performance of linear gradients. Change-Id: If1caee31fc045dea13a4c5c10f25f2ffd325c4f8
rogramCache.cpp
|
21b028a44f3e0bd9b0f0432b8b92c45f661d22a4 |
09-Oct-2010 |
Romain Guy <romainguy@google.com> |
Move GenerationCache to the utils directory. Change-Id: I210ffa8f1d76a102bb7d971c649c20a74d03fbe6
enerationCache.h
radientCache.h
atchCache.cpp
athCache.h
extDropShadowCache.h
extureCache.h
tils/GenerationCache.h
|
2728f961614a385df1f056fc24803a9f65c90fab |
09-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't update 9patches on every frame. Change-Id: I7ffb2365f83e0453e7d0a0cdcb3fc9308b305238
penGLRenderer.cpp
atch.h
atchCache.cpp
atchCache.h
roperties.h
|
8550c4c7b5952b7a4e1e0ede95c9492d03099a13 |
09-Oct-2010 |
Romain Guy <romainguy@google.com> |
Better cache for layers, reduce memory usage and increase framerate. Change-Id: I5ff864a361db4791bd5ff6be716f7ce692ef572d
ndroid.mk
enerationCache.h
ayer.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
roperties.h
tils/SortedList.h
tils/SortedListImpl.cpp
tils/SortedListImpl.h
|
14830948d02f768c41b97b7a8d15e1b3cab78267 |
08-Oct-2010 |
Romain Guy <romainguy@google.com> |
Add 3D transforms support to all gradients. Change-Id: I61409edd00dab3a11684a3f5e4f7df0afc734758
rogramCache.cpp
kiaShader.cpp
kiaShader.h
|
6b7bd24659fb175fe1f0e97c86c18969918b496a |
07-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't clear the framebuffer when not needed.
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
|
e3095e0c1e2a4a4f34f741aa386eae56536ca5aa |
07-Oct-2010 |
Romain Guy <romainguy@google.com> |
Apply 3D transformations to gradient shaders. This fixes only linear gradients. Sweep and radial gradients, as well as bitmap shaders, will be fixed in a future commit. Change-Id: I4eee4ff62e9bbf3b9339fc111a780167449ecfef
rogramCache.cpp
kiaShader.cpp
kiaShader.h
|
eb99356a0548684a501766e6a524529ab93304c8 |
06-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize saveLayer() when the clip flag is set. This speeds up applications, especially Launcher.
boCache.cpp
boCache.h
enerationCache.h
ayer.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
napshot.h
|
7adaf3d1aa18c7e521f7154e545fe52d329763c3 |
05-Oct-2010 |
Romain Guy <romainguy@google.com> |
Add support for paletted textures. Change-Id: I36e6069bd58f78c609cdd1f3e4560c98f128f48e
extureCache.cpp
extureCache.h
|
bdb801ca993bcccbf2a4c2401d1720c3fa523777 |
05-Oct-2010 |
Romain Guy <romainguy@google.com> |
Remove logs to reduce logcat spam. Change-Id: I5fc295b05b5d82bb86827b88e94dd51e8bcdc7d3
penGLRenderer.cpp
|
11fd654a90359043e17ac78c1a3d6578c38b5c42 |
05-Oct-2010 |
Romain Guy <romainguy@google.com> |
Reorder logs. Change-Id: I4adbd53662e1f509c860898c8ff9d19eaabd6d5b
aches.h
|
3b3e457c270a4bc5fe3047e815b5867d99b36f8a |
04-Oct-2010 |
Romain Guy <romainguy@google.com> |
Snap the clip rectangle to pixel boundaries. Change-Id: Iac2765303552f385995fe46e219af456e0501da7
napshot.h
|
e8cb9c14309b0f01c0159efdf9a7198f44a62642 |
04-Oct-2010 |
Romain Guy <romainguy@google.com> |
Apply bilinear filtering on text only when necessary. Change-Id: Ic903f4b5d30e9c92528c6291941896efe4729ee3
ontRenderer.cpp
ontRenderer.h
atrix.cpp
atrix.h
penGLRenderer.cpp
|
1de1083e98cde9bdd5e8539dbc54fdea6531906e |
03-Oct-2010 |
Romain Guy <romainguy@android.com> |
Initialize font texture cache. Now that text is renderer using bilinear filtering, each character is surrounded by a 1 pixel border. This border needs to be initialized to a transparent value. Change-Id: I26d3195db4bd576ac1f2da4c8f8e4dd18768bf12
ontRenderer.cpp
|
7975fb6d12cb1eb96b75e3a563627cd4c4081bd6 |
02-Oct-2010 |
Romain Guy <romainguy@google.com> |
Apply bilinear filtering to text. Change-Id: I2c81ad657ee2a11a2139e0b11ae3749db54c0749
isplayListRenderer.cpp
isplayListRenderer.h
ontRenderer.cpp
ontRenderer.h
|
0bb5667b4ef91fefd0500fae0186789d15d54e0e |
01-Oct-2010 |
Romain Guy <romainguy@android.com> |
Fix INVALID_OPERATION error with layers rendering. This change is a workaround for a driver bug that causes an INVALID_OPERATION to be thrown on every glCopyTexSubImage() call. This change also adds a new test for gradients local matrices. Change-Id: I41b7437481026702d0a3a9677f099b4557c0a84e
ayer.h
ayerCache.cpp
penGLRenderer.cpp
|
d79991277043d6bdbd90bb63fd8aff73ef9e06a5 |
01-Oct-2010 |
Romain Guy <romainguy@google.com> |
Make simple paths made of lines work. Bug #3041098 Change-Id: Ife9c3f01ded10e2bb35b1cdf1a54734d8347fee4
athCache.cpp
|
b051e895ccb696604349c6c5efe7c4747e1d1ab6 |
29-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add display lists caching. Change-Id: Iac3a248a81ed8cb076a83ef9d186b8ebba685b4c
isplayListRenderer.cpp
isplayListRenderer.h
penGLRenderer.h
|
4aa90573bbf86db0d33a3a790c5dbd0d93b95cfe |
27-Sep-2010 |
Romain Guy <romainguy@google.com> |
Adding display lists to the GL renderer (checkpoint.) Change-Id: Iaa49757600a53b39369dbb23f8c3feab282518e6
ndroid.mk
isplayListRenderer.cpp
isplayListRenderer.h
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
atchCache.cpp
atchCache.h
|
e2d345ea67e2960b37bfdc0fc8626d1bfa747404 |
25-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add debug mode to measure performance. Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
ndroid.mk
aches.h
boCache.cpp
boCache.h
ontRenderer.cpp
penGLDebugRenderer.cpp
penGLDebugRenderer.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
|
38c85b907a478af96d71b9a5df5a2066b8475311 |
23-Sep-2010 |
Romain Guy <romainguy@android.com> |
Correctly initialize/refresh layers. Change-Id: Id8cdcf587b13098460f7d4aa1bd17708784d89bb
ayer.h
ayerCache.cpp
penGLRenderer.cpp
|
e20ecbd12d26467754a7770d44bcce2ea92335ef |
23-Sep-2010 |
Romain Guy <romainguy@android.com> |
Draw text decorations with lines instead of rectangles. Change-Id: Icd25c85c3a24da96a3d2f76f9477da6f87e0303c
penGLRenderer.cpp
|
29d8997bd43b7c4ad37fc3d6f91eaafa74913c88 |
23-Sep-2010 |
Romain Guy <romainguy@android.com> |
Fix OpenGL errors in various places. Change-Id: I3a4e115d8fb13b6c443e65460d92987b16f2524c
aches.h
penGLRenderer.cpp
penGLRenderer.h
kiaShader.cpp
kiaShader.h
extureCache.cpp
|
8c749f87d29e1a363ddf9027c3a51753c612d510 |
22-Sep-2010 |
Romain Guy <romainguy@android.com> |
Fix texture corruption issue, faster re-upload of textures. Bug #2950691 Change-Id: I57e2bc1d1a23e8683c25de7d09d6f5af2df59f41
extureCache.cpp
extureCache.h
|
ddb80bebb0776e6d852aab6e8bba5d5591847a55 |
21-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for circular gradients to the GL renderer. This change also adds full support for local transformation matrices on sweep and radial gradients. Change-Id: Id8773bc0766575190e3f3d51984fc5e57b266c3f
atrix.cpp
atrix.h
rogramCache.cpp
kiaShader.cpp
kiaShader.h
|
ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f |
21-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for SweepGradient in the GL renderer. Change-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022
radientCache.cpp
radientCache.h
rogramCache.cpp
rogramCache.h
kiaShader.cpp
kiaShader.h
|
b5ab4173e0927e4668a45298c9900cd8007584e1 |
18-Sep-2010 |
Romain Guy <romainguy@google.com> |
Fix positioning of 1 pixel wide lines (esp. non AA lines.) Change-Id: Ic155cac72f351edae35dffdfbb236954f57ba7de
ine.h
penGLRenderer.cpp
|
c95c8d6bf8fda5c4e8ebd0033b789be7868e6e07 |
18-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for non AA lines. Change-Id: Id5200e94815404d62760437d0d2dbb0a9276c700
ine.h
penGLRenderer.cpp
penGLRenderer.h
|
31529ff7918ce891fba9a660d0a861eb313ea554 |
17-Sep-2010 |
Romain Guy <romainguy@google.com> |
Correctly free memory. Change-Id: I08fcbfa7d27ae413e0a8e8ca6ea305c8530a72c1
ine.h
atch.cpp
rogram.cpp
|
759ea80dca64ad652110a129e0d8bf93fea79f61 |
17-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for drawLines(), with anti-aliasing Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
ine.h
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
ect.h
kiaShader.cpp
kiaShader.h
|
bf434114cbf55b216fdc76fc8d65a75e84c9dab5 |
16-Sep-2010 |
Romain Guy <romainguy@google.com> |
Snap layer bounds to pixel boundaries. Change-Id: I272ceebf469a119f01ea9d73cdd68519afdffa99
penGLRenderer.cpp
ect.h
|
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
ayerCache.cpp
penGLRenderer.cpp
penGLRenderer.h
|
6820ac8b14b4558f5d8b833dde80895306a3e137 |
16-Sep-2010 |
Romain Guy <romainguy@google.com> |
Fix 9patch rendering. Change-Id: Ic4c18ff483cca95fbabcb10843f7714efe488adb
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
|
87a76578f76f4a6bceb187da6b7a01899ca0d85a |
14-Sep-2010 |
Romain Guy <romainguy@google.com> |
Docs updates. Change-Id: Iff395e1c6d81a484a2c4ad6e88357c0134971b78
penGLRenderer.cpp
napshot.h
|
1c740bce8a762f02b5283045a0e2de7c8fb41277 |
14-Sep-2010 |
Romain Guy <romainguy@google.com> |
Document the implementation of saveLayer(). The implementation is simple but tricky. Leave explanations to my future self so that I don't invent a time machine to come back to now and slap my self. This change also simplifies the way the GL blending function is chosen when compositing a layer. It reuses existing OpenGLRenderer APIs and is easier to understand. Change-Id: I1b9cf8c5d51e09836d85b8cf157a1c284aa65c59
penGLRenderer.cpp
penGLRenderer.h
|
81ab046a1127bd2ad397e6d1c6f8021b202a97ff |
14-Sep-2010 |
Romain Guy <romainguy@google.com> |
Forgot the return value... Change-Id: Iccf369a613c1cf83f3e948460c567291b084fad2
penGLRenderer.cpp
|
8411f336c786379c5a03106e9ed3bc8622b579a5 |
14-Sep-2010 |
Romain Guy <romainguy@google.com> |
Fix rendering issue with layers intersecting the clip rect. Change-Id: Icbe35194fa219ef13ce639d33631235f8d7df3d7
penGLRenderer.cpp
|
58ef7fbf16864164efe98bf613b15c64deb1afc0 |
13-Sep-2010 |
Romain Guy <romainguy@google.com> |
Forces windows to draw the first time they show. Change-Id: I239572ee49bc60f30d957f548104e75844859a93
ontRenderer.cpp
|
2bffd268f135df8308c9e67af110525a5c463424 |
13-Sep-2010 |
Romain Guy <romainguy@google.com> |
Fix text rendering issue with text scaling. Change-Id: I1f3ae40025697e8f8ca0616ee6550fe215cadcc8
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
|
8694230ff25fa0a60e480d424843e56b718f0516 |
12-Sep-2010 |
Romain Guy <romainguy@google.com> |
Optimize calls to glCopyTexImage2D(). Change-Id: I34ee87bd4472864f440916e03a2894fae24bbe4a
penGLRenderer.cpp
penGLRenderer.h
|
f607bdc167f66b3e7003acaa4736ae46d78c1492 |
11-Sep-2010 |
Romain Guy <romainguy@google.com> |
Correct implementation of saveLayer(). Change-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763
ayer.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
napshot.h
|
a5aed0d58962a24c44728ffc46dc9e1ba2f9fda5 |
09-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for advanced blend modes with the framebuffer. This adds the ability to blend with the framebuffer using Darken, Lighten, Add, Multiply, Overlay and Screen. Change-Id: Iae01a53797d4ad39c373cba6ff2a42293129da1a
xtensions.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
|
d90f23e24a4d1768d5a7ed0e7072e67af6330a45 |
09-Sep-2010 |
Romain Guy <romainguy@google.com> |
Do not convert 8888 bitmaps to 565 when doing a copy. Bug #2988077 This change keeps the 8888 format for new bitmaps and also keeps, when possible, the opaque flag. Change-Id: Ia61f2e89936916b329212a4c59a7d815c329f84e
penGLRenderer.cpp
|
183f17e7eb2f51be24489e7b1bd3e2e5e4bc579a |
09-Sep-2010 |
Romain Guy <romainguy@google.com> |
A Path can exist in several cache entries. Change-Id: I742f7425d2b6bef753ed3e04fb39ebb103b2dc00
athCache.cpp
|
a2341a9f6addcd79723965ec5b1a1c5ae0f8bd65 |
09-Sep-2010 |
Romain Guy <romainguy@google.com> |
Purge Skia objects from GL caches as needed. Change-Id: I754c671cf790ad5ae8bf047ad328034217da4ecc
aches.h
enerationCache.h
radientCache.cpp
radientCache.h
athCache.cpp
athCache.h
extureCache.cpp
extureCache.h
|
9aaa8269a3e7291aab84d01c3fc9c744d8f2d2f4 |
09-Sep-2010 |
Romain Guy <romainguy@google.com> |
Fix possible infinite loop when purging textures. Change-Id: Ib05b398ae03e734da2dab0496df416fed4570b1c
enerationCache.h
atchCache.h
exture.h
extureCache.cpp
extureCache.h
|
8aef54fa17f2a3753d9a8f2027629bc480088f69 |
02-Sep-2010 |
Romain Guy <romainguy@android.com> |
Add support for Canvas flags on save. This is required for the rewrite of layers support. Change-Id: I5c0867dcf5aeb0392c8d0fbab05febb0eaff70d9
penGLRenderer.cpp
penGLRenderer.h
ect.h
kiaShader.cpp
napshot.h
|
da8532c6f48b4c10b5e2ccb9e08690341efa1616 |
31-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add hooks for hardware accelerated WebView. Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
penGLRenderer.cpp
penGLRenderer.h
|
b45c0c9774bd19a9dbe77d149abae4e124b08bf6 |
27-Aug-2010 |
Romain Guy <romainguy@google.com> |
Apply gamma correction to font rendering. Change-Id: I1b05f40e356221b2a5eb9400e67d77ecd98ed6c4
ndroid.mk
aches.h
ontRenderer.cpp
ontRenderer.h
ammaFontRenderer.cpp
ammaFontRenderer.h
penGLRenderer.cpp
roperties.h
extDropShadowCache.cpp
|
f6fcac7ce16a631ca2b101f5bbebe58af5b247a8 |
25-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix passion build Change-Id: I93322bd36a004ac5aa9a0409d22dbf36a2da1680
aches.h
|
fb8b763f762ae21923c58d64caa729b012f40e05 |
24-Aug-2010 |
Romain Guy <romainguy@google.com> |
Use only one GL context per process, share chaches. Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
aches.h
enerationCache.h
radientCache.cpp
radientCache.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
penGLRenderer.h
atchCache.cpp
atchCache.h
athCache.cpp
athCache.h
rogramCache.h
roperties.h
extDropShadowCache.cpp
extDropShadowCache.h
extureCache.cpp
extureCache.h
|
a80d32f7b69aa37026ab99e4ade1ad86dae76a81 |
21-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add support for textScaleX. This will not look great because we render fonts using bitmaps, not paths. Change-Id: I01b87b81bfbdbfa28460a5d5309d38e2a65e77c4
penGLRenderer.cpp
|
e9e7fd0813f1485d20c6cd0014d59aff53c35d84 |
19-Aug-2010 |
Romain Guy <romainguy@google.com> |
Update OpenGLRenderer test to test opaque ARGB8888 bitmaps. Change-Id: I7159825f4b1d6f5a1cd09ec091994801b52b6bda
extureCache.cpp
|
c4d8eb6fb7c88c5c4da38b0b113c24cc4b78c0b7 |
19-Aug-2010 |
Romain Guy <romainguy@google.com> |
Speedup TextView fades (no more layers required.) Also fixes a crash in the drop shadows cache and improves drop shadows caching. Change-Id: I9c0208a49467f9201d786ae0c129194b8d423923
extDropShadowCache.h
|
8b55f377655d13a445b08a0a8ed09b6e95c752b0 |
19-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix drawing issues with layers. Prior to this change layers would clip their content incorrectly. They would also not apply alpha properly. Change-Id: Id7b3aaa7dbdc51de68fe050e64458f68e40503fd
penGLRenderer.cpp
napshot.h
|
1f8c9602eeff0a35f8af70bd3fdcd770f0127775 |
18-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix the build. Change-Id: I8bd418ba21e3e3f68b793030398d1a5e933dfb19
penGLRenderer.cpp
|
2542d199745cdf3ec910b8e3e4cff5851ed24e9b |
18-Aug-2010 |
Romain Guy <romainguy@google.com> |
Layers were using an extra Snapshot causing extra clipping. Bug #2919310 Change-Id: I72ccd44bba7a3f3db72f581aa96198b6226e4478
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
8fb954263dd2f918ad339045cc6d82e346515599 |
18-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix save()/restore() issues in the OpenGL renderer. The save stack now behaves exactly like in Skia. Change-Id: If7e642f41f2c8f693f6e8c26cba81507d466562e
penGLRenderer.cpp
napshot.h
|
1d83e1981c8b89da93dff37a4f8b2b1ad8480b44 |
17-Aug-2010 |
Romain Guy <romainguy@google.com> |
Correctly set the viewport in layers. Bug #2919295 Change-Id: I16ce79ab0d5747cb01c6c1abe531da3dfd93fb54
atrix.cpp
penGLRenderer.cpp
napshot.h
extDropShadowCache.h
|
0a41749953f35d33f61b3119e3161a82bb5fa59e |
17-Aug-2010 |
Romain Guy <romainguy@google.com> |
Cleanup, better code reuse. Change-Id: Ib86a7309ae579cce3b7cf464782c34e70a74c616
penGLRenderer.cpp
penGLRenderer.h
|
1e45aae5de003657e5d18f74d34998f5de5db5b7 |
14-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add drop shadows. Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
ndroid.mk
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
athCache.cpp
roperties.h
extDropShadowCache.cpp
extDropShadowCache.h
|
0ba681bce12d522c5575dfccb5a6ca12f0fba746 |
13-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix GC issue, fix local shader transformations. Change-Id: I208bdf89815dcd18dcadd43df932a77362918435
atrix.cpp
atrix.h
kiaShader.cpp
|
af28b514964861d81b48902f942f706050936d38 |
12-Aug-2010 |
Romain Guy <romainguy@google.com> |
Better support for rotation and perspective matrices. Change-Id: I56b5ae3321735ba5ee42aafc9bc0eb399b9e75b5
atrix.cpp
atrix.h
napshot.h
|
959c91f7f7b4f921d341264f5b4ef54e702a0df0 |
12-Aug-2010 |
Romain Guy <romainguy@google.com> |
Bunch of fixes. Fixes memory leak, fixes multiple context support, fix 3d transforms. Change-Id: I7462cfbc57857dbd4de4e76b9d4cba58a1bce77b
penGLRenderer.cpp
napshot.h
|
98173a277f8bd6d53d6ff9f7ff09e084f2666fc1 |
12-Aug-2010 |
Romain Guy <romainguy@google.com> |
Delete shaders after a compile error. Also disable extra logging. Change-Id: I9b1558b0feac3d9b2cca926feeaf73921664cc73
rogram.cpp
rogramCache.h
|
48daa54d31fc59ec969dcff65eb3cbb0ce879a8d |
11-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add extra blending modes. This change adds the following blending modes for shaders and color filters: Add Multiply Screen Overlay Darken Lighten Change-Id: Iff22f5ce6041b43c71b1857d73013f5010ab3413
rogramCache.cpp
rogramCache.h
|
a674ab74e359ac73b4c4dd6b1a3a771836ac7e40 |
11-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add support for text underline and strikethru. Change-Id: I3a0e6643d7cafbdd06d9a908c8cf9347dcaba146
penGLRenderer.cpp
|
a48a1a87ba17f20f7006eaab21dcedf86c015c13 |
10-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fast text selection drawing. Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
kiaShader.cpp
|
61c8c9c5b2006d18e9310b6521c65b36ffe75ce4 |
10-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix tons of bugs and add new text rendering support. Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
ontRenderer.cpp
penGLRenderer.cpp
athCache.cpp
rogramCache.cpp
kiaShader.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
ndroid.mk
extureCache.cpp
extureCache.h
|
9cccc2b9bdd4850a3f9679569aaec3ab98477a5d |
08-Aug-2010 |
Romain Guy <romainguy@android.com> |
Enforce maximum texture size. When an app tries to render a bitmap or path larger than the GPU's maximum texture size, the drawing command is ignored and a warning is logged. This change also makes texture drawing more robust by catching potential errors during texture creation. This change also fixes a crash in the FontRenderer. The destructor would sometimes try to free an uninitialized array. Change-Id: I95ae0939c52192d97b340aa02417bf6d0c962c57
ontRenderer.cpp
radientCache.cpp
penGLRenderer.cpp
athCache.cpp
athCache.h
kiaShader.cpp
kiaShader.h
extureCache.cpp
extureCache.h
|
8e3e359e59385e4dee38cedf194a4a58e4ad92a8 |
07-Aug-2010 |
Alex Sakhartchouk <alexst@google.com> |
Merge "Added drop shadow renderer to the font class."
|
f18136cb3c881a9d16c1a4f0f341732c276936bf |
06-Aug-2010 |
Alex Sakhartchouk <alexst@google.com> |
Added drop shadow renderer to the font class. Change-Id: Id243abfbbb58e54f6a05f592a302984b5321e608
ontRenderer.cpp
ontRenderer.h
|
22158e139a3d6c6a9787ca0de224e9368f643284 |
06-Aug-2010 |
Romain Guy <romainguy@google.com> |
Automatically cleanup textures that don't fit in the cache. Change-Id: I4f29ed96ea11118b391fb957e1e4d1b8fcef1537
penGLRenderer.cpp
athCache.cpp
athCache.h
exture.h
extureCache.cpp
|
25ee037fee1607e8a77b1f2e259356e74dd6f645 |
06-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix incorrect memory cleanup in SkiaShader. Bug #2895037 Change-Id: Id233c2a8a5b709dc9f26ff60aad989e9583a2382
kiaShader.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
ndroid.mk
penGLRenderer.cpp
penGLRenderer.h
athCache.cpp
athCache.h
rogramCache.cpp
roperties.h
|
6c07daf86c0d3824e1cd88fea455e2dd7b88cbcd |
05-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix native crash in SkiaShader. Bug #2893733 Change-Id: I7feb9ab113fe0012cf9eb271f2b044f12a5c9c4e
kiaShader.cpp
kiaShader.h
|
a275354c54b372bdfaae429fd2a2f5c2bdcd5d1e |
03-Aug-2010 |
Alex Sakhartchouk <alexst@google.com> |
Merge "Adding drop shadow support"
|
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
ndroid.mk
xtensions.h
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
kiaColorFilter.cpp
kiaColorFilter.h
kiaShader.h
|
89a524ac2d4a36739e51b01b336c0bade77e2ee0 |
03-Aug-2010 |
Alex Sakhartchouk <alexst@google.com> |
Adding drop shadow support Change-Id: I9b1b9568d6cebc0761d96ab678b018571f705ae1
ontRenderer.cpp
ontRenderer.h
|
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
ndroid.mk
penGLRenderer.cpp
penGLRenderer.h
rogramCache.cpp
rogramCache.h
kiaShader.cpp
kiaShader.h
|
b82da65cb1601be504241f36778395cd6cb9f87b |
30-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix improper clipping after a save() Change-Id: I13426a67f20d77e2710bd500d82884098f4be97c
penGLRenderer.cpp
napshot.h
|
ae5575b3421c8fbe590ab046d7d5f2b36ecfd821 |
30-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix gradients rendering and destructor crashes. This changes binds all textures to GL_TEXTURE0, this will have to be changed when combining shader capabilities. Change-Id: I02df4f5ba41e9b01ffa52fd7c26b41477c7ed18f
ontRenderer.cpp
enerationCache.h
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
889f8d1403761d5668115ced6cbb3f767cfe966d |
29-Jul-2010 |
Romain Guy <romainguy@google.com> |
Moved all the rendering code to the new shader generator. The generator supports features that are not yet implement in the renderer: color matrix, lighting, porterduff color blending and composite shaders. This change also adds support for repeated/mirrored non-power of 2 bitmap shaders. Change-Id: I903a11a070c0eb9cc8850a60ef305751e5b47234
ontRenderer.cpp
atrix.cpp
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
rogramCache.cpp
rogramCache.h
haders/drawColor.frag
haders/drawLinearGradient.frag
haders/drawLinearGradient.vert
haders/drawText.frag
haders/drawTexture.frag
haders/drawTexture.vert
|
ac670c0433d19397d4e36ced2110475b6f54fe26 |
28-Jul-2010 |
Romain Guy <romainguy@google.com> |
Generate shaders to cover all possible cases. With this change, all the vertex and fragment shaders used by the GL renderer are now generated based on a program description supplied by the caller. This allows the renderer to generate a large number of shaders without having to write all the possible combinations by hand. The generated shaders are stored in a program cache. Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
ndroid.mk
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
rogramCache.cpp
rogramCache.h
ertex.h
haders/drawColor.vert
haders/drawLinearGradient.vert
|
65ef909776c03417d8b597738da54ca211e37e4f |
26-Jul-2010 |
Alex Sakhartchouk <alexst@google.com> |
When font cache still has empty space, precache some commonly used characters to reduce studder. Change-Id: I1f66f57482c4a025672dfd1d8ecaf2b9736cd9a0
ontRenderer.cpp
ontRenderer.h
penGLRenderer.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
penGLRenderer.cpp
penGLRenderer.h
|
9b9902ddbb01548f4a0199087b7035e7c10b2ae7 |
23-Jul-2010 |
Alex Sakhartchouk <alexst@google.com> |
Updating parts of font cache as needed instead of the entire map. Change-Id: If9a37e10197255122acdb5b10a0c356edd942d67
ontRenderer.cpp
ontRenderer.h
|
51769a68a5cb34e9564740c6a854fcb93018789d |
23-Jul-2010 |
Romain Guy <romainguy@android.com> |
Cleanup, added properties for the FontRenderer. Change-Id: I909c74815d3ac394438ad8071d17fef5401dbeed
xtensions.h
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
roperties.h
|
bd0e6aa0ff0bd8b376772c3e23513a6021bdda87 |
23-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add a way to query GL extensions. Change-Id: Ic27dbf72289dacf641b640a749fbd40c12cd474f
xtensions.h
ontRenderer.h
penGLRenderer.h
extureCache.cpp
|
09147fbdc8206a0cac78bfe9083e7e15b3c5689c |
22-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for text culling. Change-Id: Ibf0adacdc5c64d40a8000b21d7cb0797d63efe29
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
napshot.h
|
694b519ac647fe998fd396fe0784cc8e179aadc4 |
22-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add text rendering. Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
ndroid.mk
ontRenderer.cpp
ontRenderer.h
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
haders/drawText.frag
|
a1db574036c9bc2d397b69f8200594027e1fff16 |
20-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add preliminary support for text rendering. Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
penGLRenderer.cpp
penGLRenderer.h
|
c0ac193b9415680f0a69e20a3f5f22d16f8053be |
20-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for linear gradients. Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
ndroid.mk
radientCache.cpp
radientCache.h
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
extureCache.cpp
haders/drawLinearGradient.vert
|
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
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
haders/drawLinearGradient.frag
haders/drawLinearGradient.vert
|
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
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
1e79386ba34f0db38c1b35b22cdf122632534354 |
17-Jul-2010 |
Romain Guy <romainguy@android.com> |
Optimize textures binding. The renderer is still changing textures' wrap modes every time, this will require a latter optimization. Change-Id: I3eb92cb8c886c4a692b7f0ca759911f9371d4d2c
ayerCache.cpp
penGLRenderer.cpp
penGLRenderer.h
extureCache.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
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
napshot.h
|
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
penGLRenderer.cpp
penGLRenderer.h
napshot.h
haders/drawColor.frag
haders/drawTexture.frag
|
3d58c03de0d8877b36cdb78b0ca8b5cac7f600e2 |
15-Jul-2010 |
Romain Guy <romainguy@google.com> |
Do not apply transforms when using drawColor(). This fixes an issue in the way the clip transformations were applied. Change-Id: I91e7b5d15baf244d1280e48938282bb33609081d
atrix.h
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
594f4065141a53427cad6f4fc89219d2f27e1a7d |
14-Jul-2010 |
Romain Guy <romainguy@google.com> |
Enable 32-bits only assets. Go away dithering! Change-Id: Iee5ee2e9430606e732d9b0abb3adc9f68275bd6d
extureCache.cpp
|
a979474f15b454c8e2963f239a3770e200bb227c |
13-Jul-2010 |
Romain Guy <romainguy@google.com> |
Cleanup: remove unnecessary parameters. Change-Id: I5956ef1db6be28a01369387aaeeb65a94656c48c
penGLRenderer.cpp
penGLRenderer.h
|
92429d9266edf63cf632c132c5936f0e31850988 |
13-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix premultiplied alpha. Change-Id: I08da422c5350503e1f4f27b9890f15a813d0c6c7
penGLRenderer.cpp
penGLRenderer.h
|
6926c72e25b8dec3dd4b84af0819fa1937ae7296 |
13-Jul-2010 |
Romain Guy <romainguy@google.com> |
Correctly support pre-multiplied alpha, optimizations, more stuff. Add support for the following drawing functions: - drawBitmap(int[]...) - drawPaint() Optimizes shader state changes by enabling/disabling attribute arrays only when needed. Adds quick rejects when drawing trivial shapes to avoid unnecessary OpenGL operations. Change-Id: Ic2c6c2ed1523d08a63a8c95601a1ec40b6c7fbc9
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
|
260e102162322958cf17dbd895cd6bd30dc87e32 |
12-Jul-2010 |
Romain Guy <romainguy@google.com> |
Optimize shader binding changes. This change also cleans up the internal API a little bit by using mat4 everywhere instead of float[16] (for the ortho matrix for instance.) Change-Id: I35924c7dc17bad17f30307118d5ed437c2ed37e0
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
napshot.h
|
0b9db91c3dc8007b47c8fd4fb9dd85be97201a88 |
10-Jul-2010 |
Romain Guy <romainguy@google.com> |
Remove math from the vertex shader. Change-Id: I02847a60a8734bf8b3d29ec12e76297795095e38
penGLRenderer.cpp
rogram.cpp
rogram.h
haders/drawColor.vert
haders/drawTexture.vert
|
16202fc9745e9b11db089ebc8f40119d13732016 |
10-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix alpha blending and improve fragment shaders performance. Change-Id: Ib74f6941d25ca6f6a41708e541174eaa7e8d9bc2
penGLRenderer.cpp
rogram.cpp
haders/drawColor.frag
haders/drawColor.vert
haders/drawTexture.frag
haders/drawTexture.vert
|
fb5e23c327cd5f8f93d1eaa7c10f34d6fd3efb6c |
09-Jul-2010 |
Romain Guy <romainguy@google.com> |
Refactoring to move vertex computing to the Patch class. This change is mostly cleanup to keep less code in OpenGLRenderer. Change-Id: I954375143b2943829457ab470423729b60b844f5
ndroid.mk
penGLRenderer.cpp
penGLRenderer.h
atch.cpp
atch.h
|
82ba814ca0dea659be2cc6523bc0137679d961ce |
09-Jul-2010 |
Romain Guy <romainguy@google.com> |
Optimize blending state changes. Change-Id: I7c22a8aecccb8b5abfcf7243f049a4ef3cf3979a
penGLRenderer.cpp
penGLRenderer.h
ertex.h
|
f7f93556c8fcc640ab5adef79d021a80a72a645a |
09-Jul-2010 |
Romain Guy <romainguy@google.com> |
Draw n-patches using OpenGL. Currently only tested with title bars and buttons. Change-Id: I8263a9281898dc0e943b1b8412827fe55639b9d6
ndroid.mk
ayer.h
ayerCache.h
penGLRenderer.cpp
penGLRenderer.h
atch.h
atchCache.cpp
atchCache.h
ertex.h
|
f18fd99b5c182329cd8936a9611f0103d8ece44a |
08-Jul-2010 |
Romain Guy <romainguy@google.com> |
Create FBOs in LayerCache. This moves a bit of code away from OpenGLRenderer and matches what happens with the TextureCache. Change-Id: I3c67f54f83d7240770daa015861c0e75a1dd8c42
ayerCache.cpp
ayerCache.h
penGLRenderer.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
penGLRenderer.cpp
penGLRenderer.h
|
6c81893c626499e58c8eeb20d6c35ec4e1ce808b |
08-Jul-2010 |
Romain Guy <romainguy@google.com> |
Simpler way to deal with the FBO multi-cache. This change removes the need for the SortedList and instead just add a generated id to each FBO stored in the cache. This is an artificial way to store several FBOs with the same dimensions. Change-Id: I9638364e9bdc0f2391261937a0c86096f20505bf
ndroid.mk
enerationCache.h
ayer.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
ortedList.cpp
ortedList.h
extureCache.cpp
extureCache.h
|
5f0c6a483900f3989f4d2a8f913cf5b6a9777d03 |
07-Jul-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO cache. This change introduces a new generational cache called GenerationMultiCache that can store several values with the same key. This can be used to use multiple layers of the same size at the same time, without recreating them over and over again. Change-Id: I425466a20908b862c5f464a0f9e582ec18cbd7ac
ndroid.mk
enerationCache.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
ortedList.cpp
ortedList.h
extureCache.cpp
extureCache.h
|
dda570201ac851dd85af3861f7e575721d3345da |
06-Jul-2010 |
Romain Guy <romainguy@android.com> |
Add a layer (FBO) cache. The cache is used to draw layers so that a new texture does not have to be recreated every time a call to saveLayer() happens. The FBO cache used a KeyedVector, which is a bad idea. The cache should be able to store several FBOs of the same size (this happens a lot during scrolling with fading edges for instance.) This will be changed in a future CL. Change-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726
ndroid.mk
enerationCache.h
ayer.h
ayerCache.cpp
ayerCache.h
penGLRenderer.cpp
penGLRenderer.h
napshot.h
extureCache.cpp
extureCache.h
|
7d139ba2c331f11e9b485753cc727a0ff202f2a4 |
02-Jul-2010 |
Romain Guy <romainguy@android.com> |
Remove extra leftover logs and use uint32_t instead of unsigned int. Change-Id: I944f82fe3255de38dc04048cc8bd861f578f01a7
enerationCache.h
penGLRenderer.cpp
exture.h
extureCache.cpp
extureCache.h
|
121e2242565d5f09ad83a2d33ecd2225838802c5 |
02-Jul-2010 |
Romain Guy <romainguy@google.com> |
Track the size in memory of the texture cache. The texture cache was previously checking the number of stored textures. This was not very useful as this could easily lead to an abuse of memory. The new cache instead tracks the total size occupied in RAM by the cached textures. When a new texture is generated, older textures are kicked out as needed. Change-Id: Ib27142f4a018d5bf84774c1fb6f45a67a85f20bc
enerationCache.h
penGLRenderer.cpp
extureCache.cpp
extureCache.h
|
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
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
8ba548f81d1ab5f1750cbf86098c4a14e0b8bead |
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint) Change-Id: I10904d2325a5431d15801aebcec1048715678e8c
penGLRenderer.cpp
penGLRenderer.h
extureCache.cpp
|
c1396e93b6a5286a5183c00c781b62e940a12c1f |
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add implementation for drawBitmap(). Change-Id: Iada9325f3c5642b61c2e0c4cd80bcfbc92cb491e
penGLRenderer.cpp
penGLRenderer.h
extureCache.cpp
|
fe8809471a40cac8acc984adfa51c39e13e83947 |
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Remove unnecessary return and add bitmap generation ID tracking. Change-Id: Icf5e0635e789f5ea53268c22fad51cf733b5b1a6
exture.h
extureCache.cpp
extureCache.h
|
364703c6fa4aa1a7d2ef5b0c048ea2a0d57a4c40 |
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix the build. Change-Id: I08bd6daf25351daca3ae552e1cfcfce85eefa73b
enerationCache.h
extureCache.cpp
extureCache.h
|
ce0537b80087a6225273040a987414b1dd081aa0 |
30-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add hooks for drawBitmap(). Change-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0 Add texture cache. Change-Id: I1c0e5581d228869e114438258a1014e33e024ad7
ndroid.mk
enerationCache.h
penGLRenderer.cpp
penGLRenderer.h
exture.h
extureCache.cpp
extureCache.h
|
d55a86120dd1e8ebcc6906c9ffd463f7460348da |
29-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add support for saveLayer(). saveLayer() is affected by the paint's alpha and xfermode. Change-Id: I28693a9337052643adccdb4889a8f228d4e17903
penGLRenderer.cpp
penGLRenderer.h
napshot.h
|
026c5e16704e817cac7d9c382914c947e34f87e0 |
29-Jun-2010 |
Romain Guy <romainguy@google.com> |
Implement support for PorterDuff's blending modes. The blending modes are currently hooked up only when drawing filled rects but the code is reusable for other primitives. This will allow implementation of saveLayer(). This method is required to support the fade effects used throughout the standard Android UI. Change-Id: I396023d123436f16cdafc606e358e4eb80c9df2c
penGLRenderer.cpp
penGLRenderer.h
|
5cbbce535744b89df5ecea95de21ee3733298260 |
28-Jun-2010 |
Romain Guy <romainguy@android.com> |
Reduced the complexity of layers composition. This change also refactors the code base a bit by moving classes out of OpenGLRenderer into separate headers/implementations. This makes the code more manageable. This change also adds documentation for implementation methods. The undocumented methods are simply Skia's Canvas methods. Change-Id: I54c68b443580a0129251dddc1a7ac95813d5289e
ndroid.mk
atrix.cpp
penGLRenderer.cpp
penGLRenderer.h
rogram.cpp
rogram.h
ect.h
napshot.h
|
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
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
haders/drawColor.frag
haders/drawTexture.frag
haders/drawTexture.vert
|
7ae7ac48aa2b53453c9805075171ecd5bcafd7de |
25-Jun-2010 |
Romain Guy <romainguy@android.com> |
Convert tabs to spaces. Change-Id: I5d3ae48af79b19b6d293deff0521e4bb57d5114b
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
haders/drawColor.vert
|
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
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
haders/drawColor.vert
|
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
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
ect.h
haders/drawColor.frag
haders/drawColor.vert
|
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
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
|
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
atrix.cpp
penGLRenderer.cpp
penGLRenderer.h
ect.h
|
3e168335b3422008908ac6973bb36078fd979f35 |
22-Jun-2010 |
Romain Guy <romainguy@google.com> |
Fix simulator build again. Change-Id: Ifd204d64eaa4c356422e3363ec0a6e6aa61c52dc
ndroid.mk
atrix.cpp
|
85bf02fc16784d935fb9eebfa9cb20fe46ff7951 |
22-Jun-2010 |
Romain Guy <romainguy@google.com> |
Fix the simulator build. Change-Id: Ie404f7c2c308f0657f273af19a56e8c039b61898
ndroid.mk
atrix.cpp
atrix.h
penGLRenderer.cpp
penGLRenderer.h
IMatrix.cpp
IMatrix.h
IOpenGLRenderer.cpp
IOpenGLRenderer.h
|
08ae317c21ec3086b5017672bba87420cc38a407 |
22-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add glOrtho equivalent to the OpenGL ES 2.0 renderer. Change-Id: I063dad3d81dab7833acb1e7a9c7121f8efd2a044
ndroid.mk
IMatrix.cpp
IMatrix.h
IOpenGLRenderer.cpp
IOpenGLRenderer.h
|
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
ndroid.mk
ODULE_LICENSE_APACHE2
OTICE
IOpenGLRenderer.cpp
IOpenGLRenderer.h
|