a896306c38c4d11c43b967a21db6d74c251b2520 |
14-Jun-2017 |
John Reck <jreck@google.com> |
Add a workaround for simulate secondary display To workaround a deadlock caused by bufferqueue locks we force RenderThread over to use async mode which we enable via eglSwapInterval(0) Bug: 38372997 Test: steps in the bug Change-Id: Ia305f73abbdd64ab0c25d1f7d32792cc6295a0ce
glManager.cpp
enderProxy.cpp
enderProxy.h
|
a67b62e15e20bac6a9664e6e6be923cf82ad4138 |
01-Jun-2017 |
John Reck <jreck@google.com> |
Fix ANR & Crash on Ryu Fixes impossible dequeue crash as the wrong start point of the frame was used. We need to use the start point for RT, not the start point for the frame. Workaround for sysui ANR caused by what appears to be a driver bug. Drivers with the bug will have transiently higher memory usage. Drivers without the bug will be unaffected. Bug: 62213889 Bug: 62250550 Test: Manual Change-Id: I9992b224f84bc1c40834bafff7e0013b38270ae0
anvasContext.cpp
|
32414eea3e5aa55fb251255ecf84b0e54858624f |
31-May-2017 |
John Reck <jreck@google.com> |
Fix dequeus outside of frame drawing Bug: 62213889 Test: Repro steps in bug Change-Id: I8fc407b280ba82c669fc2bb03750cab139adb965
anvasContext.cpp
|
9a814875c4e3a98fea99dae623f22268a9afa38a |
23-May-2017 |
John Reck <jreck@google.com> |
Improve time to texture destruction Eliminate textureCache.mGarbage which is only cleared in a trimMemory. Instead when we hit ~Bitmap post a message to RenderThread to release the texture immediately Bug: 38258699 Test: manual Change-Id: I962ba275e89afb628ba02f74769287edbab9fed4
enderProxy.cpp
enderProxy.h
|
576b6a8a7994f649c0dbacfc34611d1580e16bd6 |
17-May-2017 |
John Reck <jreck@google.com> |
Revert "Fix recent apps in system UI for Skia pipeline" This reverts commit 625dd56a45bfe95c5f1baa1891529503ff3374a9. Reason for revert: Caused a memory leak, b/38330767 Bug: 38136140 Bug: 38330767 Test: manual, verified memory isn't leaking doing the steps in b/38330767 Change-Id: I998bea04788d58ba6bad71c1691d5a3b33190c1b Merged-In: I98b2dfd750be57a15785808e2d5723616e2ce20a
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
625dd56a45bfe95c5f1baa1891529503ff3374a9 |
06-May-2017 |
Stan Iliev <stani@google.com> |
Fix recent apps in system UI for Skia pipeline Enable HW Bitmaps for Skia pipeline just enough to make recent apps list working by adding support for BitmapShader. Drawing HW bitmaps in a canvas is also supported. Test: recent apps work, HWUI unit tests pass, CTS tests pass. bug: 38136140 Change-Id: Ibd06c859c86dc213310d5ce5272497e1882d0cc6 Merged-In: Ibd06c859c86dc213310d5ce5272497e1882d0cc6
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
2f944482ece3aba2068ac71cd9c5067e4bc8424c |
27-Mar-2017 |
John Reck <jreck@google.com> |
Add missing assert that task isn't queued Probably won't fix anything but this assert is in queue() but not queueAtFront() and inserting a task twice is Really Bad. Bug: 36139852 Test: ¯\_(ツ)_/¯ Change-Id: Ida0f829eecfdd46c17c36b816528c49d12b7cf29
enderThread.cpp
|
4d7094dc998b4765cb73c6ec26e61a6cc0df030f |
06-Mar-2017 |
Tom Cherry <tomcherry@google.com> |
Merge "Check for spurious wake ups" am: 3a3cd0a27f am: c2dcebe6e6 am: 1344c034c5 Change-Id: I8ffc749ab6fbd825ce238fff4ba1d12609585c04
|
298a146754e35cbc650aa991ebff1a41eefdbe80 |
28-Feb-2017 |
Tom Cherry <tomcherry@google.com> |
Check for spurious wake ups Condition::wait() can spuriously wake up, so we must guard it with another check to ensure that a given wake was truly due to having been signaled. Bug: 34592766 Test: Boot bullhead Change-Id: Iaa5a0ca6186aea50c51e2c402ef95d7ba861be92
enderProxy.cpp
enderTask.cpp
enderTask.h
enderThread.cpp
|
fee4a985fd599e5bbfb0eb2d5d75af18ed8ae86e |
10-Feb-2017 |
Mathias Agopian <mathias@google.com> |
fallout of libandroid.so split Test: compiled & booted Bug: 35164655 Change-Id: I786167a21453e17493969cdacfc9d31bdb781d98
penGLPipeline.cpp
|
ab61fb8b5f3e7fc807bd335fcfe088d2d0fcb13a |
23-Feb-2017 |
Derek Sollenberger <djsollen@google.com> |
Update framework to use new method for disabling DF path rendering. Test: compile only Change-Id: Ifa690a0af01cb6b07c4fd303302cb6a557e8dfde
glManager.cpp
|
f9bd2944694539f1dce74d420156cc50bbb4af14 |
21-Feb-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Overhaul GraphicsStatsService"
|
df1742ed47da1e9b61afeae16fa448d5302a8aa0 |
20-Jan-2017 |
John Reck <jreck@google.com> |
Overhaul GraphicsStatsService * LRU cache of recently-used is dead, replaced disk storage * ASHMEM size is read from native by the system service, no longer requires keeping a sizeof() in sync with a constant in Java * Supports dumping in proto format by passing --proto * Rotates logs on a daily basis * Keeps a history of the most recent 3 days Bug: 33705836 Test: Manual. Verified log rotating works by setting it up to rotate every minute instead of day. Confirmed /data/system/graphicsstats only has the most recent 3 entries after several minutes Change-Id: Ib84bafb26c58701cc86f123236de4fff01aaa4aa
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
enderThread.h
|
7c196d4a854de9f1f2dbd548fc26d80890a662c9 |
21-Feb-2017 |
Derek Sollenberger <djsollen@google.com> |
Merge "Disable buffer age swap behavior for SkiaGL on Adreno gpus"
|
2f1aaf7e24590e3b1dde62e0cb6d8d2978c9d5da |
14-Feb-2017 |
Chris Craik <ccraik@google.com> |
updateTexImage before bitmap readback of DeferredLayerUpdaters Bug: 34206215 Test: hwui unit tests passing Change-Id: I4360c0d94a831b4d2ebfd4020e4241658bfa190a
penGLPipeline.cpp
|
b77c94a96abeeecf65c5b3292db679c049af6271 |
07-Dec-2016 |
Matt Sarett <msarett@google.com> |
Disable buffer age swap behavior for SkiaGL on Adreno gpus Test: Verified that this fixes rendering bugs. BUG:31957043 Change-Id: I3e5bca73eae2d917906658f76d8c432dbb248d89
glManager.cpp
|
6983bc40d72acbf06cd04818877cb3f5fea22886 |
02-Feb-2017 |
Stan Iliev <stani@google.com> |
Fix deadlock in render thread when Bitmap.prepareToDraw is invoked Fix a deadlock with Skia pipelines, caused by calling Bitmap::getSkBitmap from render thread. Test: built and booted an image. Ran recent apps activity. bug: 35060578 bug: 34926691 Change-Id: Iaf7957b955d938b722b153d72ad832ae5d50e86f
enderProxy.cpp
|
c3f131696111a066d9efd9c7c3e37566a2a9fb89 |
06-Feb-2017 |
sergeyv <sergeyv@google.com> |
Clean up deferredLayers only onGpuContextDestroyed. Test: manual bug:34919311 Change-Id: I5488b0845ec3922424f5893943e4f42675dfc9fd
anvasContext.cpp
|
bccd58cde35f37aa271d97ae024c90b3db9f2106 |
06-Feb-2017 |
Greg Daniel <egdaniel@google.com> |
Merge "Have Skia Vulkan backend support wait-for-gpu flag on tests"
|
4f70887d348a4eea433df39496a5fe53d64b439a |
03-Feb-2017 |
Greg Daniel <egdaniel@google.com> |
Have Skia Vulkan backend support wait-for-gpu flag on tests So trying to mimic what the EglManager does in the fence call. Technically there are two logical queues I could wait on for the device, the graphics queue and the present queue. Waiting on the device waits for both these queues to finish. It wasn't obvious to me if the EGL was waiting for just graphics work or both queues, so I went for both (by waiting on device). However, so far every device we've seen in Vulkan has the present and graphics queue combined on the physical device so waiting for one or both should really be different. Test: Manual ran macrobench in skiavk and more realistic values compared to not waiting for gpu. Change-Id: I17cde70c677a9ad1b6bf9bc9ca4fd5f8f3b807e3
ulkanManager.cpp
|
3e9999bd866fac71c72e6b484a9836c87c328a08 |
20-Jan-2017 |
sergeyv <sergeyv@google.com> |
Explicitly destroy Layer in DeferredLayerUpdater on destroyHardwareResources() Change-Id: I0987104eabda9a2a302b9e765213aad48f93aea4 Test: refactoring CL. Existing tests still pass bug:33753499
anvasContext.cpp
penGLPipeline.cpp
|
2de950d5a8b47c7b4648ada1b1260ce4b7342798 |
25-Jan-2017 |
John Reck <jreck@google.com> |
Overhaul RenderNode's DisplayList management * Move mValid to native * Have destroyHardwareResources destroy everything * Remove flaky mParentCount checks in setStaging * All tree updates have an internal observer to ensure onRemovedFromTree() is a reliable signal * onRemovedFromTree() immediately releases resources to avoid displaylist "leaks" Test: Unit tests for validity added & pass, manually verified that b/34072929 doesn't repro Bug: 34072929 Change-Id: I856534b4ed1b7f009fc4b7cd13209b97fa42a71c
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
610fbb3afd8d23fbc1eb8e09114f9d1afbfb3bb9 |
12-Jan-2017 |
Ben Wagner <bungeman@google.com> |
Merge "Use FatVector instead of SkAutoMalloc in VulkanManager."
|
eec27d51d2d8dae2ac54a11229b55cd1da4e84cf |
11-Jan-2017 |
Ben Wagner <bungeman@google.com> |
Use FatVector instead of SkAutoMalloc in VulkanManager. Skia is looking to make SkAutoMalloc private and will be moving it. Using FatVector instead will make this code both less dependent on Skia internals and more performant. Test: refactoring CL. Existing unit tests still pass. Change-Id: If9de10059775b75e1ab89078eacede2e20e91299
ulkanManager.cpp
|
173215d1b20b70908a9d1807f1372bd95b7ad5f1 |
12-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
resolve merge conflicts of ec7e2a164c37 to master Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I49c6e41b79061e2b3c0352e3ac8fa5ebb152b6f5
|
96bf5985d5a360568832fd26b6d5b44236c9343e |
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
Replace cutils/log.h and log/logger.h with android/log.h or log/log.h (part deux) Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I7417936c4d3666608fccfe51a312c90ecefba2fb
glManager.cpp
|
45ec62ba72c5017fae7d8baab20bfb0d4c99c627 |
04-Jan-2017 |
Greg Daniel <egdaniel@google.com> |
Add support for dummy draws for Vulkan webview and texture views. Test: manual testing Change-Id: Iaec8c3a34367673c281665ff6c6e97d1ce532265
ulkanManager.cpp
|
8cd3edfa15cc9cdbffa935d19ab894426b08d174 |
09-Jan-2017 |
Greg Daniel <egdaniel@google.com> |
Break Layer class into Gl and Vulkan subclasses Test: manual testing Change-Id: Ibd2beed39de3ac6da7448e96496253cfe427dfbb
penGLPipeline.cpp
|
1deac99c557d4be757c266e066a0d614c1959474 |
27-Sep-2016 |
John Reck <jreck@google.com> |
Support EGL_KHR_partial_update without EGL_EXT_buffer_age Bug: 31334677 Test: manual && hwuimacro --onscreen partialdamage Change-Id: I9b346b4053ec12c8a78a143a4dc0e708c44888a2
glManager.cpp
|
cd55852fcd840f7f4c4d7a0a7253a2995c77afa2 |
17-Nov-2016 |
Greg Daniel <egdaniel@google.com> |
Make buffer age work in Vulkan Test: manual testing in skiavk mode Change-Id: I5b9d8af7d9cecf2f022ef104ec33a5b7477e9e0c
anvasContext.cpp
glManager.cpp
glManager.h
rame.cpp
rame.h
RenderPipeline.h
penGLPipeline.cpp
ulkanManager.cpp
ulkanManager.h
|
116c376c737fafff0e69f4b6c30d77fd21127ffc |
29-Nov-2016 |
Daichi Hirono <hirono@google.com> |
Fix hwui compile error only seen with debug switch. Bug: None Test: Build succeeded Change-Id: I26e3f4fdc10f27d7eb7f3987d0f3e5dfa1bc9f45
penGLPipeline.cpp
|
59eecb526adc5bd7041e7b6147bfcc40dd2c200e |
18-Nov-2016 |
sergeyv <sergeyv@google.com> |
Support readback from hardware bitmaps Test: hwuimacro readbackFromHBitmap --onscreen. bug:30999911 Change-Id: I369c069c40cb0f9adae5a94501815f29c2d7df0f
enderProxy.cpp
enderProxy.h
|
7269372d5f6a972e1878c37a07deca1e47c6f5fa |
18-Nov-2016 |
John Reck <jreck@google.com> |
Merge "Avoid starving RT anims" am: f77c220aa9 Change-Id: I3d4ba24ae0e6de4683d47163fd8f3bf65b98bd17
|
a5b7b8916622d44661b6e7936c9b738655a06f3b |
15-Nov-2016 |
John Reck <jreck@google.com> |
Avoid starving RT anims Test: Manual, usleep(16000) in DrawFrameTask and tap on recents Merged-In: I88bb30a2503bc908ec45650c7d36b6fb3cc750d0 Change-Id: I88bb30a2503bc908ec45650c7d36b6fb3cc750d0
enderThread.cpp
|
769ccdbc1e4f1acbc73a7c595fc5dbacf53a1702 |
17-Nov-2016 |
John Reck <jreck@google.com> |
Merge "Avoid starving RT anims"
|
189e87498f666e94dc8c8201e7bac56bb09b9251 |
16-Nov-2016 |
Derek Sollenberger <djsollen@google.com> |
Update pinImages to report when GPU resource limits are exceeded. Bug: 32691999 Test: proposed CTS test (ag/1500396) and existing UiRendering tests Change-Id: I190f888ae5499ac048569af8256fdd31d19d1285
anvasContext.h
|
c4fbada76aa840105553b2c2bce2204e673d2983 |
07-Nov-2016 |
Derek Sollenberger <djsollen@google.com> |
Support Surface and Layer Readback in the SkiaPipelines. Test: CTS TextureViewTests and UIRendering Change-Id: I2969c8f5a975bfd9aebcbb585c64d1fcbb2487c2
penGLPipeline.cpp
enderProxy.cpp
enderThread.cpp
enderThread.h
|
12efa55094b2fe38ef5ce232f3d8f02e78b71621 |
15-Nov-2016 |
John Reck <jreck@google.com> |
Avoid starving RT anims Test: Manual, usleep(16000) in DrawFrameTask and tap on recents Change-Id: I88bb30a2503bc908ec45650c7d36b6fb3cc750d0
enderThread.cpp
|
0e3cba31460e0698def0310003b7d291f1174afa |
09-Nov-2016 |
Derek Sollenberger <djsollen@google.com> |
Handle vulkan windowing directly in SkiaVulkanPipeline Test: manual testing in skiavk mode Change-Id: I2fab80bae2787bfdacbc70d0402e98450e59406d
enderThread.cpp
enderThread.h
ulkanManager.cpp
ulkanManager.h
|
3e62009709d9e329b7a309b78cce43943f7c2da6 |
07-Nov-2016 |
Derek Sollenberger <djsollen@google.com> |
Merge "Refactor pin/unpinImages to work across pipelines."
|
7e044fef628c7deb25189958714cb93a714a3617 |
07-Nov-2016 |
Derek Sollenberger <djsollen@google.com> |
Enable SkiaPipelines to interoperate with existing GlesDriver configs. Test: hwui unit tests Change-Id: Icd94d0e21130d86fb5514801f999d0018a69e151
glManager.cpp
|
b7d34b64dd32e3d84bd43344c9c3d9ad098129af |
04-Nov-2016 |
Derek Sollenberger <djsollen@google.com> |
Refactor pin/unpinImages to work across pipelines. Test: existing CTS tests still pass Change-Id: Ib2607e9853396bad42f298829b5c5da0d210af32
anvasContext.h
rawFrameTask.cpp
RenderPipeline.h
penGLPipeline.cpp
penGLPipeline.h
|
500a0c30d4dcd012218c3e44a62926a1c34a259f |
26-Oct-2016 |
Stan Iliev <stani@google.com> |
Implement Skia pipelines for OpenGL and Vulkan. Implement Skia pipelines for OpenGL and Vulkan: base SkiaPipeline, SkiaOpenGLPipeline and SkiaVulkanPipeline. Write unit tests for SkiaPipeline. Test: Built and run manually on angler-eng. Change-Id: Ie02583426cb3547541ad9bf91700602a6163ff58
anvasContext.cpp
glManager.h
|
97cc85fd4b5ab6070ce75c2792369d4611625eaf |
01-Nov-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Merge "Routine to upload hardware bitmaps"
|
694d499662838123f474f41b31dea84ec5d563f0 |
27-Oct-2016 |
sergeyv <sergeyv@google.com> |
Routine to upload hardware bitmaps Change-Id: Id8283a0975325e6830d55fd1e33c5f292a1e9be0 Test: refactoring cl. bug:30999911
glManager.cpp
glManager.h
enderProxy.cpp
enderProxy.h
|
050bb6a2b02fe19b7872f3eaed655346fc8a050e |
26-Oct-2016 |
Derek Sollenberger <djsollen@google.com> |
Minor cleanup of unused headers and overly described functions. Test: local compile Change-Id: I5b794c9473f6d3a9e1d4f9365c951c7ce9dade50
anvasContext.cpp
|
daf7229047c44947b9b02ee187fe5b13f30ebd4b |
25-Oct-2016 |
Derek Sollenberger <djsollen@google.com> |
Move OpenGL specific details behind renderPipeline interface. Test: new and existing unit tests still pass. Change-Id: I6164f30f45ebe450788ed8d949eca5af9a44e585
anvasContext.cpp
anvasContext.h
penGLPipeline.cpp
penGLPipeline.h
enderProxy.cpp
enderThread.h
|
be9a73063c9e2dc56ee1e29cc93308d17b18eece |
26-Oct-2016 |
Derek Sollenberger <djsollen@google.com> |
Merge "Store GrContext on RenderThread for use by Skia-based renderers."
|
de97307362c26b64e2376b21ccde8414088cdc8b |
25-Oct-2016 |
Matt Sarett <msarett@google.com> |
Make FrameInfoVisualizer use an IRenderPipeline to draw Removing the direct uses of the BakedOpRenderer should make it easier for the SkiaGL pipeline to take advantage of these debugging features. Test: Verified that debug.hwui.show_dirty_regions and debug.hwui.profile still behave as expected. BUG:32370375 Change-Id: I2818bda4a18ec183c9c39ca080ad34a4dc89b5cd
penGLPipeline.cpp
|
98f75d53dbe243b1661c616643698e025d4978f6 |
25-Oct-2016 |
Derek Sollenberger <djsollen@google.com> |
Store GrContext on RenderThread for use by Skia-based renderers. Test: built and booted on device Change-Id: I4c1060ec72bc67e54e6b2d25b1f2c13aaa513f89
anvasContext.h
glManager.cpp
RenderPipeline.h
penGLPipeline.h
enderThread.h
|
ec4a4b13eae2241d1613890c1c1c096bed891845 |
21-Oct-2016 |
sergeyv <sergeyv@google.com> |
Use Bitmap in DisplayList & RecordedOps instead of SkBitmap Test: refactoring cl. bug:32216791 Change-Id: I1d8a9a6e772e2176b6c2409409a910478b45f8db
enderProxy.cpp
enderProxy.h
|
6e68bedacc3086f49b0cff6d20e006bcc6559603 |
13-Oct-2016 |
Derek Sollenberger <djsollen@google.com> |
Merge "Initial refactoring to enable the addition of the SkiaOpenGLPipeline."
|
253f2c213f6ecda63b6872aee77bd30d5ec07c82 |
29-Sep-2016 |
Romain Guy <romainguy@google.com> |
Linear blending, step 1 NOTE: Linear blending is currently disabled in this CL as the feature is still a work in progress Android currently performs all blending (any kind of linear math on colors really) on gamma-encoded colors. Since Android assumes that the default color space is sRGB, all bitmaps and colors are encoded with the sRGB Opto-Electronic Conversion Function (OECF, which can be approximated with a power function). Since the power curve is not linear, our linear math is incorrect. The result is that we generate colors that tend to be too dark; this affects blending but also anti-aliasing, gradients, blurs, etc. The solution is to convert gamma-encoded colors back to linear space before doing any math on them, using the sRGB Electo-Optical Conversion Function (EOCF). This is achieved in different ways in different parts of the pipeline: - Using hardware conversions when sampling from OpenGL textures or writing into OpenGL frame buffers - Using software conversion functions, to translate app-supplied colors to and from sRGB - Using Skia's color spaces Any type of processing on colors must roughly ollow these steps: [sRGB input]->EOCF->[linear data]->[processing]->OECF->[sRGB output] For the sRGB color space, the conversion functions are defined as follows: OECF(linear) := linear <= 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055 EOCF(srgb) := srgb <= 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4) The EOCF is simply the reciprocal of the OECF. While it is highly recommended to use the exact sRGB conversion functions everywhere possible, it is sometimes useful or beneficial to rely on approximations: - pow(x,2.2) and pow(x,1/2.2) - x^2 and sqrt(x) The latter is particularly useful in fragment shaders (for instance to apply dithering in sRGB space), especially if the sqrt() can be replaced with an inversesqrt(). Here is a fairly exhaustive list of modifications implemented in this CL: - Set TARGET_ENABLE_LINEAR_BLENDING := false in BoardConfig.mk to disable linear blending. This is only for GLES 2.0 GPUs with no hardware sRGB support. This flag is currently assumed to be false (see note above) - sRGB writes are disabled when entering a functor (WebView). This will need to be fixed at some point - Skia bitmaps are created with the sRGB color space - Bitmaps using a 565 config are expanded to 888 - Linear blending is disabled when entering a functor - External textures are not properly sampled (see below) - Gradients are interpolated in linear space - Texture-based dithering was replaced with analytical dithering - Dithering is done in the quantization color space, which is why we must do EOCF(OECF(color)+dither) - Text is now gamma corrected differently depending on the luminance of the source pixel. The asumption is that a bright pixel will be blended on a dark background and the other way around. The source alpha is gamma corrected to thicken dark on bright and thin bright on dark to match the intended design of fonts. This also matches the behavior of popular design/drawing applications - Removed the asset atlas. It did not contain anything useful and could not be sampled in sRGB without a yet-to-be-defined GL extension - The last column of color matrices is converted to linear space because its value are added to linear colors Missing features: - Resource qualifier? - Regeneration of goldeng images for automated tests - Handle alpha8/grey8 properly - Disable sRGB write for layers with external textures Test: Manual testing while work in progress Bug: 29940137 Change-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b
anvasContext.cpp
anvasContext.h
glManager.cpp
glManager.h
enderProxy.cpp
enderProxy.h
|
85ddb2df2f41eb4b442669d4a2528a4e346e2557 |
27-Jun-2016 |
John Reck <jreck@google.com> |
Fix SurfaceViewPositionListener race bugs Bug: 29628138 1: Make windowPositionLost synchronous as that's what the Java side was expecting 2: Make the listener ref counted as otherwise there's a race condition with the GC, which could end up with use-after-frees 3: Ensure that all position updates are invoked prior to frame completion Change-Id: Iedbc017f611ba2878a49b4586612f79249ca2fe3 (cherry picked from commit 7b570deea65bc7ac417a26ce3e4103bcef30e957)
anvasContext.cpp
|
0df6209a02d0ea99d2dff3a46ed9febd5925df4b |
27-Sep-2016 |
Derek Sollenberger <djsollen@google.com> |
Initial refactoring to enable the addition of the SkiaOpenGLPipeline. Test: existing and new HWUI unit tests all pass. Change-Id: I4f5c1dc839a2ed15d8b0f6245fe030684501b083
anvasContext.h
RenderPipeline.h
penGLPipeline.h
|
6a21ca5a4c6b62ae277ae6dcb14bc187460321a0 |
28-Sep-2016 |
Derek Sollenberger <djsollen@google.com> |
Move Layer creation/deletion into the RenderPipeline. Test: refactoring. existing tests still pass. Change-Id: I032c33896a0cb74c91e2a913a584373518466b88
anvasContext.cpp
anvasContext.h
RenderPipeline.h
penGLPipeline.cpp
penGLPipeline.h
|
8733bff058e12075e50c15c0c56c20298cc5f44f |
27-Sep-2016 |
John Reck <jreck@google.com> |
Support EGL_KHR_partial_update without EGL_EXT_buffer_age Bug: 31334677 Test: manual && hwuimacro --onscreen partialdamage Change-Id: I9b346b4053ec12c8a78a143a4dc0e708c44888a2
glManager.cpp
|
dcbc0e9e25bf99600d487f3c6f5e26487545cd9c |
14-Sep-2016 |
sergeyv <sergeyv@google.com> |
resolve merge conflicts of 0ec2fd7 to master Change-Id: I113ede26ab42e3f9a36a52a756c38d365731e16d
|
0ec2fd7bc5f3c57f7783425608732d2f95f53c4a |
13-Sep-2016 |
sergeyv <sergeyv@google.com> |
HWUI: track upload & recent usage in font cache am: af102bee51 am: 42c01cf62f Change-Id: Ieb80108d520aa629c54a40d7c533bf74a71849c4
|
af102bee518191f1e6ad843f06dcd7a64611462d |
10-Sep-2016 |
sergeyv <sergeyv@google.com> |
HWUI: track upload & recent usage in font cache FontCacheHistoryTracker should be turned off before shipping: b/31438876 bug:30427106 Change-Id: Ic26b25e790d4ee69e484ca0cb23dc9cc522b2ed3
anvasContext.cpp
|
9580146f5076aaa7c498f86bd3d724c00599f6f4 |
01-Sep-2016 |
John Reck <jreck@google.com> |
Add API to copy a window Change-Id: I9bb5209010db6665be4b6f8db81a6fc1b7debc45
enderProxy.cpp
enderProxy.h
|
471a63ee35f0be76cd7c2bc9a38889b9d2062f41 |
02-Sep-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Fix texture leak"
|
7cae510f41d5c60da5fe83d9a0417ca6fc880df3 |
02-Sep-2016 |
Chris Craik <ccraik@google.com> |
Wait on frame work fences when frames are dropped am: 06e2e9cf4c am: 7a14f5aeb9 am: b53c60876a Change-Id: Ib9c5be43f65379770b17260c34be90fccb360277
|
b53c60876aaa287c90750baca026c58bb28f68c2 |
02-Sep-2016 |
Chris Craik <ccraik@google.com> |
Wait on frame work fences when frames are dropped am: 06e2e9cf4c am: 7a14f5aeb9 Change-Id: I9f2159f2f5c8111df0c14e46cc5690cbfab9b7e9
|
3053ac7f12a36b9db09ffc7219b798eaa24b891a |
02-Sep-2016 |
John Reck <jreck@google.com> |
Fix texture leak Bug: 31251593 Change-Id: Ic86729eb6089239134213588d80459d14227ade6
anvasContext.cpp
penGLPipeline.cpp
|
06e2e9cf4c3fe1eaac3271c9a346d5cc7fe5c3a8 |
01-Sep-2016 |
Chris Craik <ccraik@google.com> |
Wait on frame work fences when frames are dropped bug:30895941 Prevents a race where frame work could interleave between frames, causing SurfaceView position updates to be delivered out of order. Change-Id: I01e4cc557b69dcf33e877a0e16c0d115ec95e4cc
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
|
56996ff61e4961880db1240f6a5d4f57a79512d9 |
12-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 76ce8e5 to stage-aosp-master am: ed935c32f4 am: ef57a0d629 Change-Id: Ifcc24ad835f2e74a25954bf3fd7090c75abdc084
|
ed935c32f478229220a90442da0af3c3d3fc6230 |
12-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 76ce8e5 to stage-aosp-master Change-Id: I4b4ca9906373a95776d2da8ba2fa39a4a78e2a30
|
f35c939cd70f2815582d08902ade0b9abbee6bec |
10-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy warnings in libs/hwui. * Add explicit keyword to conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 Test: build with WITH_TIDY=1 Change-Id: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda Merged-In: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda
glManager.h
|
49796451cb9d1dae580618eb320ef3c5e6d90cd4 |
10-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy warnings in libs/hwui. * Add explicit keyword to conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 Test: build with WITH_TIDY=1 Change-Id: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda
glManager.h
|
712765ff3448e84f415866f040e0e84a3f553361 |
10-Aug-2016 |
John Reck <jreck@google.com> |
resolve merge conflicts of 1d7ee6b to master Change-Id: I2ed0f2c3233151e890bd8bde825d306ec8f0d8fd
|
1d7ee6b5a363eaffb3d478fa4bbd23f5a4a4009c |
10-Aug-2016 |
John Reck <jreck@google.com> |
Make updateSurface non-blocking am: cd68212f08 am: 9dd91dec3f Change-Id: I8a27b5bcff0781e90c9d061da0c1fe03eb6d8176
|
cd68212f0821e75081375a5af5ef5fce6e45e167 |
09-Aug-2016 |
John Reck <jreck@google.com> |
Make updateSurface non-blocking Bug: 30442298 We already do this for initialize(), fix it so that update() is parallel with the UI thread as well. Shaves ~7ms off of the 99th percentile on NotificationShade open & close Change-Id: I1791df495453fb9e1e12362c68e3d20e837e62be
enderProxy.cpp
|
0ddfbc46c434e8ce26919ee74526cda0d8d199af |
08-Aug-2016 |
John Reck <jreck@google.com> |
Ensure Dequeue/Queue duration is always set am: 70e89c9c37 am: ed343def3e am: 77e5333520 Change-Id: I0c51b04c0dd7bafecf03c42417c4247fd281c325
|
77e5333520367098407b2aa87591a9b4fbec49f8 |
08-Aug-2016 |
John Reck <jreck@google.com> |
Ensure Dequeue/Queue duration is always set am: 70e89c9c37 am: ed343def3e Change-Id: I7d8d854254f491f1a65d0efb82fa8545bc6feacf
|
70e89c9c376bf5bb20498c5c952cf665b2cd7375 |
05-Aug-2016 |
John Reck <jreck@google.com> |
Ensure Dequeue/Queue duration is always set Bug: 30662749 Change-Id: I35a4c26ce78536fc7a506ec2f92a8b9eecb12ec2
anvasContext.cpp
|
2e729ebf5f1a9a17851e34dbbe176dcf2c5a65ab |
02-Aug-2016 |
Doris Liu <tianliu@google.com> |
Put VD animators on paused list when RT stops drawing am: c82e879e56 am: 70b6080cd7 am: 4ec05be535 Change-Id: I22e66e33aa51064230351f1fd24e5fb200511213
|
4ec05be5352620daba384252c569248c96a6ca05 |
02-Aug-2016 |
Doris Liu <tianliu@google.com> |
Put VD animators on paused list when RT stops drawing am: c82e879e56 am: 70b6080cd7 Change-Id: I2ad721d1e9a20e5a1946a779ac0e84118b017505
|
70b6080cd7eabe7a30bf2d4e2eca2325dc1ff4f0 |
02-Aug-2016 |
Doris Liu <tianliu@google.com> |
Put VD animators on paused list when RT stops drawing am: c82e879e56 Change-Id: I9f0202c8e69e681014253842b2a2de75d372616b
|
0cf4d47a4094a43984a5215ab1a283b0fdcf87a8 |
02-Aug-2016 |
Doris Liu <tianliu@google.com> |
Merge "Put VD animators on paused list when RT stops drawing" into nyc-mr1-dev
|
8b9a1fa0848df557d5c718f3ef1230e6a82a320a |
02-Aug-2016 |
John Reck <jreck@google.com> |
Eliminate recents upload jank am: 4387190d8e am: 021a952150 am: 897b9effb7 Change-Id: Iab2f01b5b3a9be6946e36169209c281a3320ed14
|
56f9ccfa152af98021ed9537d9ee823c35b9e473 |
02-Aug-2016 |
John Reck <jreck@google.com> |
Fix null deref crash am: 882d515cd5 am: ed93e111c5 am: 86e700ebc9 Change-Id: I97412741a5f41fa0c5bec56795cf7f7b8875f738
|
897b9effb7f84c241bc68686c09324987c1dba37 |
02-Aug-2016 |
John Reck <jreck@google.com> |
Eliminate recents upload jank am: 4387190d8e am: 021a952150 Change-Id: I9715db27b6ea265c180f56297815b7240368231f
|
021a95215043fc5264848730a394fc601dc23fb1 |
02-Aug-2016 |
John Reck <jreck@google.com> |
Eliminate recents upload jank am: 4387190d8e Change-Id: I40fd49a61dde974c4215c4ccf9676f84cb3f43a7
|
e733f862f06dd4fa9a84741ea94866fc2bc2f14e |
02-Aug-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Eliminate recents upload jank" into nyc-mr1-dev
|
4387190d8ec9fe4e953fcfeb093a644b82cf85ed |
01-Aug-2016 |
John Reck <jreck@google.com> |
Eliminate recents upload jank Bug: 30342017 Upload recents thumbnails in the dead gaps between frames instead of at the start of a frame. This eliminates jank caused by the large texture upload. Change-Id: I507cd286d199109c7a9a1511d68ba5ab5d28069f
enderProxy.cpp
enderProxy.h
|
86e700ebc99a84684362e5c2bf8e620ae5f316fb |
02-Aug-2016 |
John Reck <jreck@google.com> |
Fix null deref crash am: 882d515cd5 am: ed93e111c5 Change-Id: Ie1ce80145beb803f18118a64ac3be98ad77e3228
|
882d515cd54627f320269aa2d744f1c9f1a75c71 |
01-Aug-2016 |
John Reck <jreck@google.com> |
Fix null deref crash Bug: 30560152 Change-Id: Ic4bae380e27de5bea80cec484e83d205e078ec43
anvasContext.cpp
|
c82e879e563ad692cabf19f61a08559c6220171e |
30-Jul-2016 |
Doris Liu <tianliu@google.com> |
Put VD animators on paused list when RT stops drawing When we stop scheduling for new frames on RenderThread, we should put the running animations on pause, rather than purge the list of the running animations, such that in the next full sync, the animations that were paused will continue to run. BUG: 30226711 Change-Id: I36ff6f5d26ffa7999f60ca0ff676a35157577dc2
anvasContext.cpp
|
63d8aa930f8859978200b7af8664aefc33fd2a51 |
31-Jul-2016 |
Hugo Benichi <hugobenichi@google.com> |
Merge \\\"Fix missing IpConnectivity metrics\\\" into nyc-mr1-dev am: 66e7752ad1 am: b2db402899 am: fb5c675b7e Change-Id: Iba1f81a892acd9f541b9dd564203bfebc56c9c73
|
fb5c675b7e1fee074f19cf1866b5dda0785dbe64 |
29-Jul-2016 |
John Reck <jreck@google.com> |
resolve merge conflicts of 67daab6 to nyc-mr1-dev-plus-aosp Change-Id: I35f867b8d6408a7eae9cf5643f0908259de90cb1
|
67daab6a1e0897cd0528a19071eeb9f4a2b00b49 |
29-Jul-2016 |
John Reck <jreck@google.com> |
Teach JankTracker about new swap behaviors am: 2d5b8d7392 Change-Id: I28afc748f8a43944863bd752c3bd2cb983d19c23
|
34921ac1104e155682c6e807856e3e06f756c8f3 |
29-Jul-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Teach JankTracker about new swap behaviors" into nyc-mr1-dev
|
b5405b171c4abe4fa4f7f9c13d8bcb83fc7c9639 |
29-Jul-2016 |
John Reck <jreck@google.com> |
Drop less aggressively am: a3d795a34a am: 62ec371a9e am: fd6bf88724 Change-Id: I4a6bd075a1989b942c2531048d5d5335a24874f4
|
2d5b8d73929a38b019c6b6276d4a19542b990f0c |
29-Jul-2016 |
John Reck <jreck@google.com> |
Teach JankTracker about new swap behaviors Bug: 30440166 If we are using HWC2, there's a change in timing when in triple buffering with the pipelined offsets. This changes JankTracker to recognize that and silently erase that from the total duration Change-Id: Ib1fd4209070f17dbd2baed707c8cf73fb11c3cf2
anvasContext.cpp
enderThread.cpp
|
fd6bf88724d4f9e38bbe5273debbdc22ca0485d8 |
28-Jul-2016 |
John Reck <jreck@google.com> |
Drop less aggressively am: a3d795a34a am: 62ec371a9e Change-Id: Ifd9329e071f9391c5a5ced79301aee5410eff6d4
|
a3d795a34a786bbe8b5027f70df36b81328109c2 |
28-Jul-2016 |
John Reck <jreck@google.com> |
Drop less aggressively Bug: 30342762 Frame dropping was too frequent and would trigger during normal triple buffering steady state. Bump the threshold to drop from 3ms stall to 6ms stall. Change-Id: I5c1faeaabf0d02323a28e697a4af4105fbcf1c53
anvasContext.cpp
|
56ad6ec42f814e9e61030ff819cac4e5d31def8b |
22-Jul-2016 |
Derek Sollenberger <djsollen@google.com> |
Remove LayerRenderer. There is only one caller each for the static functions here so this CL moves the logic to the caller. Also by moving some of the code into the pipeline it makes it easier for future changes to configure how a pipeline handles a layer. Change-Id: Ib735b5154325cbb658fd151f7a19dbf434ab44b7
anvasContext.cpp
anvasContext.h
RenderPipeline.h
penGLPipeline.cpp
penGLPipeline.h
enderProxy.cpp
|
846799d693adc83ba973d8fef6d73dc53a994d1d |
22-Jul-2016 |
Stephen Hines <srhines@google.com> |
resolve merge conflicts of f53bfc9 to master Change-Id: Idb454415b166b2ff215c604475dd9129958e7edd
|
f53bfc911fa88c15b25f38553a5647ad00f221a3 |
22-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 3fb651b to nyc-mr1-dev-plus-aosp Change-Id: I52d56e84620c85638798d949f8eb819387a01902
|
05160d70d14180fef3782a63dff2e822b51c3cf5 |
22-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 5152fd9 to stage-aosp-master Change-Id: I2066125eb4076dbc9e8996bb1fa87735aa6040d3
|
faecb78a6b11c780db47bc940ca7662899ab5d5e |
21-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings in frameworks/base * Add explicit keyword to conversion constructors. * Add NOLINT to implicit conversion constructors. Bug: 28341362 Test: build with clang-tidy Change-Id: Ie4d37072ab57d1662d18db4de1c8577247f43337
enderTask.h
|
cf3e1a7fa847e6895c3bc8d9549d2ed9ce736608 |
21-Jul-2016 |
Chris Craik <ccraik@google.com> |
Merge \\"Change swap chain stuffed detection logic\\" into nyc-mr1-dev am: 433a19e8bf am: 3c37412900 Change-Id: Id7e0d1d1dfb5448dd927c29361fb98aabf0cfe10
|
3c37412900502fd491cc40e1df594ee1f45af1b2 |
21-Jul-2016 |
Chris Craik <ccraik@google.com> |
Merge \"Change swap chain stuffed detection logic\" into nyc-mr1-dev am: 433a19e8bf Change-Id: I6942a7cef5c831a1be3ee0252c2f475594f3db39
|
3163568806f2f1c360f93772453f4b0b3a9b2e47 |
20-Jul-2016 |
Chris Craik <ccraik@google.com> |
Change swap chain stuffed detection logic bug:29771461 bug:29413700 bug:30181577 Changes frame interval gap detection to look for wider gaps, as they were incorrectly firing all the time. Also adds a 500ms minimum gap between frames dropped because of stuffed swap chain, to prevent dropping too often. Change-Id: If16ed637d54bf37015704be102c5c2e3731a0824
anvasContext.cpp
anvasContext.h
|
44b7f75587fbd8e382b3a58e5f272a9776f1efc2 |
19-Jul-2016 |
Tim Murray <timmurray@google.com> |
Merge changes I15da2563,I7845542d into nyc-mr1-dev am: 7b8b1aab93 am: 619682b960 Change-Id: I98afd5bead70cf25ca43e49c1215ccef1e472a83
|
619682b960eca422fbf0387e0bc32875c76bf170 |
19-Jul-2016 |
Tim Murray <timmurray@google.com> |
Merge changes I15da2563,I7845542d into nyc-mr1-dev am: 7b8b1aab93 Change-Id: I66d92cd3c08a67598cefdc6256825b1c6c1736f5
|
ffde6274f7acb988ce181454b4d5abe3cef483b5 |
18-Jul-2016 |
Tim Murray <timmurray@google.com> |
add tracepoint for when the display chain is stuffed bug 30173296 Change-Id: I7845542d4e5c19ccb7c3ee6498cc2d70278b5397
anvasContext.cpp
|
b4c51cf024f705f104ef4a3f8cede2302806d72c |
14-Jul-2016 |
Stan Iliev <stani@google.com> |
Merge "Move isSkiaEnabled to the Properties class"
|
768e39335b668e8ef25fef30ab42b2d6d29a4735 |
09-Jul-2016 |
Stan Iliev <stani@google.com> |
Refactor CanvasContext: move OpenGL specific code Move OpenGL specific code from CanvasContext into a new class OpenGLPipeline. Change-Id: I4363053f890701a4235927b59ec588861488ea8f
anvasContext.cpp
anvasContext.h
RenderPipeline.h
penGLPipeline.cpp
penGLPipeline.h
|
8a33e4019991c58b06adf2e3a9ac1eeeccd8fa94 |
08-Jul-2016 |
Stan Iliev <stani@google.com> |
Move isSkiaEnabled to the Properties class Move CanvasContext::isSkiaEnabled to Properties:isSkiaEnabled. Change-Id: I0a62f43825cf59ba338a24a056e8c2a56d1c5315
anvasContext.cpp
anvasContext.h
|
5e00c7ce063116c11315639f0035aca8ad73e8cc |
07-Jul-2016 |
Chris Craik <ccraik@google.com> |
Delete old rendering pipeline fixes: 30002246 Change-Id: I45df0e924708526cee045b14c291bd23aa1a92db
anvasContext.cpp
anvasContext.h
enderProxy.cpp
|
aa1735370b24428647508d2ff0f29a617cb955e9 |
07-Jul-2016 |
Tim Murray <timmurray@google.com> |
Merge changes from topic \\'fifo\\' into nyc-mr1-dev am: a96d445aef am: 03b34e402c Change-Id: If3104889f659aef9a6d7035e18ab839544c9ecb3
|
03b34e402c58d7425fd0318a6e69f03a59ae715e |
07-Jul-2016 |
Tim Murray <timmurray@google.com> |
Merge changes from topic \'fifo\' into nyc-mr1-dev am: a96d445aef Change-Id: If4a5c3f65cb611aecf82ad49ad6d992f098cbfb1
|
a96d445aef1456398410e41e9c29d9181287edc5 |
07-Jul-2016 |
Tim Murray <timmurray@google.com> |
Merge changes from topic 'fifo' into nyc-mr1-dev * changes: Add new mode for SCHED_FIFO on UI and RenderThreads. Add isThreadInProcess.
|
a1a529eec0f1183c2dbb09d9c6fd12211154bebd |
07-Jul-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Implement runtime switch to select default renderer mode"
|
33eb07f5759b85a5617f8057d8a335019c7d24dd |
10-Jun-2016 |
Tim Murray <timmurray@google.com> |
Add new mode for SCHED_FIFO on UI and RenderThreads. Add a new mode, controlled by sys.use_fifo_ui property, that enables the top app's UI and RenderThread to be SCHED_FIFO. This eliminates almost all jank due to scheduling competition with non-UI critical threads. This mode may not be suitable for all devices. bug 24503801 Change-Id: I7b8a31830ad80f7efa00236928d5476998ed4e00
enderProxy.cpp
enderProxy.h
|
6f98aa2ff83de7b3f650529c3995b4276c3d3bd5 |
07-Jul-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Unify readback Surface/TextureView copy mechanism"
|
03de074d05108fa9fb07c6b847c7163ada5776da |
07-Jul-2016 |
Stan Iliev <stani@google.com> |
Implement runtime switch to select default renderer mode Add a system property debug.hwui.default_renderer, which allows to set rendering mode to OpenGL (default), Skia OpenGL or Vulkan. Change-Id: I8bca5bacc5108f77437e340ac61f2d8db8cc4c39
anvasContext.cpp
anvasContext.h
enderProxy.cpp
|
764045da2ce980f1eee78171de5b4f09dfb601a7 |
07-Jul-2016 |
Chris Craik <ccraik@google.com> |
Unify readback Surface/TextureView copy mechanism Removes last usage of old rendering pipeline. Change-Id: Ia920dec9cd726ca221e11e888562c7df39a9761e
anvasContext.cpp
|
e7f27fbf93ad0c26dfc6142ff1fde4a70b94aa23 |
07-Jul-2016 |
John Reck <jreck@google.com> |
Merge \\"Consider queue & dequeue times for should draw\\" into nyc-mr1-dev am: 3a465e7a12 am: 6354336493 Change-Id: Idbe85f08c27cc6f9433badd886a1fe7d9ba73c4f
|
63543364933f51d69475b984adf4d6fa74fff041 |
07-Jul-2016 |
John Reck <jreck@google.com> |
Merge \"Consider queue & dequeue times for should draw\" into nyc-mr1-dev am: 3a465e7a12 Change-Id: I2ea38a087056e2f75aeb27c5bce03fe52690cd6e
|
0def73aac5956d82a065fd75e90eac4c58418e03 |
02-Jul-2016 |
John Reck <jreck@google.com> |
Consider queue & dequeue times for should draw Bug: 29413700 Change-Id: I4b27b077af569e3c60c57b0e11501e9f3af70579
anvasContext.cpp
anvasContext.h
|
f1480761c1a83aecd09cdd473ec797a41d1a2f3f |
04-Jul-2016 |
John Reck <jreck@google.com> |
Benchmark-mode for macrobench Adds googlebench output format support Adds offscreen rendering for >60fps benchmarking Adds 'all' alias to run all registered TestScenes Change-Id: I2579e40f2f4c941bfbd90c75efbee384c08a116b
anvasContext.cpp
enderProxy.cpp
enderProxy.h
|
05357641d398ef77d880da387a230820ab3203fe |
29-Jun-2016 |
Derek Sollenberger <djsollen@google.com> |
Remove unused method from RenderProxy and CanvasContext. Change-Id: I324bbfa40a2155d0212fa20c6bd39df5bb21d27a
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
a1a0bbddba8d01830e9c7e2c90f34306c2802add |
28-Jun-2016 |
John Reck <jreck@google.com> |
Merge \\"Fix SurfaceViewPositionListener race bugs\\" into nyc-mr1-dev am: 8701bff9ba am: 892f8e7d4f Change-Id: I1e66186dce36e52cafe6c0d027aeae7c9345703c
|
892f8e7d4f6391ce267d5add91638014e6c0e5d5 |
28-Jun-2016 |
John Reck <jreck@google.com> |
Merge \"Fix SurfaceViewPositionListener race bugs\" into nyc-mr1-dev am: 8701bff9ba Change-Id: I17b1cf4e81321edb04ae9ac99449160a705ba824
|
7b570deea65bc7ac417a26ce3e4103bcef30e957 |
27-Jun-2016 |
John Reck <jreck@google.com> |
Fix SurfaceViewPositionListener race bugs Bug: 29628138 1: Make windowPositionLost synchronous as that's what the Java side was expecting 2: Make the listener ref counted as otherwise there's a race condition with the GC, which could end up with use-after-frees 3: Ensure that all position updates are invoked prior to frame completion Change-Id: Iedbc017f611ba2878a49b4586612f79249ca2fe3
anvasContext.cpp
|
d2be84ff7c0f98adbec25e6d02429d428998c882 |
22-Jun-2016 |
John Reck <jreck@google.com> |
Merge "Delete unused args"
|
ab1080c4d075b008cebdd9a2031ebbd51f9c2729 |
22-Jun-2016 |
John Reck <jreck@google.com> |
Delete unused args Bug: 21170575 Change-Id: Icc832f70f206342557f44667ad3498405d04db78
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
cb96c826f3bfbe85ca7359908fb2f6f1362bd803 |
18-Jun-2016 |
John Reck <jreck@google.com> |
Merge \\\"Avoid re-calculating vsync mid-frame\\\" into nyc-dev am: fc275d244e am: cb0649f72b am: a32df88d7d Change-Id: Ica67f2cf6e78bdde5170e47ef6fb150f234a47cf
|
2d30d672499a61287b6e20cf3065eee4ec2bc9ea |
18-Jun-2016 |
John Reck <jreck@google.com> |
Merge \"Avoid re-calculating vsync mid-frame\" into nyc-dev am: fc275d244e Change-Id: I295b6e60a7b2fdcdce3692e74fe54755845132e0
|
a32df88d7d2f344d170608966dee661d258163dc |
18-Jun-2016 |
John Reck <jreck@google.com> |
Merge \\"Avoid re-calculating vsync mid-frame\\" into nyc-dev am: fc275d244e am: cb0649f72b Change-Id: I7cc9443c1ab3e876daa3aeecbcb9a41085f359af
|
cb0649f72b8ef8bfe57c7159bb4f32134f0f709d |
18-Jun-2016 |
John Reck <jreck@google.com> |
Merge \"Avoid re-calculating vsync mid-frame\" into nyc-dev am: fc275d244e Change-Id: Ic46d2d9627c4dcbd345b49f01af0bf3b8247259c
|
501ff9acfe9dd656c1fb6d82ec0533c3244fd88b |
17-Jun-2016 |
John Reck <jreck@google.com> |
Avoid re-calculating vsync mid-frame Fixes: 29072773 By using computeFrameTime AnimationContext would potentially end up modifying the latest vsync if a very-slow frame was received from the UI thread. This could potentially desync animations that were RT & UI thread 'synchronized', but more significantly it would confuse the swap chain which tries to only draw one frame per vsync causing unneccessary frame drops. Change-Id: Ibd2ec3157ce32fee1eec8d56837c45a35e622895
imeLord.cpp
imeLord.h
|
21a7b6e8e36dc9d4a163d809f9cdccb867e9b19c |
14-Jun-2016 |
John Reck <jreck@google.com> |
Merge \\\"Redraw if dirty during stopped when resumed\\\" into nyc-dev am: 5b4ff21a74 am: fc4c59a10c am: 6c3281a7c7 Change-Id: I67192e2450293a6520a30ed78c8381b89558841b
|
6c3281a7c7a2d57ff8de89dcad1ab62e34bf0d5d |
14-Jun-2016 |
John Reck <jreck@google.com> |
Merge \\"Redraw if dirty during stopped when resumed\\" into nyc-dev am: 5b4ff21a74 am: fc4c59a10c Change-Id: Id572ab8137655b8f64e563d78897d2461442dd39
|
f22f6cf0f36156811b75d3202473dfc35005226c |
14-Jun-2016 |
John Reck <jreck@google.com> |
Merge \"Redraw if dirty during stopped when resumed\" into nyc-dev am: 5b4ff21a74 Change-Id: I75235a18c29939b4f221c8af664d5f7218660aed
|
fc4c59a10cfd3cdbecf83657b74fbcedc70d3ada |
14-Jun-2016 |
John Reck <jreck@google.com> |
Merge \"Redraw if dirty during stopped when resumed\" into nyc-dev am: 5b4ff21a74 Change-Id: If4eedb4a4c1ff6d4e96f8b0db4ddd846a2967a9f
|
306f331f91a86da271ce30d4f14d6badf0d25704 |
11-Jun-2016 |
John Reck <jreck@google.com> |
Redraw if dirty during stopped when resumed Change-Id: I0034d1da7704de53c4ba3da3e8ef3109445f9e6a Fixes: 28283031
anvasContext.cpp
anvasContext.h
|
09087eaac9c0bf0ee61dcb4c78b2d32587635e14 |
09-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge \"Handle hidden RT VectorDrawable animators\" into nyc-mr1-dev am: 3f6a95283a Change-Id: I909f3c33690fcb932f1b751def1837d82adb28f4
|
718cd3eb70703c43f29ca37907bbf0e153d8cca0 |
18-May-2016 |
Doris Liu <tianliu@google.com> |
Handle hidden RT VectorDrawable animators This CL changes the target of VD specific animators to VectorDrawable, instead of RenderNode. The benefit of doing so is that animators can now detect whether the animation is meaningful by checking whether their VD target is in the display list. If not, that means the VD is not drawing for the current frame, in which case we can be smarter and more power efficient by removing the animator from the list and posting a delayed onFinished listener callback. By setting VD as the animation target, when an ImageView decides to update its drawable from one AVD to something else, we'll be able to detect that the previous AVD is no longer in the display list, and stop providing animation pulse to the stale AVD, which is something we couldn't do previously. This change also handles the case where one AVD instance could be drawn in two different views. Bug: 27441375 Change-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8
anvasContext.cpp
|
67ce99b66ebc816ae8bbc222db8f3695fb15495b |
18-May-2016 |
Doris Liu <tianliu@google.com> |
Handle hidden RT VectorDrawable animators This CL changes the target of VD specific animators to VectorDrawable, instead of RenderNode. The benefit of doing so is that animators can now detect whether the animation is meaningful by checking whether their VD target is in the display list. If not, that means the VD is not drawing for the current frame, in which case we can be smarter and more power efficient by removing the animator from the list and posting a delayed onFinished listener callback. By setting VD as the animation target, when an ImageView decides to update its drawable from one AVD to something else, we'll be able to detect that the previous AVD is no longer in the display list, and stop providing animation pulse to the stale AVD, which is something we couldn't do previously. This change also handles the case where one AVD instance could be drawn in two different views. Bug: 27441375 Change-Id: Id4b3b37f28274c917cb9beb9dcd3d1e6991b5c5d
anvasContext.cpp
|
d53e3bed1ca4a14b2a86d53eaef6969bd043176e |
03-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings. Bug: 28341362 Change-Id: I080090d50f1a368a4e7c1a0732297bb6a295e34f
anvasContext.cpp
|
85e0c89ba55188ecc484538efbfdb570606fc1a2 |
28-Apr-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 1599b981 to nyc-dev-plus-aosp Change-Id: I90807581e10b6a0024515ff634ac8b29eaa5fc9f
|
c6baf563ba6aa207a48317c177b29f1d2b70cf3d |
27-Apr-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings. Bug: 28341362 Change-Id: Ibdd6a210bb7ff228e3624cc319169f77aca3b51e
enderThread.cpp
|
e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1 |
25-Apr-2016 |
John Reck <jreck@google.com> |
API tweaks to PixelCopy and make it public Bug: 27708453 Change-Id: I81667ce42f9ca1c1a13e1e61299927900845fc84
enderProxy.cpp
enderProxy.h
|
9110429f0d8acac0d621d805050103fa58953fb9 |
19-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Don't reuse LOST_SURFACE for stopped" into nyc-dev
|
8cddce3f8f503b2aa8b993fef6406645c3e80da6 |
19-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Make getFrameNumber lazy" into nyc-dev
|
28912a508493e583c48772e2a234e0ed66849490 |
18-Apr-2016 |
John Reck <jreck@google.com> |
Make getFrameNumber lazy Change-Id: I783de544ad9a3636ea90f1c8c4034738997bfbc8 Fixes: 28246085
anvasContext.cpp
anvasContext.h
|
c79c3246c9a3e0d2aa34afd18fddc95a6aff0f30 |
18-Apr-2016 |
Chris Craik <ccraik@google.com> |
Merge "Improve multi-window render clipping logic" into nyc-dev
|
9a17da8125c36c82ba73e7f4b3ed80b9c633767f |
18-Apr-2016 |
John Reck <jreck@google.com> |
Don't reuse LOST_SURFACE for stopped Fixes: 28218991 If a draw() happens while we are stopped, don't report that the surface is lost because this will prompt a tear-down of the surface which isn't desired. It can result in ViewRootImpl ending up in an internally-bad state in this case. Change-Id: If3eb8c6bc8702299e5330bc0917952624dce3b7e
rawFrameTask.cpp
rawFrameTask.h
|
9cd1bbe5c9e14472e631d8cc10005613925f34af |
15-Apr-2016 |
Chris Craik <ccraik@google.com> |
Improve multi-window render clipping logic Fixes: 28125010 Restructures 'scene defer', to implement window backdrop overdraw avoidance in new render pipeline, and disable clipping to content draw bounds. Also restructures FrameBuilder's constructors, to separate out into multiple defer methods. Change-Id: I53facb904c1a4a4acc493d8a489921a79a50494e
anvasContext.cpp
|
8afcc76920499d0a384dba1470c5a377f80ed768 |
13-Apr-2016 |
John Reck <jreck@google.com> |
Revert "Revert "Make stopped state a first-class thing"" This reverts commit eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399. Fixes first-frame issue, mReportNextDraw needs to override mStopped Fixes: 28118961 Fixes: 27286867 Change-Id: I5c811759637d08ba9f3b342016d1b3006986d5a2
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
glManager.cpp
enderProxy.cpp
enderProxy.h
|
d2eec0efb2e47b23b2a12ab2967e422f0be49094 |
12-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Framework-side of SurfaceView#getBitmap" into nyc-dev
|
10dd0585c11dcedb5a271d54e645594f1d215d5c |
01-Apr-2016 |
John Reck <jreck@google.com> |
Framework-side of SurfaceView#getBitmap Bug: 27708453 Change-Id: Ie6fd7eca522d3e6549d8af587c975fd7e6053649
enderProxy.cpp
enderProxy.h
|
825fa4d5ae7b2907ee1769d09e6333306de2a92e |
11-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Revert "Make stopped state a first-class thing"" into nyc-dev
|
eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399 |
11-Apr-2016 |
John Reck <jreck@google.com> |
Revert "Make stopped state a first-class thing" This reverts commit 945961f78a78eced823d5ba78505c781b079703d. Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
glManager.cpp
enderProxy.cpp
enderProxy.h
|
c724dcf23c5e2ebd22c042a8a6f2424b7e9d5029 |
08-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Make stopped state a first-class thing" into nyc-dev
|
4a735441e82207e18036be09d0d02c855930938f |
08-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Fix a derp" into nyc-dev
|
a41f2445156fe0bcfde6bd4d813dfc43796a526d |
08-Apr-2016 |
John Reck <jreck@google.com> |
Fix a derp Fixes: 28074465 I knew I added that flag for a reason... Change-Id: I6e28237dcd50191769a828bf2646c3a00c14387c
enderProxy.cpp
enderProxy.h
|
945961f78a78eced823d5ba78505c781b079703d |
08-Apr-2016 |
John Reck <jreck@google.com> |
Make stopped state a first-class thing Bug: 27286867 WindowManager has committed to stopped state controlling the lifecycle of the Surface, so make that a first-class thing in HWUI as well. This makes it more resistent to things like a rogue updateSurface() happening while mStopped=true, leading to bad things down the line. Instead let the surface be changed/updated as often as desired, and just block any attempt to draw on that surface. Also removes some unnecessary makeCurrent()s, as EglManager ensures that we *always* have a valid GL context now (using a pbuffer surface if there is no window surface set) Change-Id: Iead78ddebc7997e8fdb0c9534836352f5e54b9bd
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
glManager.cpp
enderProxy.cpp
enderProxy.h
|
51f2d606dcbfba3cc5b03dfea37c1304b91c232f |
06-Apr-2016 |
John Reck <jreck@google.com> |
Fix some edge cases Bug: 27709981 This desperately needs a refactor, but to keep the current (really needed & nice) behavior of dispatching after sync finishes would be difficult to handle cleanly without lots of ripping so... #yolo Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
bbb4c2eb2e871977289a9c48f414962e46b56ddc |
31-Mar-2016 |
John Reck <jreck@google.com> |
Merge "Add a callback for rendernode parentcount=0" into nyc-dev
|
660108075e61d7b7e6c138000890011510d5b079 |
30-Mar-2016 |
John Reck <jreck@google.com> |
Expand JankTracker Bug: 27922347 * Dump the full histogram * Expand the histogram to have a slow-frame section with large 50ms buckets to raise the cap to 5s to give more insight into system-health * Stop excluding first-frame metrics as we want to include those in our global tracking. Automated tests already filter these out by doing resets before running anyway. Change-Id: Idaba8aad591f59d10a6477b11efc0767ff715083
enderProxy.cpp
|
44b49f070aafe8ad44efae87341121cce49ff11c |
25-Mar-2016 |
John Reck <jreck@google.com> |
Add a callback for rendernode parentcount=0 Bug: 27709981 Fixes: 22565656 Change-Id: I1cb4461baf9069dc4e7ca6de10d5862578c107f4
anvasContext.cpp
|
6246d27813f25b85f6e4b5cb1121fe8484bcce2d |
30-Mar-2016 |
Chris Craik <ccraik@google.com> |
Support buildLayer in new pipeline bug:26561995 bug:27620686 Change-Id: I6c39f9a077e7e6002d3c01b8888238fd17b0f02a
anvasContext.cpp
anvasContext.h
|
3a5811b50157e7ba50854caf957e806aee794d39 |
22-Mar-2016 |
Chris Craik <ccraik@google.com> |
Precache/early kick off of op work for non-shadow ops. bug:26562703 bug:27052145 Change-Id: Ic452bfe75da849ffdd47fecdd6eb1472fd0c806e
anvasContext.cpp
|
dccca44ffda4836b56a21da95a046c9708ffd49c |
21-Mar-2016 |
sergeyv <sergeyv@google.com> |
Reland: Move text logic from jni to hwui level Initial CL: https://googleplex-android-review.git.corp.google.com/#/c/886854/ Change-Id: I9dfd85fe1d2a2c44f4360c8a29fd58d80e6f31c8
anvasContext.cpp
|
6847953955502caa0bd0ba255d879a89aeccbd24 |
21-Mar-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Merge "Revert "Move text logic from jni to hwui level"" into nyc-dev
|
afbd0f1fef46ef0ddf633dfde0de724db3da1405 |
21-Mar-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Revert "Move text logic from jni to hwui level" This reverts commit a7f6bba1a3565c19715e878dfe7f0e01022944ff. Change-Id: If4f36f87a85411b6128fd92d391313803ccaf9dd
anvasContext.cpp
|
49658d43802dc74c0ad68b7f5ba509832c1dec81 |
21-Mar-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Merge "Move text logic from jni to hwui level" into nyc-dev
|
38f6c034d153bb648d45bce09d80a69ba3e03360 |
17-Mar-2016 |
John Reck <jreck@google.com> |
Move updating window position off RT Bug: 27385141 Change-Id: I6c75b5f1d9ef55ef64dde050f71d0e28fb8714bf
anvasContext.cpp
anvasContext.h
|
a7f6bba1a3565c19715e878dfe7f0e01022944ff |
16-Mar-2016 |
sergeyv <sergeyv@google.com> |
Move text logic from jni to hwui level bug:25865834 Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
anvasContext.cpp
|
1dfa0704964c17e45775b9e01f1fa0b1a10774f7 |
05-Mar-2016 |
Chris Craik <ccraik@google.com> |
Support GPU profiling vis in new pipeline bug:27353099 Change-Id: I905c1a998d9a9e2097c047dab9de87a70d7a370e
anvasContext.cpp
|
fc736869aced442057e5a2c16a9591dca1f93295 |
27-Feb-2016 |
John Reck <jreck@google.com> |
Switch to pbuffer surface sooner Bug: 27286867 If the system/app is slow, it might take too long to stop drawing. Switch the ordering of destroying stuff so that we switch to the pbuffer surface first, then do cleanup Change-Id: If64a3dbb71bb9fd53567231590436a89b2f1a09e
glManager.cpp
|
c96955d9bb997b51be5fa929b5a67349d0459c3a |
26-Feb-2016 |
John Reck <jreck@google.com> |
Always swap buffers if using partial update extension Bug: 27379093 Change-Id: Ifda18287248e4ae07d4bf2ae9642a9d23039e81f
anvasContext.cpp
glManager.cpp
glManager.h
|
11f02d7e522ec8742f7ef533c252e04e24b93f6b |
13-Feb-2016 |
Andres Morales <anmorales@google.com> |
allow for slow FrameMetricsListeners A slow listener could cause a race in the NotifyHandler where the single reference to the buffer to send would get updated when it shouldn't have been. Switch to a queue of available buffers to prevent this race. Also, stop setting and clearing the observer reference and instead incStrong/decStrong to mark temporary strong ownership without colliding with other owners in flight. Bug: 27097094 Change-Id: Iee647bfae8b80019b6d8290179eed3973230901f
anvasContext.h
|
2528fcdfbd5d674c00387ed4ce93546ea5581ede |
17-Feb-2016 |
Bill Yi <byi@google.com> |
Merge commit '26ada7e78993241d702a908eae93d174cbb3c8b3' into HEAD Change-Id: Ifc45930160cf01ee78ecfbfdc48697055f82e0a7
|
910beb8f5d9042163e2ad0dbb744d9f147db9604 |
03-Feb-2016 |
Andres Morales <anmorales@google.com> |
updates to FrameStatsObserver API - Rename to FrameMetrics to avoid collision with existing android.view.FrameStats class - Make FrameMetricsObserver implementation detail, exposing FrameMetricsListener interface as public API and wrapping in FrameStatsObserver to maintain state - Remove dropped frame count call, in favor of passing as parameter to callback method. - Move away from raw timestamp access in favor of Metric IDs which represent higher-level, more stable stages in a frame lifecycle and match the categories exposed in the onscreen bars. - Support many-to-many Window<->FrameMetricsListener relationship Change-Id: I00e741d664d4c868b1b6d0131a23f8316bd8c5c2
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
d1ddcf19bbb17cad09ec93b2ad09b1e1e0bfb3ff |
06-Feb-2016 |
John Reck <jreck@google.com> |
resolve merge conflicts of 9ea5295597 to master. Change-Id: I68b883e8a1bb17abd4cf151d057dd07e53a80f50
|
9ea5295597aa82b261863097d3d2f989ada733d5 |
06-Feb-2016 |
John Reck <jreck@google.com> |
Merge "libhwui: handle eglSwapBuffers with EGL_BAD_NATIVE_WINDOW error case" am: 857b65657d * commit '857b65657d453801e9b73f998043603456dac813': libhwui: handle eglSwapBuffers with EGL_BAD_NATIVE_WINDOW error case
|
9a878a646f6aca6160f22c139a5efd4de94199f8 |
05-Feb-2016 |
Christian Poetzsch <christian.potzsch@imgtec.com> |
hwui: set buffer destroyed swap mode explicitly Not using EGL_SWAP_BEHAVIOR_PRESERVED_BIT as config attribute for eglChooseConfig doesn't automatically mean the swap behavior is buffer destroyed. This is driver implementation specific and on some hw this can still be buffer preserved. Make sure it is buffer destroyed by explicitly setting it for every new surface when requested. Change-Id: Ie2c7c89b0d20e35832b488c6263bb4d9dd844a75 Signed-off-by: Christian Poetzsch <christian.potzsch@imgtec.com>
glManager.cpp
|
0a1abd3247d856fe875d5ef45f75bc2c8167ea96 |
04-Feb-2016 |
John Reck <jreck@google.com> |
Merge "Have RT drive window positioning"
|
f648108f83d4e74811919e9811efb8fcc184b8a3 |
03-Feb-2016 |
John Reck <jreck@google.com> |
Have RT drive window positioning Bug: 22802885 Change-Id: I6beed5474d3a943b16e9097f7bd61ce3cbd37505
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
6e068c0182f6f85bccb855a647510724d1c65a13 |
16-Jan-2016 |
Chris Craik <ccraik@google.com> |
Early kickoff of shadow tasks bug:26562703 Change-Id: I7cdf18f2c662380bd31c7ffeefd5c3f569e5c1c6
anvasContext.cpp
anvasContext.h
|
892760008f7c774b3556b1863c6228f3d55d4246 |
21-Jan-2016 |
Zhang Dongsheng <dongsheng.zhang@intel.com> |
libhwui: handle eglSwapBuffers with EGL_BAD_NATIVE_WINDOW error case If eglSwapBuffers is called but the under surface was destroyed, the EGL_BAD_NATIVE_WINDOW error may also be generated according to the EGL spec 1.4. This really shouldn't happen from the upper, but add the graceful handling of this case also. Change-Id: Ic0a599808b72f401d2a01c3dc40f9e6ea0e0a564 Signed-off-by: Zhang Dongsheng <dongsheng.zhang@intel.com> Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
glManager.cpp
|
c3bd56811268a074ffb9513bde0d940199e7ad16 |
25-Jan-2016 |
Chong Zhang <chz@google.com> |
Restore code to draw backdrop and content nodes bug: 26626661 Change-Id: I9e4dd41708e8ed93d3cf64242ad81815a653d269
anvasContext.cpp
|
dd93728b461c686ee4c5f329509418fe9342cb8d |
26-Jan-2016 |
Florin Malita <fmalita@google.com> |
Merge "Add internal Canvas save flags"
|
c52ac0b9e2dc9d060f21498ac59404ec7fd1e846 |
26-Jan-2016 |
John Reck <jreck@google.com> |
Merge "Add fine-grained debug layer"
|
975591a7af883d866d86ab819e164c6004694744 |
23-Jan-2016 |
John Reck <jreck@google.com> |
Add fine-grained debug layer Full GLES error checking layer via -include trickery. Change DEBUG_OPENGL to a level system. HIGH = every GL call is error checked MODERATE = checkpointing at interesting spots LOW = only asserts there are no errors at the end of a frame or when the FBO changes NONE = AIN'T GOT NO TIME FOR ERRORS GOTTA GO FAST! Change-Id: Ibe81aae93d942059c4ddf1cbb11c828b7ce4c10b
anvasContext.cpp
|
eecff56fed5dd5206acfbc5007b4912081b36d3b |
21-Dec-2015 |
Florin Malita <fmalita@google.com> |
Add internal Canvas save flags Skia's SkCanvas::SaveFlags are being deprecated. This CL introduces the equivalent android::SaveFlags, converts all internal clients to the new enum, and switches the saveLayer glue to the SaveLayerRec-based API. Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
anvasContext.cpp
|
06f5bc70a667a02b14e31d3f53f91d3661e30666 |
16-Dec-2015 |
Andres Morales <anmorales@google.com> |
expose hwui frame stats through FrameStatsObserver Change-Id: I88884bafc8e2f6d7f67a36d3609490e83cf8afd5
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
0c540849d7eb17c7e348821cd782afa99e3b7129 |
19-Jan-2016 |
John Reck <jreck@google.com> |
Merge "Fix ordering of texture->upload arguments"
|
9372ac3621848085e77b867f220c0b5ffce4010d |
19-Jan-2016 |
John Reck <jreck@google.com> |
Fix ordering of texture->upload arguments Caught by scatter-shotting GL_CHECKPOINTS which seem generally useful to have Bug: 26609444 Change-Id: Ie31d9297d8dae56405126720f338b4256c8bae77
anvasContext.cpp
|
465eefb9f31928157158a0f30319d1d95a21a567 |
19-Jan-2016 |
John Reck <jreck@google.com> |
Merge "fix race condition between HWUI cache and renderThread" am: 2c2b5e8514 am: 4354ae9883 * commit '4354ae9883ae1282ac457539f46d529bdfa89fec': fix race condition between HWUI cache and renderThread
|
4354ae9883ae1282ac457539f46d529bdfa89fec |
19-Jan-2016 |
John Reck <jreck@google.com> |
Merge "fix race condition between HWUI cache and renderThread" am: 2c2b5e8514 * commit '2c2b5e8514247d8524778d209f26b7dbde19d142': fix race condition between HWUI cache and renderThread
|
c0a0e1a66da20a18045d59451b59ec32685bcf18 |
18-Jan-2016 |
Thomas Buhot <thomas.buhot@intel.com> |
fix race condition between HWUI cache and renderThread getMaximumBitmapWidth() and getMaximumBitmapHeight() of DisplayListCanvas need HWUI cache instance. Since the initialization of the cache is asynchronous it may crash if not yet ready. Add a staticFence() call to guarantee the cache has been created prior issuing the call. Change-Id: I5ed9e5cc084444c8d1872a77fef50e294ae14e93 Signed-off-by: Thomas Buhot <thomas.buhot@intel.com> Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
enderProxy.cpp
enderProxy.h
|
cbc5bd57f0f528743fce5ec02b0739dc6368311f |
14-Jan-2016 |
John Reck <jreck@google.com> |
Merge "Track texture memory globally"
|
38e0c32852e3b9d8ca4a9d3791577f52536419cb |
10-Nov-2015 |
John Reck <jreck@google.com> |
Track texture memory globally Also mostly consolidates texture creation Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
anvasContext.cpp
|
6fb775521ab604ef875ab91ca2c7186064760508 |
14-Jan-2016 |
Chris Craik <ccraik@google.com> |
Merge "Log render pipeline in gfxinfo dump"
|
ff3edce12d3081517e9a724cc18a0de58af5187a |
14-Jan-2016 |
Chris Craik <ccraik@google.com> |
Log render pipeline in gfxinfo dump Change-Id: Ia50c445b29d918f274ec45632d61d8b8479c72eb
enderProxy.cpp
|
b79151759ac59bcb6f8f76188d9af7b3155ae2ff |
13-Jan-2016 |
Matthew Bouyack <mbouyack@google.com> |
Merge "In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments." into cw-e-dev am: eebf168e43 am: e0845e8629 am: 6222bb0f6a am: 099bd9ca8f * commit '099bd9ca8fea02795424d62c05c723290d68ae14': In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments.
|
3145247b3e8563f25e9d908579ce03060f3e880b |
13-Jan-2016 |
Chris Craik <ccraik@google.com> |
Disable buildLayer crash Change-Id: Ia51e8da01d5c694fb1a084cea8dfce865c56a456
anvasContext.cpp
|
099bd9ca8fea02795424d62c05c723290d68ae14 |
12-Jan-2016 |
Matthew Bouyack <mbouyack@google.com> |
Merge "In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments." into cw-e-dev am: eebf168e43 am: e0845e8629 am: 6222bb0f6a * commit '6222bb0f6a772c8fa1dc402740399b0ad1017520': In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments.
|
f158b49c888f722194afe5a80539a2b020c130bc |
12-Jan-2016 |
Chris Craik <ccraik@google.com> |
Rename Reorderers to Builders Change-Id: I9bb5a2e70055e2f6d14912fbd86ab72ac0d6e20c
anvasContext.cpp
|
7f667e7a0823d52eed2ed64a31b125f6b8da21cb |
12-Jan-2016 |
Matthew Bouyack <mbouyack@google.com> |
In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments. The order of function argument evaluation is undefined in C++. Because the value returned from TimeLord::latestVsync may be changed by the preceding call to TimeLord::computeFrameTimeNanos the values of the arguments passed to UiFrameInfoBuilder::setVsync is also undefined. This change removes any ambiguity. Change-Id: Ie71ee453f9ccc725edfe5f7cc9b277f2a809dfdc
anvasContext.cpp
|
5ea1724be4d3b6039818f91fc087e1216c1463d5 |
11-Jan-2016 |
Chris Craik <ccraik@google.com> |
Rename OpReorderer to FrameReorderer Also separate LayerReorderer into its own files. Change-Id: Iafb6a156f760f62f831f6288fd0dadf1db25da24
anvasContext.cpp
|
f43f627fc97e70d79345192654c65ba87f0a4efb |
04-Jan-2016 |
John Reck <jreck@google.com> |
Merge "Add some options to macrobench"
|
682573c84b7c21dc8ce4a2375da3961147442c4a |
30-Oct-2015 |
John Reck <jreck@google.com> |
Add some options to macrobench Change-Id: If8d5f5d3ace050577986a554182b2b66fd2257e1
glManager.cpp
|
031eaedef8047c8054064ab12d05c3edca07a933 |
17-Dec-2015 |
Chris Craik <ccraik@google.com> |
Merge "Add TextureView support to new renderer/reorderer"
|
d2dfd8f128b632ed99418ab2b32949c939a9a369 |
16-Dec-2015 |
Chris Craik <ccraik@google.com> |
Add TextureView support to new renderer/reorderer bug:22480459 Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
|
bf4b31f7b23b0bc7a2ed4fc779aac37c9c486eb2 |
16-Dec-2015 |
John Reck <jreck@google.com> |
resolve merge conflicts of 04ce46db64 to master. Change-Id: I935bb47718f0e7d5fb48945dd8de6e28dac136e5
|
adfeec94560c6661c5e6600b10c05f34a40f6454 |
16-Dec-2015 |
Chris Craik <ccraik@google.com> |
Allow RT animation of new renderer Change-Id: I60136dc080dc4fd853ac8c3d37fefa85da1181df
anvasContext.cpp
|
0bcd0cb6b1193168fa2840855195347488daab9e |
04-Dec-2015 |
Thomas Buhot <thomas.buhot@intel.com> |
libhwui: make setSurface asynchronous On the critical path of the cold launch of applications the main thread of the started application tells the RenderThread to create a surface. This process is synchronous and blocks the main thread of the application until the creation of the EGLContext is complete. As a consequence the launch time of the application is delayed by time spent allocating the EGL Context in the RenderThread. With this optimization the launch time of any application is improved (for example settings by 20 to 40 ms). Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08 Signed-off-by: Thomas Buhot <thomas.buhot@intel.com> Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
f20528b404bc637582304367877802e98b33c4d0 |
25-Nov-2015 |
Chris Craik <ccraik@google.com> |
Merge "Move BakedOpDispatcher to separate file"
|
9e7fcfda28fde747ba4e026772007cea77374e16 |
25-Nov-2015 |
Chris Craik <ccraik@google.com> |
Move BakedOpDispatcher to separate file Change-Id: If7aad6db6b7e54a33eac9b9eddbe8cd844207282
anvasContext.h
|
52b783f76af58a948dad4d3b4d1b7ad7979347ce |
24-Nov-2015 |
John Reck <jreck@google.com> |
INT_MAX nanoseconds is not very long Bug: 25843358 If the time between last swap & current vsync grew larger than 2 seconds it would overflow when placed into an int, causing frames to be dropped as negative numbers are definitely less than 2_ms. Change-Id: Icd2136989e5bbf5a0e21611b95a4d515b5ff9b14
anvasContext.cpp
|
98787e6c9b2c10b1ab7820bdac168686025b924a |
13-Nov-2015 |
Chris Craik <ccraik@google.com> |
Finish shadow support in new reorderer/renderer Now passes alphas and light radius, and correctly transforms light center for layers. Also fixes begin-frame/layer clears to be damage rect aware. Change-Id: I3b1415cd7bf1518c510145ebebdb745f494a2542
anvasContext.cpp
anvasContext.h
|
9fded232a9548a304e0145011df8849fba0dcda7 |
12-Nov-2015 |
Chris Craik <ccraik@google.com> |
Recycle OffscreenBuffers Change-Id: Ia2e219026f211a5308ecf8209c5f986bb888aadd
anvasContext.cpp
|
cba287b9716155183faf21865a6c28ba49ffe486 |
10-Nov-2015 |
John Reck <jreck@google.com> |
Fix threading issues Bug: 25584167 Change-Id: I413ef9e0c86f7cca1f7d085e0071745ca0192853
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
290b23a1e11d532b39098bb58693ef97ba98a622 |
05-Nov-2015 |
Colin Cross <ccross@android.com> |
Fix build std::abs requires <cstdlib> Change-Id: I0722340d17aed88c4c8dabcb723d432b05cebedb
anvasContext.cpp
|
704bed0da7cc75d0c517d425445de70ceb58060b |
05-Nov-2015 |
John Reck <jreck@google.com> |
add DeviceInfo This reverts commit 096895550b9d5430d7a001d491566decf4f9791b. Change-Id: Ib2ed1e96d8f7f88302f5e27fe735687194553104
glManager.cpp
|
096895550b9d5430d7a001d491566decf4f9791b |
05-Nov-2015 |
John Reck <jreck@google.com> |
Revert "add DeviceInfo" This reverts commit b2442896e3a226c7ebe9d47fa80b257e98a6a34d. Change-Id: I50f6555451f71067505245333c8e558b5e3b2b3b
glManager.cpp
|
b2442896e3a226c7ebe9d47fa80b257e98a6a34d |
04-Nov-2015 |
John Reck <jreck@google.com> |
add DeviceInfo Change-Id: I4c122278a7e88b6f47c4dd3c5fc553df7d3c900d
glManager.cpp
|
b4e228918e9317b6b21fee4f9b9c1c20f59c79b8 |
03-Nov-2015 |
John Reck <jreck@google.com> |
Merge "Remove almost-all android::Singleton users"
|
6b50780363d3bb8db600c770183fa07677509ae8 |
03-Nov-2015 |
John Reck <jreck@google.com> |
Remove almost-all android::Singleton users Bug: 25426213 Change-Id: I88e6206e8915cce95c3a8a8a82a4bb8fbf668141
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
2359d85e31c8f17b82869fb35ebca50b8dd428bd |
02-Nov-2015 |
Chris Craik <ccraik@google.com> |
Merge "Initial HW layer support in new reorderer/renderer"
|
0b7e8245db728d127ada698be63d78b33fc6e4da |
29-Oct-2015 |
Chris Craik <ccraik@google.com> |
Initial HW layer support in new reorderer/renderer Shares vast majority of clipped savelayer code, with only minor differences in lifecycle. Doesn't yet handle fill region, resize, or window transform. Change-Id: Iabdd71811590d2b937eb11e1b01ce556ade54a5a
anvasContext.cpp
anvasContext.h
|
b97ba3c09d5baf7c85ac4ddbdeb99770a7d3cab3 |
30-Oct-2015 |
Rob Carr <racarr@google.com> |
Merge "Add window setDecorView API."
|
263e19bf46a40e3924ab9a7f374ecc420726fc9d |
29-Oct-2015 |
Chris Craik <ccraik@google.com> |
Merge "Simplify TreeInfo"
|
b6c2624c8d9ee71d1c8d0aaf8082f92bb84b1418 |
22-Oct-2015 |
Robert Carr <racarr@google.com> |
Add window setDecorView API. Add a Window API for setting a view which will be placed in the decoration area (next to the window control buttons). Change-Id: Ie106cbea653ff95fdba987a2a43506d394600612
anvasContext.cpp
|
e2e53a7079733694bd52dbce665e9ceff21e9727 |
28-Oct-2015 |
Chris Craik <ccraik@google.com> |
Simplify TreeInfo Change-Id: I8f05e9046236d607016b6c2bb77a333cfb47ba47
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
|
97c92659fab67ca61d276f551e6f9d315428a6aa |
28-Oct-2015 |
John Reck <jreck@google.com> |
Merge "Tune scheduling a bit, avoid a binder ipc"
|
e486d932ca5a10446a3c98d6d065213913277268 |
28-Oct-2015 |
John Reck <jreck@google.com> |
Tune scheduling a bit, avoid a binder ipc Don't query running behind if it's not possible to be behind such as having received a vsync since the last call to swap buffers. This also avoids an accidental-starvation issue where if surface flinger was a bit sluggish to dequeue then renderthread would drop thinking the queue was full. Also be a bit smarter about tracking if we've already drawn for this vsync target to avoid producing two frames for the same vsync Change-Id: Ib266500a693c27000b2e8ea578f111229d75147a
anvasContext.cpp
anvasContext.h
|
3398abb25b6a8614f80f79efcf428a07185fe50f |
28-Oct-2015 |
John Reck <jreck@google.com> |
Merge "Cleanups"
|
5854b34881b1a747ac80b5077869ef270a92b1f4 |
26-Oct-2015 |
Chris Craik <ccraik@google.com> |
Rework receiver/dispatcher design slightly, and replace Layer usage. Switched from 'renderer/info' to 'dispatcher/renderer' to make their interaction more natural. The new BakedOpRenderer is more similar in responsibilities to the OpenGLRenderer, as it manages layer and frame lifecycles, and performs the actual rendering. However, it's still simpler because the BakedOpDispatcher handles mapping Canvas drawing ops to Glops, and the OpReorderer handles almost all canvas state operations. Also switch BakedOpRenderer to use the new OffscreenBuffer, which serves as a lightweight Layer replacement, with a much simpler lifecycle. Change-Id: Ie0e2e248503400041d49729d813d485d28c76eb3
anvasContext.cpp
|
77c40109cf25d29f85ee6c13aeb96e22e55f33ab |
26-Oct-2015 |
John Reck <jreck@google.com> |
Cleanups Change-Id: I10001711afb2530c5dc19aebf2d055ae41f58c6a
anvasContext.cpp
anvasContext.h
|
ac7062e7f1716f137f14299c28e3c638cf4bdb9f |
27-Oct-2015 |
Chris Craik <ccraik@google.com> |
Merge "Initial version of clipped saveLayer in new pipeline"
|
818c9fbf1d76d5df19253ba4eb964efa939ec9ec |
23-Oct-2015 |
Chris Craik <ccraik@google.com> |
Initial version of clipped saveLayer in new pipeline Additionally disables usage of FBO cache, so FBO destruction safely interacts with renderstate caching. Change-Id: I25c277cb7afec2ca33bf226445d6c8867a15a915
anvasContext.cpp
|
c2547fa6f9a0f4247b35edcee69f3c3cc3510b1a |
26-Oct-2015 |
John Reck <jreck@google.com> |
eglSwapBuffers can also return EGL_BAD_NATIVE_WINDOW Bug: 25017107 Change-Id: I545a746ba89d577de5769bc3e7dd335a100638c0
glManager.cpp
|
0cc90c36f345d992c23e39dabda051e30fae7e90 |
22-Oct-2015 |
John Reck <jreck@google.com> |
Merge "Add assert for required EGL extensions"
|
708b6687da23d2ac5bd394dec3e6d950b34d5b6c |
22-Oct-2015 |
John Reck <jreck@google.com> |
Add assert for required EGL extensions Bug: 25149700 Change-Id: I535ead7c1f8ba8766dff85fcf26a9cfe76647fb8
glManager.cpp
|
914e362d1884a79588e848f6f87772e4e3fc73b2 |
22-Oct-2015 |
Chris Craik <ccraik@google.com> |
Merge "Work to support saveLayer in new pipeline"
|
a672f6ba4c9f65de0b94bcdc639f1e053d7ee5d9 |
22-Oct-2015 |
John Reck <jreck@google.com> |
Remove obsolete debug option Bug: 25149700 Change-Id: I9280e2414255fb01e672094cd8d173efadac1681
glManager.cpp
|
6fe991e5e76f9af9dab960100d5768d96d5f4daa |
20-Oct-2015 |
Chris Craik <ccraik@google.com> |
Work to support saveLayer in new pipeline clipped SaveLayers will now be pulled to the beginning of the frame, prior to drawing FBO 0. This will remove the need for switching FBOs mid-frame. Change-Id: I4d8dc1f845e84e9b49d5acdf4f4703eef4a9cb06
anvasContext.cpp
|
0a24b146cd3dacf372ce98424044423a5b2fbf2a |
20-Oct-2015 |
Chris Craik <ccraik@google.com> |
Add initial OpReorderer benchmarks Change-Id: I6ca8ea89be2159331b2ad7031769c65f54161918
enderProxy.cpp
enderThread.cpp
enderThread.h
|
003cc3dec8e2a92e51086fbcd5ee1bb236efa701 |
16-Oct-2015 |
Chris Craik <ccraik@google.com> |
Rename DisplayListData to DisplayList Change-Id: I25f6bb88ffdf9baf7e8e4e2a294aa8c9d2a4605b
rawFrameTask.h
enderProxy.h
|
ddf2215d9807b641dbcb304779ef6b530f876ac7 |
15-Oct-2015 |
Chris Craik <ccraik@google.com> |
Add partial damage support to new draw path Change-Id: I612578fd181240de71297c9a28bc9a8f350764a7
anvasContext.cpp
anvasContext.h
|
b565df13a9e5c7b1d7d93bdfa4a793752d66d3cc |
05-Oct-2015 |
Chris Craik <ccraik@google.com> |
Initial commit of new Canvas operation recording / replay Done: - drawRect, drawBitmap, drawColor, drawPaint, drawRenderNode, drawRegion - Recording with new DisplayList format - batching & reordering - Stateless op reorder - Stateless op rendering - Frame lifecycle (clear, geterror, cleanup) Not done: - SaveLayer (clipped and unclipped) - HW layers - Complex clipping - Ripple projection - Z reordering - Z shadows - onDefer prefetching (text + task kickoff) - round rect clip - linear allocation for std collections - AssetAtlas support Change-Id: Iaf98c1a3aeab5fa47cc8f9c6d964420abc0e7691
anvasContext.cpp
|
ac02eb9035a13a3d09c2def9ed63d04225eb2509 |
05-Oct-2015 |
Chris Craik <ccraik@google.com> |
Remove confusing behavior of Rect::intersect() and rename bug:24670525 Removes silly 'do nothing if rects do not intersect' behavior, and changes the name to clarify the difference (contrasting against SkRect::intersect()) bug:24670525 Change-Id: Id2ca1cfea1a9d720d4dc70b251f426d9916f8b53
anvasContext.cpp
|
b816087962aba0019b022303330f03b897b580ed |
22-Sep-2015 |
Skuhne <skuhne@google.com> |
Rendering the window frame with a second thread Using a multi threaded render node to render the window frame asynchronously from the application relayout. Bug: 22527834 Bug: 24400680 Bug: 24459827 Bug: 24409773 Bug: 24537510 Change-Id: I1010fc6a8b6e38424178140afa3ca124433ab7e4
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
fe1f99c2b292c90236d7e907c8a86bab0b90bfe4 |
22-Sep-2015 |
Stefan Kuhne <skuhne@google.com> |
Merge "MultiThreaded rendering of different renderNodes"
|
6e6646c03788f198a9878763680c05342d7622f3 |
15-Sep-2015 |
Chris Craik <ccraik@google.com> |
Unify extensions parsing behavior Removes remnants of EGL extension support, and persistence of GL extension list. Change-Id: I35aec12d900bdb33549ea47654bb8146f350ef48
glManager.cpp
|
ea7a7fb75acb7305eb774ca7bc7e96103bd49323 |
28-Aug-2015 |
Skuhne <skuhne@google.com> |
MultiThreaded rendering of different renderNodes This is adding the renderer side infrastructure to allow rendering multiple render nodes with different threads. This is a pre-step for decoupling a non client decor resize reder from a content resize render. Multiple render nodes can be added to be drawn, and to prevent overdrawing, a content bounds area can be set Bug: 22527834 Change-Id: Ie7271e20895bf38957e5a84aeefc883e282039ad
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
64e445bf74bee2098781d608cedfd723d8cc88d3 |
02-Sep-2015 |
Chris Craik <ccraik@google.com> |
CanvasState frame init refactor bug:23760482 Change-Id: Idc0802b4b8a6a3cebd20797350f4eb01bcc3fe77
anvasContext.cpp
|
e248bd1b2c3fcf8088429507e73b31f45ee2544b |
05-Aug-2015 |
John Reck <jreck@google.com> |
Serializing display lists This is a WIP prototype Change-Id: Id4bfcf2b7bf905221c3734b7b6887c9b2efd37e6
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
b9ce116dac378b4cf4490f265dcbd5704a1dd43c |
21-Aug-2015 |
Chris Craik <ccraik@google.com> |
Switch several enums to enum classes Change-Id: I00ecd0b61657196b51704f70ca31a9d1c1ac254e
anvasContext.cpp
|
149173d28c0843aba86b0810ce75b34be6a0d08f |
10-Aug-2015 |
John Reck <jreck@google.com> |
Support new EGL extensions Bug: 21753739 Includes a revert of 13d1b4ab10fbee5e81a2ba1ac59cfae1e51d3ef0 as that only supported EGL_EXT_buffer_age Change-Id: Ia86a47d19e3355c067934d7764c330b640c6958d
anvasContext.cpp
anvasContext.h
irtyHistory.cpp
irtyHistory.h
glManager.cpp
glManager.h
|
13d1b4ab10fbee5e81a2ba1ac59cfae1e51d3ef0 |
30-Jul-2015 |
Season Li <seasonl@nvidia.com> |
renderthread: add EGL_EXT_buffer_age support EGL_EXT_buffer_age is better than EGL_BUFFER_PRESERVED because it can save memory bandwidth used to blit back buffer into front buffer. Change-Id: I2fea0ee08dc7dd66e348b04dd694d075d509d01b
anvasContext.cpp
anvasContext.h
irtyHistory.cpp
irtyHistory.h
glManager.cpp
glManager.h
|
0d39408976306a3830b9ff96adea76caa05be383 |
04-Aug-2015 |
John Reck <jreck@google.com> |
am 903e117e: am 0429246e: am 0c9ec1f2: am 2e529712: am c03ab87a: Merge "Disable skipping frames on empty damage" into mnc-dev * commit '903e117e55d5b2ac58acdce3810fc47972d1c6cb': Disable skipping frames on empty damage
|
6d4d0db312fa8a9fce629dd92aa133c6f8249cf8 |
04-Aug-2015 |
John Reck <jreck@google.com> |
Disable skipping frames on empty damage Bug: 22592975 Optimization added in MNC is not quite correct, occasionally it will fail to repaint when it was supposed to leading to buffer corruption. Disable the optimization for now. Change-Id: I34dfdfb357eda298198043ded7335d4588a003fd
anvasContext.cpp
|
272a685f17cc4828257e521a6f62b7b17870f75e |
30-Jul-2015 |
John Reck <jreck@google.com> |
Replace most usages of utils/Vector.h Change-Id: I540d1b3523244d6c71fc52d6fb30555271c25644
anvasContext.h
enderProxy.h
|
c36df952292b69920d4764a8a37361073fcf4f2c |
29-Jul-2015 |
John Reck <jreck@google.com> |
Re-enable -Werror on clang Change-Id: I582bd0665752c7a9deb4f9de094d0dd0a50cda6a
enderProxy.cpp
|
c052a9a1bb1d0b7918f73166a36e96e0b1a9ed92 |
22-Jul-2015 |
John Reck <jreck@google.com> |
am a2fd3234: am 3bfe4b47: am 1cd5afc1: am 9317d0b9: am 1fddd3ef: Merge "Mark isInUse per-window" into mnc-dev * commit 'a2fd32348b06b22963fcc7c33179fddbd2394dbf': Mark isInUse per-window
|
00e79c9947b741194ff6c0d08ede9b3befbf9c9d |
21-Jul-2015 |
John Reck <jreck@google.com> |
Mark isInUse per-window Bug: 22509159 Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
anvasContext.cpp
rawFrameTask.cpp
|
1d5d34624bedbbe8f5ff60d81490da81301ebe7e |
16-Jul-2015 |
Chris Craik <ccraik@google.com> |
Merge "Clean up unncessary defines"
|
f2dcc2aecb94e726096256c47b913ed0a57ae7e2 |
16-Jul-2015 |
John Reck <jreck@google.com> |
Don't crash on makeCurrent fail Bug: 22444755 WindowManager may decide to yank the surface at any point, so attempt to kinda handle this Change-Id: Id2f665d2f0f93bccd4ec977fbf52dca4dc1ec891
anvasContext.cpp
glManager.cpp
glManager.h
|
5a4690bf26932c0d6940e4af8516d920e09ae81a |
14-Jul-2015 |
Chris Craik <ccraik@google.com> |
Clean up unncessary defines LOG_TAG and TRACE_TAG are already defined in the makefile Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
rawFrameTask.cpp
|
be3fba05e823f740f65b2679929347dc3dd282ad |
06-Jul-2015 |
John Reck <jreck@google.com> |
Adjust for pipeline stalls Bug: 20853441 Calculating duration that crosses the UI-RT sync point will now subtract out the time spent waiting in queue under the assumption that this time will be accounted for in the previous frame's metrics Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
|
1b54fb27ac48495ed0b33868fda5776fb49fe0f3 |
03-Jun-2015 |
Chris Craik <ccraik@google.com> |
Delete MAKE_ENUM_FLAGS bug:21595702 Settle on namespace-enum for consistency. Also removes k prefix. Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
anvasContext.cpp
rawFrameTask.cpp
|
2a8bb05a31ddd0d44d8513cba9fbd9b4ef9b97f6 |
03-Jun-2015 |
John Reck <jreck@google.com> |
Fix warning Bug: 21608208 Change-Id: I1d1cf1fbc8c0a4561bf76e307c56be580fb4baef
anvasContext.cpp
|
38f4396ebd1d90fbf9700c634d98964e85a29575 |
03-Jun-2015 |
Chris Craik <ccraik@google.com> |
Merge "Handle shader matrix correctly when ignoring canvas transform" into mnc-dev
|
53e51e4aa933f9603587e1780f446c18816bf9be |
01-Jun-2015 |
Chris Craik <ccraik@google.com> |
Handle shader matrix correctly when ignoring canvas transform bug:20063841 Restores old SkShader matrix behavior from before the Glop refactor. Many drawing operations draw without sending the canvas transform to the GL shader. In such cases, we need to adapt the matrix sent to the SkShader logic to invert the canvas transform that's built into the mesh. Change-Id: I42b6f59df36ce46436322b95bf9ad2140795ee58
enderProxy.cpp
|
6058251939e417ed764d76fbde77eefc964d0ee6 |
03-Jun-2015 |
John Reck <jreck@google.com> |
Merge "More colors, now with material colors" into mnc-dev
|
bf3c602284f9a344faf185c3a5e94a264ba44c4f |
03-Jun-2015 |
John Reck <jreck@google.com> |
More colors, now with material colors Bug: 18052916 Change-Id: I66c2573d796338ee7b7d0ddf240b90cc78a71ce5
anvasContext.cpp
|
4db3d17debef68f72d23999d69ae68b75f59dda3 |
03-Jun-2015 |
John Reck <jreck@google.com> |
FrameInfo header fixes Bug: 21560187 Log column names as part of output in case of other such issues Change-Id: I16157ed968307e761d416ca54bd7af5453fe67bf
anvasContext.cpp
|
4cd44f8110c3b648a7eeb526152b2a50e0a376a1 |
27-May-2015 |
John Reck <jreck@google.com> |
Enable swapBuffersWithDamage by default Bug: 20761426 Change-Id: I520e60ca4f182dea590bc86eebd522e1db7a018a
glManager.cpp
|
d7db4d767246b41d44995acb93d03d220b53c748 |
20-May-2015 |
John Reck <jreck@google.com> |
Eliminate requireGlContext Bug: 20297820 Change-Id: I37c63bab6f6c0d2337c8c6002046d2ef17e74097
anvasContext.cpp
anvasContext.h
glManager.cpp
glManager.h
|
50210d912925aef14e4ce69be82e4949122a3cd9 |
15-May-2015 |
Alan Viverette <alanv@google.com> |
Adjust light source for window position Bug: 16523629 Change-Id: I2f3fed1edcac0a3cfd5034aded45e08ececfebaf
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
4c9e59d03c2bca38001225b79d01740b8999adfb |
12-May-2015 |
John Reck <jreck@google.com> |
Unify DrawProfiler/JankStats Bug: 20822400 Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
|
9aa7b45e796fea9e308fb2fc1fe5363390f1e7ba |
08-May-2015 |
John Reck <jreck@google.com> |
Merge "Fix kSkippedFrame setting" into mnc-dev
|
aef9dc8d186bd5f78068ab2d5240b5e9c8ab44b6 |
08-May-2015 |
John Reck <jreck@google.com> |
Fix kSkippedFrame setting It was only set previously if RenderThread dropped the frame, but not if the UI thread frame was dropped. Unify the two paths Change-Id: If2574edde3cb0949deed4e47f3daaddb890a1b28
anvasContext.cpp
|
d04794a9a3f9edc8b7ca336175d66eb81a8f55fa |
08-May-2015 |
John Reck <jreck@google.com> |
Add eglSwapBuffersWithDamageKHR support BUG: 20761426 Disabled temporarily Change-Id: I0b6b6f0eebab886145e13fa35aefe76826965cf5
anvasContext.cpp
anvasContext.h
glManager.cpp
glManager.h
|
9eb9dd326ae93cd84eb9bbc740f753fe8d8c7a13 |
06-May-2015 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang warnings on unused variable, mismatched tag, print format. BUG: 20890093 Change-Id: I91588f481d80b69823bc9d104b8bd09167ee5373
enderProxy.cpp
|
356b1777092e7da3ac5eae0bc94bd21e1cf9319a |
05-May-2015 |
Chris Craik <ccraik@google.com> |
Merge "Cleanup properties" into mnc-dev
|
7f2e5e3cea6af1f1dff35842aa13d46c47315b91 |
05-May-2015 |
John Reck <jreck@google.com> |
Dump profile info after running test Bug: 20824843 Not really a proper "benchmark mode" but it turns out we already have reasonably good profile data, so tweak the test app to spit it out after a run. Change-Id: Iaee9c0d61b5508daf282fe5f95d0b37ee419a8f1
enderProxy.cpp
enderProxy.h
|
2507c34d91bb0d722b6012e85cb47387b2aa6873 |
04-May-2015 |
Chris Craik <ccraik@google.com> |
Cleanup properties bug:19967854 Separate properties from Caches, into static, RenderThread-only class. Also rewrites the means for java to set properties to correctly handle threading, and adds an override for profile bars so that SysUi doesn't clutter the screen with them. Change-Id: I6e21a96065f52b9ecc49d1a126244804ba106fa9
enderProxy.cpp
enderProxy.h
enderThread.cpp
|
a15eedd266af3229217bfd45e6fec0001336279a |
04-May-2015 |
John Reck <jreck@google.com> |
Fix setName use-after-free Bug: 20764439 Change-Id: I7a0f85bb82629b1302db02015fa493dc09eb31f7
enderProxy.cpp
|
78760b4ae47f5d59a541cbcbf1fca623bae4508a |
01-May-2015 |
John Reck <jreck@google.com> |
Merge "A bunch more cleanups" into mnc-dev
|
3731dc220ed457e0f1e99d7ec2589e0a43872b59 |
14-Apr-2015 |
John Reck <jreck@google.com> |
A bunch more cleanups Switch a few places to using android::canvas instead of SkCanvas as well which eliminated some JNI Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
enderProxy.cpp
enderProxy.h
|
240ff6246a29602539fd0295274e1c769e743a2e |
28-Apr-2015 |
John Reck <jreck@google.com> |
Skip frames with no damage Bug: 20464038 Change-Id: Iae3aa9baf1d03c3aa443a39373e2bbd4a3910fad
anvasContext.cpp
|
9d4efdf2802f06ccf7031610891f75af70ea5538 |
17-Apr-2015 |
John Reck <jreck@google.com> |
Revert "A bunch more cleanups" This reverts commit c294d128d03bc9a9982b273a82516c04583438cc. Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
enderProxy.cpp
enderProxy.h
|
c294d128d03bc9a9982b273a82516c04583438cc |
14-Apr-2015 |
John Reck <jreck@google.com> |
A bunch more cleanups Switch a few places to using android::canvas instead of SkCanvas as well which eliminated some JNI Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
enderProxy.cpp
enderProxy.h
|
c74e289a6537227ab80fa59da9d5d6f88dc9fe33 |
30-Mar-2015 |
John Reck <jreck@google.com> |
Merge "Add GraphicsStatsService"
|
edc524c90506d80e0fc5fb67e8de7b8f3ef53439 |
18-Mar-2015 |
John Reck <jreck@google.com> |
Add GraphicsStatsService More S's for More Speed Split JankTracker's backing data from the class to allow for data relocation to/from ashmem regions Pack the jank tracking data to fit in 256 bytes Change-Id: Ife86a64b71a328fbd0c8075fe6a0404e081f725b
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
111928fa324db73f94389bdfab4b108cbd30d8f4 |
24-Mar-2015 |
John Reck <jreck@google.com> |
resolved conflicts for merge of 4142f026 to master Change-Id: Iabe3aa0ac6911a26d2ba7219f18332897276ed6f
|
c80c9ad188ac6c421e70c906104d4394504878fb |
20-Mar-2015 |
youngmin0822.lee <youngmin0822.lee@lge.com> |
Don't create unnecessary RenderThread's instance when executing 'dumpsys gfxinfo' To obtain the gfxinfo for each process, the static method of RenderProxy is used, which is named outputLogBuffer(). In there, 1. RenderTask is created for getting DisplayList Commands in RenderNode. 2. staticPostAndWait() is called 3. RenderThread's instance is created by 'RenderThread::getInstance()' in staticPostAndWait() In case of the service, they don't use HW Acceleration, so don't need RenderThread. But, by the process of No.3, RenderThread is created for all process. As we know, RenderThread never be destroyed while the process is alive. This patch checks RenderThread instance before the creation of RenderTask. And, there is no one, just return to prevent the unnecessay creation of it. Change-Id: I4fe29d83c9ced3e8b67177c0874c5d8ee62e1870
enderProxy.cpp
|
b36016c65f1d1b5846dba0349aab491dbd3a746a |
11-Mar-2015 |
John Reck <jreck@google.com> |
Cleanups & simplifications Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
c87be99c6ead0720a8918ea38ce3b25e5c49e1c6 |
20-Feb-2015 |
John Reck <jreck@google.com> |
C++11 style fixups Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
anvasContext.cpp
rawFrameTask.cpp
enderProxy.cpp
|
ba6adf66d3c44c0aa2fd8a224862ff1901d64300 |
19-Feb-2015 |
John Reck <jreck@google.com> |
Initial attempt at jank-tracking stat collection Is a bit naive, perhaps overly aggressive, but sorta works Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
imeLord.cpp
imeLord.h
|
8a6b56651b42df2a073d68bbaf23e681acd7eeb5 |
31-Jan-2015 |
John Reck <jreck@google.com> |
Merge "Add a WAIT_FOR_GPU_COMPLETION option"
|
5515637540bedd8fc9a1a6e46a4b512dd45520a5 |
21-Jan-2015 |
John Reck <jreck@google.com> |
Add a WAIT_FOR_GPU_COMPLETION option Change-Id: I18d526120651676109200bfd5da87cafcd7e3d13
glManager.cpp
glManager.h
|
44eb2c00861098dd3e2950d923646814b4cc57c2 |
29-Jan-2015 |
Chris Craik <ccraik@google.com> |
Refactor blending and texture gl state Change-Id: Ia6b3c8b2afd3dfcee7f3ce401d846b789612054a
glManager.cpp
|
96a5c4c7bab6718524de7253da8309143ab48bef |
28-Jan-2015 |
Chris Craik <ccraik@google.com> |
Move more GL state management to RenderState and its directory Change-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc
anvasContext.cpp
|
65fe5eeb19e2e15c8b1ee91e8a2dcf0c25e48ca6 |
27-Jan-2015 |
Chris Craik <ccraik@google.com> |
Move scissor state to RenderState Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
anvasContext.cpp
glManager.cpp
enderThread.cpp
|
026111bc56498d6ac463b335d91e2ee5e06901be |
28-Jan-2015 |
Yabin Cui <yabinc@google.com> |
am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS." automerge: 3a10a67 * commit '3a10a672f05735be46256617b8a61cdb1e589008': kill HAVE_PTHREADS.
|
3a10a672f05735be46256617b8a61cdb1e589008 |
27-Jan-2015 |
Yabin Cui <yabinc@google.com> |
am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS." * commit 'f70492898b3efa3c5f480f195062fa6f293bc764': kill HAVE_PTHREADS.
|
1610486d371b867c0a842ede38e64774c18ba5d9 |
27-Jan-2015 |
Yabin Cui <yabinc@google.com> |
kill HAVE_PTHREADS. Bug: 19083585 Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
enderThread.cpp
|
2ae07339824efc50468f971ff8920ff0b894cad4 |
21-Jan-2015 |
Chris Craik <ccraik@google.com> |
Remove DisplayListLogBuffer Change-Id: I001832fc444b6d532f4a382e0a31cc1d8956dbd8
enderProxy.cpp
enderProxy.h
|
f78ff7d49a4da604ba4fbcf2b662f5e4bd8bfa16 |
15-Jan-2015 |
John Reck <jreck@google.com> |
am cefeb34e: am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-dev * commit 'cefeb34e4866209e2ccf4c520919fe31a3f1aeb5': Vsyncs are hard
|
cefeb34e4866209e2ccf4c520919fe31a3f1aeb5 |
15-Jan-2015 |
John Reck <jreck@google.com> |
am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-dev * commit '2c9f86aa21b8d7ea6a77eaca9a49ccdb31245129': Vsyncs are hard
|
a22c9b2cd171a656fa684d57a915dbe636da5f6a |
14-Jan-2015 |
John Reck <jreck@google.com> |
Vsyncs are hard Bug: 18866485 Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
enderThread.cpp
|
d41c4d8c732095ae99c955b6b82f7306633004b1 |
06-Jan-2015 |
Chris Craik <ccraik@google.com> |
Add overrides and switch to nullptr keyword for all files Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
glManager.cpp
enderProxy.cpp
enderTask.h
enderThread.cpp
enderThread.h
|
51d6a3db97bdd5315f1a17a4b447d10a92217b98 |
23-Dec-2014 |
Chris Craik <ccraik@google.com> |
Cleanup various clang warnings, use unique_ptrs in several places Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
anvasContext.cpp
anvasContext.h
|
07adacf4996c8ca494332ec938786fa15832c722 |
19-Dec-2014 |
Chris Craik <ccraik@google.com> |
Cleanup Change-Id: I91ffb9c66697741116fdeaa31abdf6cfd79155df
enderTask.cpp
|
a285e9ed82071077d55c41471dd5437ec2f41ba4 |
20-Dec-2014 |
John Reck <jreck@google.com> |
am 165fb8f5: am f89dac47: Merge "Tweak RT-animator scheduling" into lmp-mr1-dev automerge: ed3c296 * commit 'ed3c2962be1e2966c3b46f20e81d2902a8302d8b': Tweak RT-animator scheduling
|
ed3c2962be1e2966c3b46f20e81d2902a8302d8b |
20-Dec-2014 |
John Reck <jreck@google.com> |
am 165fb8f5: am f89dac47: Merge "Tweak RT-animator scheduling" into lmp-mr1-dev * commit '165fb8f5aa0709a8dc35f99a9b81f6906452a648': Tweak RT-animator scheduling
|
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.cpp
enderThread.h
imeLord.cpp
imeLord.h
|
f088c349dfea985e561d7e838ecd41be5168cd4a |
12-Dec-2014 |
John Reck <jreck@google.com> |
Fix style Change-Id: I7227b0eac126bf470ed50249a7809b845872983b
anvasContext.cpp
enderThread.cpp
|
59cf734f9ee8fa0154d199f0f36779a6ffe0dfb5 |
11-Dec-2014 |
Yohann Roussel <yroussel@google.com> |
resolved conflicts for merge of d67bb501 to master Change-Id: I40698ce1e382cb41eec7af5ea49ac0e2f997d555
|
d67bb5015f716c094beff02b2c5e77c9bb7d11a0 |
11-Dec-2014 |
John Reck <jreck@google.com> |
am eb2dcc79: Merge "Don\'t preload textures for AssetAtlas" into lmp-mr1-dev automerge: e4a6ed9 * commit 'e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7': Don't preload textures for AssetAtlas
|
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
glManager.cpp
|
9fb42f07784ac9e1ab29fa7d5bcda6c3081d238f |
04-Dec-2014 |
John Reck <jreck@google.com> |
resolved conflicts for merge of a75b0ad3 to master Change-Id: I32a2d129c556407727ada909daa6470309d42499
|
a75b0ad3842a5cfc406fbd9c7a36bf8a7bdcf069 |
04-Dec-2014 |
John Reck <jreck@google.com> |
resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aosp Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
|
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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
c5cf471758169f7ffdf7669568a7780902159790 |
01-Dec-2014 |
John Reck <jreck@google.com> |
am d7af6eaa: am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions with an invalid surface" * commit 'd7af6eaace4ffdd3635a1cdeff65e9dc1af39f67': Prevent calling GL functions with an invalid surface
|
d7af6eaace4ffdd3635a1cdeff65e9dc1af39f67 |
01-Dec-2014 |
John Reck <jreck@google.com> |
am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions with an invalid surface" * commit 'd51205fda7351ca32e54ef34b32e72f6c7c79847': Prevent calling GL functions with an invalid surface
|
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
anvasContext.cpp
|
62bdf2c86342db66d86ceff3a8c0b609e4570bfc |
26-Nov-2014 |
Chris Craik <ccraik@google.com> |
am e986817a: am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer surface for destroy"" into lmp-mr1-dev * commit 'e986817a2dc8a412c12e456319965a67ac60f236': Revert "Force-use the pbuffer surface for destroy"
|
e986817a2dc8a412c12e456319965a67ac60f236 |
26-Nov-2014 |
Chris Craik <ccraik@google.com> |
am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer surface for destroy"" into lmp-mr1-dev * commit '6eac26a49957eda233ad22ad75da43379f220bbc': Revert "Force-use the pbuffer surface for destroy"
|
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
anvasContext.cpp
|
e39f788950c60f6468a038f88e6dc7ac5ee65f8f |
26-Nov-2014 |
John Reck <jreck@google.com> |
am 0d4ab958: am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface for destroy" into lmp-mr1-dev * commit '0d4ab958c11801f5453e999f930416c87c63d100': Force-use the pbuffer surface for destroy
|
0d4ab958c11801f5453e999f930416c87c63d100 |
26-Nov-2014 |
John Reck <jreck@google.com> |
am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface for destroy" into lmp-mr1-dev * commit '4e3404d90fe33a0ff790aff4a97b6bb55e4c0e8f': Force-use the pbuffer surface for destroy
|
f76d36f96bf221672e98e440c9df7cbf0e02e84e |
21-Nov-2014 |
Sangkyu Lee <sk82.lee@lge.com> |
Prevent calling GL functions with an invalid surface 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) Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
anvasContext.cpp
|
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
anvasContext.cpp
|
64bb413a664001c95c8439cf097dc3033f4ed733 |
22-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Revert "resolved conflicts for merge of 220c3f4f to master" Reverted as hwui doesn't agree. This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9. Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
anvasContext.cpp
enderProxy.cpp
enderThread.cpp
|
8a902d9f24e83c87b054adb5836b4a5b8a257be9 |
22-Nov-2014 |
Andreas Gampe <agampe@google.com> |
resolved conflicts for merge of 220c3f4f to master Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
|
2ab8298dc37851aab4623ba3f98d71055d653a73 |
21-Nov-2014 |
Andreas Gampe <agampe@google.com> |
resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aosp Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
|
42ddc18d108f789705ad4eb697ce9599ad322507 |
21-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Frameworks/base: Unused parameters in hwui Remove Clang cutout for unused parameters. Fix warnings. Remove Clang cutout for deprecated Skia function usage. Has been fixed in the L push. Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
anvasContext.cpp
enderProxy.cpp
enderThread.cpp
|
27eaec23881f9564f98b484765d000822de5fdc3 |
18-Nov-2014 |
John Reck <jreck@google.com> |
am 842697a3: am decc26df: am f0f68117: Merge "Trace some interesting events" into lmp-mr1-dev * commit '842697a3602204036e991cfea8b74da3df6e7f14': Trace some interesting events
|
842697a3602204036e991cfea8b74da3df6e7f14 |
18-Nov-2014 |
John Reck <jreck@google.com> |
am decc26df: am f0f68117: Merge "Trace some interesting events" into lmp-mr1-dev * commit 'decc26df39b734ca1cbaccda1cbe3b355eba6898': Trace some interesting events
|
fbc8df03e498baf47ff1a5e05e182f1bcd60c770 |
15-Nov-2014 |
John Reck <jreck@google.com> |
Trace some interesting events Bug: 18337099 Change-Id: Ie2e60da2b9f06e0368061c944d8123ab6903355c
anvasContext.cpp
glManager.cpp
|
edaecc1db0584fa017822dfc2da0c968b53967e6 |
11-Nov-2014 |
Andreas Gampe <agampe@google.com> |
resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp (cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b) Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
enderProxy.cpp
enderTask.cpp
|
1272887050a269d6d506b42099c2857847ad100b |
11-Nov-2014 |
Andreas Gampe <agampe@google.com> |
resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
|
1e19674107e1aa2224c2b8c7d12bfa057efe80ea |
11-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Frameworks/base: Wall Werror in libs/hwui Turn on -Wall -Werror in libs/hwui. Fix errors. Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
enderProxy.cpp
enderTask.cpp
|
e19093cad8e67cf1db98157d0246d0141b19f808 |
08-Nov-2014 |
John Reck <jreck@google.com> |
am f1923c36: am 8dda03a0: am ca93f69c: Merge "Have an actual fallback if the surface is lost" into lmp-mr1-dev * commit 'f1923c368c5c08a477b9f94dea6a499798d91d4f': Have an actual fallback if the surface is lost
|
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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
|
107843de4507b3511006cb9c77b8d0364374385a |
08-Sep-2014 |
Tom Hudson <tomhudson@google.com> |
Remove status return from all uirenderer::Renderer functions This moves the interface closer to android::Canvas. The only use of return values was in the OpenGLRenderer subclass; that is replaced with an internal dirty flag: returned from finish(), checked by CanvasContext. This is part of a series of CLs to refactor the Graphics JNI bindings. BUG:15672762 R=djsollen@google.com,ccraik@google.com Change-Id: Ifd533eb8839a254b0d3a5d04fc5a2905afdfc89e
anvasContext.cpp
|
9481684560b2815d2706512086bb36467ef6acc0 |
01-Nov-2014 |
John Reck <jreck@google.com> |
am e05575e9: am a8d83d63: Merge "Layer changes" into lmp-mr1-dev automerge: a51fba0 * commit 'e05575e9c36850d8cfe49396ac9a1372511b12bf': Layer changes
|
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
anvasContext.cpp
glManager.cpp
glManager.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
|
eaab65f49d320f0689ee52a55bb768907e5e6928 |
30-Oct-2014 |
John Reck <jreck@google.com> |
am 97054254: am 141823ec: Merge "Be more conservative about current buffer" into lmp-mr1-dev automerge: a27e1a3 * commit '97054254d4c8eef66538814e1d5def776ceba97a': Be more conservative about current buffer
|
950ff1b88cc1330f8e80d62ed3aa15bee6be0556 |
27-Oct-2014 |
John Reck <jreck@google.com> |
Be more conservative about current buffer Bug: 18065565 Change-Id: I0b9c85ecf384ebe525e3a38803ab77d7ee37f33a
glManager.cpp
|
675a518d5aca3092bfdd438f3f40bfdc3640cb80 |
24-Oct-2014 |
John Reck <jreck@google.com> |
am b64e4372: am 82572cc4: am badac04d: Merge "Add some free zoom to lockHardwareCanvas" into lmp-mr1-dev * commit 'b64e4372bb60bdce75e2af7d0b94efe92d94ac6a': Add some free zoom to lockHardwareCanvas
|
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
anvasContext.cpp
anvasContext.h
glManager.cpp
glManager.h
enderProxy.cpp
enderProxy.h
|
7ab73f1e983cf2be077d147d0542974a8f768431 |
22-Oct-2014 |
John Reck <jreck@google.com> |
am e73a54f3: am bf463af2: Merge "Surface:lockHardwareCanvas" into lmp-mr1-dev automerge: 76f24bd * commit '76f24bde7816dd97ed2375ec41c9817be0330d9f': Surface:lockHardwareCanvas
|
bb2d0cc7e1d487f7021b1f9ec0c6740e41b535f2 |
21-Oct-2014 |
John Reck <jreck@google.com> |
Surface:lockHardwareCanvas Bug: 17440886 Change-Id: I1f2d98c63ec1a2814c2258cf7e0096139263770a
imeLord.cpp
|
2dc236b2bae13b9a0ed9b3f7320502aecd7983b3 |
15-Oct-2014 |
Tom Hudson <tomhudson@google.com> |
Clean up physical coupling Narrow the use of #include directives in hwui, replacing with forward declarations where straightforward. Speeds compiles; doesn't do any restructuring of code. Change-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0
glManager.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
anvasContext.cpp
|
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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
|
2cdbc7d2283aae3d77b12c8fdbba8ca4bd3db5ea |
18-Sep-2014 |
John Reck <jreck@google.com> |
Special case EGL_BAD_SURFACE Bug: 17516789 Change-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6
anvasContext.cpp
glManager.cpp
glManager.h
|
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
anvasContext.cpp
|
443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44 |
05-Sep-2014 |
John Reck <jreck@google.com> |
Yet more layer tracking logging Bug: 17208461 Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
anvasContext.cpp
anvasContext.h
enderThread.h
|
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
anvasContext.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
1661715d4066a557ab0877271d62762579a38fa9 |
03-Sep-2014 |
John Reck <jreck@google.com> |
Implement TODO Change-Id: I551ad0dab6356baa4c7787718b54d5b7337a3f26
anvasContext.cpp
|
dff9957cc22a1174a4cf91de6609c50934d29434 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Free prefetched layers on TRIM_MEMORY Bug: 17208461 Change-Id: I831c10d29d5920274b90e11a67d6cd106972a058
anvasContext.cpp
|
998a6d81896df8b662cc10ddeb35087b78b38d72 |
29-Aug-2014 |
John Reck <jreck@google.com> |
Track buildLayer calls, destroy if unused Bug: 17208461 Change-Id: Ibdb104a493285d77a6891c5e74e38a52c7014da9
anvasContext.cpp
anvasContext.h
glManager.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
imeLord.cpp
imeLord.h
|
1d4774233304c484673e2af2c1de2ab41021c979 |
27-Aug-2014 |
Chris Craik <ccraik@google.com> |
Crash instead of leaking layers/textures between GL contexts bug:17208461 Change-Id: I4d58f301cf0f5e8145e808a5d6ade4de7801970b
glManager.cpp
|
9eb9f6f8cbbbd87d45da8071aa54cb066a797723 |
21-Aug-2014 |
John Reck <jreck@google.com> |
Don't run animators in buildLayer Bug: 17172689 Change-Id: Ib47d589c002543327fa336718440f9f8c95524e0
anvasContext.cpp
|
3e8249568cc428296ac76c7ddce3f0382d40fe5b |
20-Aug-2014 |
John Reck <jreck@google.com> |
Implement full View.buildLayer Bug: 17152292 Change-Id: Ia3cc2aadf72fe14517f50762fc634794df51ad5a
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
enderProxy.cpp
enderThread.cpp
|
21be43e142a6fcb3283d7b2da14eb39b690cf643 |
14-Aug-2014 |
John Reck <jreck@google.com> |
Fix hwuitask & RT priorities Bug: 15993695 Change-Id: Ib6f07237cb834e8d10f3074f8fb206d27f91859a
enderThread.cpp
|
cd3a22cfec09c065d0667dd044c0788912e82465 |
06-Aug-2014 |
John Reck <jreck@google.com> |
Don't start RenderThread to do trimMemory Bug: 16825138 Change-Id: I35f57898b14bc8526c3d93a3003bca6f5a3d7fbe
enderProxy.cpp
|
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
rawFrameTask.cpp
enderProxy.cpp
enderThread.cpp
enderThread.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
73b7a4db4116774156fda3a510cc3afa14be9ffd |
23-Jul-2014 |
John Reck <jreck@google.com> |
Dump RenderThread stack on unresponsive Bug: 16408405 Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
rawFrameTask.cpp
enderProxy.cpp
enderThread.cpp
enderThread.h
|
5cdb8f998c58a2226112b36e4c391866346e5e17 |
17-Jul-2014 |
John Reck <jreck@google.com> |
Fix logging Bug: 16357287 Change-Id: Ic14e32c941e42ab1f1ed51ff8ed7185979e57a55
anvasContext.cpp
|
0a97330b98dd633b58dcfff405d94476c89e867d |
16-Jul-2014 |
John Reck <jreck@google.com> |
Fix root RenderNode damage calculation Bug: 15888445 Change-Id: I281ec9271c9889673dcdfcb6d31e341a7b47b7de
anvasContext.cpp
|
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
anvasContext.cpp
|
3c2b7fa8c584c5ed56f1bd6ad53f2e87f0a6eb44 |
07-Jul-2014 |
John Reck <jreck@google.com> |
Add missing requireGlContext Change-Id: I7100e5e9986f502f66a23ecea07a6057522c43ac
anvasContext.cpp
|
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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
918ad523b2780e0c893f3d2a32d4ec13f2a7e921 |
27-Jun-2014 |
John Reck <jreck@google.com> |
More cleanups Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
enderProxy.cpp
enderProxy.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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
|
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
anvasContext.cpp
rawFrameTask.h
|
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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
glManager.cpp
glManager.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.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
rawFrameTask.cpp
|
a7090e0cfd7c719a6d4c03aae34f5db98754cbdd |
21-Jun-2014 |
Chris Craik <ccraik@google.com> |
Update 'DisplayList' vs 'RenderNode' naming in several places Change-Id: I635c6627d098b661fb9b0ba1bd42fa6d7277d287
anvasContext.cpp
|
734df4b4271e90e320f3ff37b4b0d49e92cb1e3c |
16-Jun-2014 |
Chris Craik <ccraik@google.com> |
Interrupt canvas before invoke Change-Id: I5b818958f6255c594339bd10d9efa99e9e2c00d4
anvasContext.cpp
|
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
anvasContext.cpp
rawFrameTask.cpp
|
546f353e7f562fdbcf59980bcb7dc11567658aa3 |
10-Jun-2014 |
Mark Salyzyn <salyzyn@google.com> |
hwui: 64-bit compile issue Change-Id: Ic3e3dbc6cde4bc58b23a8ab267b0868f370ad149
enderProxy.cpp
|
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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
c8affe0e1b1f3f63b12477f832a1a66019ac0df8 |
29-May-2014 |
John Reck <jreck@google.com> |
Re-enable atlas Bug: 14590563 Change-Id: I04ed5bf1b2654dab4a65c1e43faaeba32459870f
anvasContext.cpp
|
e1628b7c6fc3822fa83cf02028ce8ad67abb0afe |
24-May-2014 |
John Reck <jreck@google.com> |
Implement FlushCaches TODO Change-Id: Id05429e98ffe0858275b32c41fb215c1d8d930b2
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
cdfeef6624613ca06fe8a7edfb92608afb0499ee |
15-May-2014 |
John Reck <jreck@google.com> |
Disable texture atlas Bug: 14952384 Change-Id: If38b3e4c08c2c3dd9c00ae9e6e8c10e208e737d1
anvasContext.cpp
|
66f0be65a1046f54ddce0498b242c1fa0776b1ea |
13-May-2014 |
John Reck <jreck@google.com> |
Wire up texture atlas Bug: 14590563 Change-Id: I2dffbc089dc801f5fb2d1c8fd38e1c71d160e110
anvasContext.cpp
anvasContext.h
|
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
anvasContext.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.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
anvasContext.cpp
|
e4280baaa709c74d86cf6a389a4674ca665f5af6 |
06-May-2014 |
John Reck <jreck@google.com> |
Implement loadSystemProperties Bug: 14087580 Change-Id: I7153f38c70b554a78c56a0e794da929fc401ee7a
enderProxy.cpp
enderProxy.h
|
f9be77940e365036fecd8cc0e491e8545c34e79b |
03-May-2014 |
John Reck <jreck@google.com> |
Make RenderNodeAnimator and WebView play nice Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
18f16e6fba74eda173e1e7c869e6e2e2acc073ff |
03-May-2014 |
John Reck <jreck@google.com> |
TIME LORD! Bug: 14444180 Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
imeLord.cpp
imeLord.h
|
52244fff29042926e21fa897ef5ab11148e35299 |
02-May-2014 |
John Reck <jreck@google.com> |
Add CanvasProperty for drawCircle Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
rawFrameTask.cpp
|
e45b1fd03b524d2b57cc6c222d89076a31a08bea |
15-Apr-2014 |
John Reck <jreck@google.com> |
RenderThread animator support Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
enderThread.cpp
enderThread.h
|
dbc9a86d05e5e835051de22f6cb30ec1921e9705 |
18-Apr-2014 |
John Reck <jreck@google.com> |
Force a full redraw on surface change Bug: 13913604 Change-Id: Ie90c7ee74cf83358e19d8b4f0bae078540a93a8d
anvasContext.cpp
|
6f07a0dc875a9eac67312085a8e0133b9e2f4771 |
17-Apr-2014 |
John Reck <jreck@google.com> |
Add missing resume() call Bug: 14087850 Change-Id: Ic555ca6027e617c7ed6e7e66b5cf713c36ed1c6c
anvasContext.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
anvasContext.cpp
anvasContext.h
rawFrameTask.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.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
anvasContext.cpp
rawFrameTask.cpp
rawFrameTask.h
enderProxy.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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.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
anvasContext.cpp
anvasContext.h
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
|
e2c455264351964bf1ae78da2256c17258f0d3ea |
08-Apr-2014 |
John Reck <jreck@google.com> |
Veto pool TODO Change-Id: I50067dba630b75aa539e4406cfc15f66949684b3
enderProxy.cpp
enderProxy.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
enderProxy.cpp
enderProxy.h
|
087bc0c14bdccf7c258dce0cdef46a69a839b427 |
05-Apr-2014 |
John Reck <jreck@google.com> |
Refcount RenderNode Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
|
0d1f634f4b5e1bb37aa51777efb6a68619488d01 |
29-Mar-2014 |
John Reck <jreck@google.com> |
Add invokeFunctor Change-Id: I09e675d3e02e3e528642175ada00b2b17fab7652
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
750ca6dbdb259aea0ca5b77380a9303e586ef3ea |
29-Mar-2014 |
John Reck <jreck@google.com> |
Remove kStatusInvoke & kStatusDraw They are unused Change-Id: I44ecf1164dc6bc1b09438e733976d5a97a25f00e
anvasContext.cpp
anvasContext.h
|
668f0e38ef0277d55d3118af37e17b8c435df85c |
26-Mar-2014 |
John Reck <jreck@google.com> |
Async drawing! Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
anvasContext.cpp
rawFrameTask.cpp
rawFrameTask.h
enderProxy.cpp
enderProxy.h
|
bfb07a03777af424e99bca1dac4c903aaf44e99d |
25-Mar-2014 |
John Reck <jreck@google.com> |
Move where updateProperties is called Change-Id: I27da448996019094c44487ce28c5689d098d6535
anvasContext.cpp
|
16efa9a330fcf10a09cc9564e9d319c6f4be2ae1 |
18-Mar-2014 |
John Reck <jreck@google.com> |
Fix functor removal Bug: 12179257 Change-Id: Ib63a351b1b289b08452f17086cb6c8b688e2ba4d
anvasContext.cpp
|
e18264b079481a244b30e3f71012c53bbd861f92 |
12-Mar-2014 |
John Reck <jreck@google.com> |
Rename DisplayList->RenderNode Change-Id: Id42e23c9a1a6eb6eaeafef707ced7fa6887b03d0
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
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
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
44fd8d24f761f82d21e9b00932648a1b6bf91449 |
26-Feb-2014 |
John Reck <jreck@google.com> |
DisplayList overhaul Change-Id: I53418d580c98f706e971545cff81b9921c12cc5f
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
19b6bcfd83eb7fb92ebd06d2fec89e308311f1d0 |
15-Feb-2014 |
John Reck <jreck@google.com> |
Support HardwareLayers in RenderThread Also has a few HardwareLayer lifecycle fixes Change-Id: I6308cb05f8f199eed72189ace768013a46815941
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
fc53ef27793a39e9effd829e9cae02a9ca14147e |
11-Feb-2014 |
John Reck <jreck@google.com> |
Implement missing safelyRun() on ThreadedRenderer Change-Id: I14b75f37a13fabaa759a51369190dbdc84087c4b
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
|
a6260b83da52b80438074a9fd207327d9e6e6d03 |
30-Jan-2014 |
John Reck <jreck@google.com> |
Fix nano vs. millis Change-Id: I54f752bb7faab5fa66c36252c9f7cf8f5c9939c9
enderTask.h
enderThread.cpp
|
4f02bf4eef6af47f35c70c4dda5b7b9523d89ca0 |
04-Jan-2014 |
John Reck <jreck@google.com> |
Native-side proxy Remove RemoteGLRenderer Remove reflection-based control Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985
anvasContext.cpp
anvasContext.h
enderProxy.cpp
enderProxy.h
enderTask.cpp
enderTask.h
enderThread.cpp
enderThread.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
anvasContext.cpp
anvasContext.h
|
69d251383f3656a580c3878045de235d70a12000 |
19-Dec-2013 |
Brian Carlstrom <bdc@google.com> |
Track Looper decoupling from ALooper Change-Id: I83d1f5f6600019268c53706b7bf6d94b84931e18
enderThread.cpp
|
cec24ae16e9a0a7c3075f1a8d9149bb7fb3813fc |
05-Nov-2013 |
John Reck <jreck@google.com> |
RenderThread work Hacky prototype needs a private API to enable Change-Id: I21e0ddf3cdbd38a4036354b5d6012449e1a34849
enderTask.cpp
enderTask.h
enderThread.cpp
enderThread.h
|