02b95105754b1859a97e234b79f41489a4677c20 |
06-Nov-2012 |
Mathias Agopian <mathias@google.com> |
fix transitions from hwc to GLES composition If we switched from HWC to GLES but the dirty region was empty (could happen if the dirty region is outside of the screen for instance), we need to force a full screen composition. In this change we ignore the dirty region for the purpose of rejecting the whole update and we rely on the fact that it will later be expanded to the whole screen. This was the least risky fix. Bug: 7467760, 7452931 Change-Id: I2132f2f963b00a3ce7150adadb107b0367b3862e
urfaceFlinger.cpp
|
f45c510009edab4a3e93f8d66b2e30aa26759fed |
25-Oct-2012 |
Mathias Agopian <mathias@google.com> |
partially implement external display clipping we perform external display clipping only on the GL side (ie: not done on the h/w composer side, which is harder and would be too risky). in practice this means that WFD will be clipped properly, while HDMI *may* or may not depending on how hwc is used. Bug: 7149437 Change-Id: I92d4d04220db72b6ffb134c7fa7a93af569723a5
urfaceFlinger.cpp
|
d17e3b5f6cf71eb52bc81f37719254ce08244b34 |
22-Oct-2012 |
Mathias Agopian <mathias@google.com> |
prevent a client from crashing surfaceflinger a misbehaving or malicious client could cause SF to crash by providing a "fake" IInterface. we now check the IInterface we get is our own and local. Bug: 7278879 Change-Id: Ia19d05902d4b2385c5a16416148378d4998833fd
urfaceFlinger.cpp
|
ba7dc2db6e93a2407c8c328f2838591b7b760658 |
22-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: add support for secure displays" into jb-mr1-dev
|
dd3cb84cfbe8068790c6233b5829fae9c4a0ee93 |
20-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add support for secure displays This change adds support for displays that are not allowed to display surfaces with the eSecure flag set. All non-virtual displays are considered secure, while virtual displays have their secure-ness specified at creation time. Bug: 7368436 Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
isplayDevice.cpp
isplayDevice.h
ayer.cpp
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
620685c2e684082c82657732d1e35cefd0c79006 |
19-Oct-2012 |
Andy McFadden <fadden@android.com> |
Fix emulator vsync The code that reserves display IDs was only run when a hardware composer was present. The eventControl() function, which handles enabling of vsync, was ignoring the request because the primary display didn't appear in its set of allocated IDs. This moves reservation of IDs for built-in displays outside the HWC-only block. Also, added a couple of warnings in eventControl(). Bug 7376568 Change-Id: I185ccdf817a25499b5c2668f8f6d594afb8c1568
isplayHardware/HWComposer.cpp
|
7c41bf7092b75dba6029cd3bbc842d3a2661b0aa |
17-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: change the animation timeout This change changes the animation transaction timeout from 500us to 5s. Bug: 7362633 Change-Id: I9bed8e74f726dae2daa398afc29babcea00d5b04
urfaceFlinger.cpp
|
db9b41fd157279d1b988a854e0d7c5b43c2fac38 |
16-Oct-2012 |
Mathias Agopian <mathias@google.com> |
fix a corruption in blank/unblank we were holding a reference (ie: pointer) to a sp<DisplayDevice> while processing the message. Meanwhile the object itself could go away and we would end up accessing a dead object. the root cause of the problem is that we are accessing mDisplays[] in a few places outside of the main thread. Bug: 7352770 Change-Id: I89e35dd85fb30e9a6383eca9a0bbc7028363876c
urfaceFlinger.cpp
urfaceFlinger.h
|
3365c56716432d3bfdf41bb82fb08df821f41d0c |
16-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: add animation transactions" into jb-mr1-dev
|
2d5e230292c27d59f4c096bc742a0a19abf811c1 |
16-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add animation transactions This change adds a transaction flag for WindowManager to indicate that a transaction is being used to animate windows around the screen. SurfaceFlinger will not allow more than one of these transactions to be outstanding at a time to prevent the animation "frames" from being dropped. Bug: 7353840 Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
urfaceFlinger.cpp
urfaceFlinger.h
|
837d2f9e83e7d8625ef482d9c9d9afa852c8dbaa |
15-Oct-2012 |
Jesse Hall <jessehall@google.com> |
Always set vertex alpha when drawing screenshot layers The screenshot is a GL_RGB texture, and the GL_REPLACE texture env mode uses vertex alpha for GL_RGB textures instead of alpha=1.0. Bug: 7340077 Change-Id: I6fbb907023e48f9c422b15a33da79757d6726840
ayerScreenshot.cpp
|
dd57d551944c01394bc2807d962be4953c58c7c1 |
12-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: make the num FBs a board config" into jb-mr1-dev
|
cdbaecb54152ce98789823420d426077d72aa1e7 |
12-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: make the num FBs a board config Bug: 7283132 Change-Id: I38116f39fc18212f2daab94bbfc3daaf89439fc4
ndroid.mk
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
|
b763d5fffa2f942a6ae3637fab17439dd32dbebc |
11-Oct-2012 |
Jesse Hall <jessehall@google.com> |
Assume LayerScreenshot has pre-multiplied alpha Bug: 7300129 Change-Id: Ie9114adc4b5c9a8cc3c65bfe6d9478b2cba4e0d8
ayerScreenshot.cpp
|
9e9689c11148521d2c16a121a0b87b062be0714c |
11-Oct-2012 |
Andy McFadden <fadden@android.com> |
Fix HDMI unblank behavior Two issues: (1) We were announcing the hotplug event before we were ready to handle blank/unblank events, so we were losing the initial unblank that power manager sends us when HDMI is first plugged in. This left the display blank until you toggled the device power off/on. (2) We were retaining fbTargetHandle for HDMI after the display was disconnected. The value didn't get updated when HDMI was reconnected because the display was blank, so we didn't go through that code path. So, when HDMI was re-connected, we passed stale data into the HWC. Bug 7323938 Change-Id: I2335d24fd7b0f00bb23fc63aa7bcf44cb8857c73
isplayHardware/HWComposer.cpp
urfaceFlinger.cpp
|
0acb00c2d780b60ed3d71be256460375dd8715b4 |
10-Oct-2012 |
Mathias Agopian <mathias@google.com> |
Merge "fix typo that prevented proper loging of EGL error code" into jb-mr1-dev
|
b8fc00bfb41a61aeda186eec8f14522ff32f23f8 |
10-Oct-2012 |
Mathias Agopian <mathias@google.com> |
fix typo that prevented proper loging of EGL error code needed for investigating 7309949 Bug: 7309949 Change-Id: If29a5c08d0e87f46b44ba2e1030be61cb4d1403b
isplayDevice.cpp
|
3292cae8c37fc8d7cd8bf77fafaa55e6fc7a8cc5 |
09-Oct-2012 |
Mathias Agopian <mathias@google.com> |
don't automatically unblank external displays this should be handled by the display-manager. we were doing that in SF because until recently we didn't have enough support in the HAL. however, this is now causing other problems when plugging hdmi while the screen is off for instance. Bug: 7150885 Change-Id: I739b209056a765d38d05295cf202f67ee0f506ae
urfaceFlinger.cpp
|
cb55857bbde34a06c19dde3db5064d1717a0173e |
05-Oct-2012 |
Mathias Agopian <mathias@google.com> |
fix dumpsys Layer name when using multiple displays Bug: 7288401 Change-Id: I14beeef58fac5270cef3b611e18c163060efe6c3
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
1b3aeb4844fe198c1fb61064d0cec3f5ac63f7d3 |
08-Oct-2012 |
Mathias Agopian <mathias@google.com> |
fix SurfaceFlinger DDMS debugging DdmHandleAppName.setAppName() signature changed which broke this debugging feature. Needed for debugging b\7267680 Change-Id: I4482bf5a441e91bef89d1ddea9a4152333be7f88
ndroid.mk
dmConnection.cpp
|
5a8f9012ee8bb9dc1ad14432b96a821f08802ee3 |
05-Oct-2012 |
Andy McFadden <fadden@android.com> |
Tone down a fatal assert The new disconnectDisplay function doesn't handle virtual displays, but it may be called for them. Return without doing anything. Bug 7281786 Change-Id: I62607f2ae6073fa66b393f55932604aeb8e03566
isplayHardware/HWComposer.cpp
|
9a14392256354538f1f43a5e80fe46c2c2b965cb |
05-Oct-2012 |
Jesse Hall <jessehall@google.com> |
Ignore display state changes for disconnected displays When a display is disconnected, removing it from SurfaceFlinger's display list is non-atomic with removing it from the Display Manager and any in-flight transactions. So SurfaceFlinger might get a display state change transaction for a display it has already forgotten about. Just ignore these. Bug: 7288082 Change-Id: Ic27e55377f3db40fb34e3b1cd67e43297df117a2
urfaceFlinger.cpp
|
81cd5d3b94d21253a0be925f4ae58cc7f4afeef7 |
04-Oct-2012 |
Mathias Agopian <mathias@google.com> |
make sure we don't call into the HWC HAL when not needed when enabling/disabling vsync we now make sure to not call into the HAL if the state wouldn't change. Bug: 7274951 Change-Id: Ie24a6d68888a51b577acf9c2a973d85437cbacaf
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ventThread.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
27ec5739bc05330e08b02f25b62a8f597bad897a |
03-Oct-2012 |
Andy McFadden <fadden@android.com> |
Fix crashes after HDMI disconnect The display was being removed from SurfaceFlinger's list before we had a chance to reset HWComposer's layer list, so we were passing stale data into the hardware composer (which has its own per-display data). This resulted in "invalid gralloc handle" complaints. We now clear the layer list immediately after removing the display. The display was being removed while its EGLSurface was still "current", resulting in "cancelBuffer: BufferQueue has been abandoned" complaints. We now call makeCurrent on the primary display before removing the external display. Bug 7274254 Change-Id: Ia59e3a61d7ec46488b96bf93ec5e4ed3488b70e4
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
ba607d53c6a94ea8c4c12571980c4ad159af308b |
01-Oct-2012 |
Jesse Hall <jessehall@google.com> |
Add Fence::waitForever which logs a warning timeout, and use it Bug: 7217641 Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
isplayHardware/HWComposer.cpp
|
d30b36d1fd0c7ab80553e784a155266be9703e47 |
01-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: reset the FB_TGT acquire fence This change makes SurfaceFlinger reset the acquire fence fd to -1 after each call to HWComposer::commit. The HWComposer implementation is resonsible for closing the fd, so SurfaceFlinger should make sure not to pass it to HWC multiple times. Change-Id: I79554d9f6d6ef2b77d632d40251516c1f5b16ddb Bug: 7258954
isplayHardware/HWComposer.cpp
|
135e5899f70a67e62baaf6dbec7ba2ce611ca16a |
01-Oct-2012 |
Mathias Agopian <mathias@google.com> |
save/restore viewport properly when taking screenshot Bug: 7241739 Change-Id: Iba8b9ffc75ab47fbc56169e65da26d96850a9297
isplayDevice.cpp
urfaceFlinger.cpp
|
bae92d0d605e99a14731add4f11b72413b2835e5 |
28-Sep-2012 |
Mathias Agopian <mathias@google.com> |
reset GL viewport and project when caputring the screen Bug: 7241739 Change-Id: I3bb5214b070384de9be2026647865c6c236a4331
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
|
c01a79d77b829e7de86ef137694e8ad708470ca1 |
28-Sep-2012 |
Andy McFadden <fadden@android.com> |
Pass display arg to blank/unblank This allows us to blank and unblank displays other than the built-in display (e.g. HDMI). Bug: 7240511 Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
a4310c8be2dc3406a668ee99020d52187173232f |
26-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: don't always set HWC_GEOM_CHGD This change fixes a bug in SurfaceFlinger that caused the HWC_GEOMETRY_CHANGED flag to be set every flip. Change-Id: I4f395a2883bcbb53b23b3d14941aff108739c9f0 Bug: 7234237
urfaceFlinger.cpp
|
e206549ccf23ec5ba95062f944674e58569c8065 |
27-Sep-2012 |
Andy McFadden <fadden@android.com> |
Merge "Recompute visible regions more vigorously" into jb-mr1-dev
|
ab10c5804c250e7f392c8262f687766edec2e9f4 |
27-Sep-2012 |
Andy McFadden <fadden@android.com> |
Recompute visible regions more vigorously Some of the code in latchBuffer was calling invalidateHwcGeometry, but that didn't cause the SurfaceFlinger visible region code to re-evaluate the layer's visibility. Set the recomputeVisibleRegions "out" parameter instead. Bug 7235797 Change-Id: If6ba33fbd1a594cd64cc5253aebf752d6ceda1c9
ayer.cpp
|
a8026d21f3f2f09e3416cbd33c277fbd15d8cf4e |
25-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Stop using transparent region for computing visible regions The transparent region hint is computed only from view layout locations, ignoring post-layout translation. If a SurfaceView is layed out with no other views above it, but a view is moved above it post-layout, that view's layout bounds would be subtracted from the window's transparent region instead of its drawing bounds. Prior to this change, the view would not be visible (except where its layout bounds and drawing bounds overlap). With this change, composition uses visible regions computed without regard to the transparent regions. However, if all of a layer's visible region is transparent, it will be removed from the list of layers to composite. This doesn't fix the root problem of incorrect transparent regions, and doesn't prevent bad composition in all cases. But it does avoid it for some existing apps, whiel still allowing the transparent region hint to save power in the important fullscreen-video-in-a-SurfaceView case. Bug: 7179570 Change-Id: I47cf939e12129b167afa344b8b036e8827103ac8
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
c4a8daaa998ea524c9aaa9817021ff7c4467c3dd |
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Merge "add support for EGL_FRAMEBUFFER_TARGET_ANDROID" into jb-mr1-dev
|
32341381c9493d7953e40f7f79653cfc52868863 |
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
only abort when errors happen on the main display Bug: 7232690 Change-Id: I2c4b35a82f131da26deea738ef294e100e536d15
isplayDevice.cpp
|
722b98f9dfe8f04de8734630198b99a6cd024118 |
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
add support for EGL_FRAMEBUFFER_TARGET_ANDROID we now try first with EGL_FRAMEBUFFER_TARGET_ANDROID, and pick the first config we find. Otherwise, we revert to the old algorithm. Bug: 7232584 Change-Id: I8d5c5a4ce48420832c2e2828718a8f53325effb0
urfaceFlinger.cpp
urfaceFlinger.h
|
7b1905113712281c777b230648d3fbb69ae4f42c |
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix a crasher when running out of memory MemoryHeapBase::getBase() returns MAP_FAILED in case or OOM, not null which is what SF was checking against. This addresses one of the issues of bug 7230543. Bug: 7230543 Change-Id: I763a88f64a2f9ff75eb139cfbaf9a1a9746c5577
urfaceFlinger.cpp
|
bb53b0e4b97634bc31808965f81b3ab4193d0e84 |
25-Sep-2012 |
Mathias Agopian <mathias@google.com> |
When "show visible regions" is enabled we were missing a call to HWC Bug: 7204034 Change-Id: I64dd78362fa75149513a7d9ff92dde175e9b4958
urfaceFlinger.cpp
|
4803b74e2a12a508f7bbfde6f6a962fe3299c61c |
25-Sep-2012 |
Andy McFadden <fadden@android.com> |
Show build config in dumpsys SurfaceFlinger This adds a line to the "dumpsys SurfaceFlinger" output that shows build-time configuration values. Example: Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \ [libgui USE_FENCE_SYNC] Bug 7206633 Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
urfaceFlinger.cpp
urfaceFlinger.h
|
a046dd9772cd8da4ead9edc7a89d9992ff0d38cf |
25-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix Layer croping in SurfaceFlinger Bug: 7224628 Change-Id: I9421f0a06b9a27fe00eefaa1dfab8c4309c380c9
ayerBase.cpp
|
2a23184e4109060ec772763e80dae2132cf9d2eb |
25-Sep-2012 |
Mathias Agopian <mathias@google.com> |
don't call eglMakeCurrent() before calling HWC commit() on HWC 1.1 this call is not needed and misleading on HWC 1.1; it can also have a negative performance impact when multiple displays are used. Bug: 7124069 Change-Id: I47cd25c9d6e69abcc9333b9ecd5044e8fb1919ec
urfaceFlinger.cpp
|
52e21483fa48baeb4a88372d75e083bca2e92923 |
25-Sep-2012 |
Mathias Agopian <mathias@google.com> |
handle EGL errors for now we just restart the runtime. bug: 7225248 Change-Id: I7638ffe82075a4db9e7e6f9e35cf48afcb5a387a
isplayDevice.cpp
|
9e2463e71796964cfaa06bf09a880875ac3537bc |
22-Sep-2012 |
Mathias Agopian <mathias@google.com> |
add/remove displays properly on hotplug events Bug: 7191563 Change-Id: I8f0fbf3b29658c9479443141798e6f288a1f2d52
isplayDevice.cpp
isplayDevice.h
isplayHardware/HWComposer.cpp
urfaceFlinger.cpp
|
ff28e201ec0c6d620eaaa29814ab52958487dc31 |
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Display events now always carry the display id they happened on Change-Id: I12de1d883c23927722bc3a71b782f0079de4e831
ventThread.cpp
ventThread.h
|
b4d18ed34e3513f3a14ea0876c7e330bee72a529 |
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix an issue where hotplug events were not dispatched Change-Id: I527eec77f338cd6f1a9021aa4c9d384dbddd6d2a
isplayHardware/HWComposer.cpp
ventThread.cpp
|
4c0751a1f6e4ee941791012b31f9dbc65601e1d6 |
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
return an error, as expected, when querying a disconnected display Change-Id: I405a3a7bb42b9bbd2ec7bfe09e60e1b7acf7389d
urfaceFlinger.cpp
|
38e623bc5c2d7224ebd5b82efaea401bc8e5367a |
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix a typo preventing pre hwc-1.1 devices from booting Change-Id: Icf01254689633d04967872749ac947a671e47ed8
isplayHardware/HWComposer.cpp
|
f5a33928349bebc8eebc9f466618997e98c24e68 |
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
we now correctly set-up connected screens during boot Change-Id: Ie8b1a3b97ad1821cc970e43abe96c8cec7135b66
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
148994e5f33ce240ff24ceb5bc0500b7f2001959 |
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
We now report hotplug events to the framework Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ventThread.cpp
ventThread.h
urfaceFlinger.cpp
urfaceFlinger.h
|
1604f777d11c40daae8ec91d8ea75625996bfbac |
19-Sep-2012 |
Mathias Agopian <mathias@google.com> |
one more step toward HDMI support getDisplayInfo() now returns proper information for HWC managed displays. hotplug is sitll not supported; so this is not fully correct as the information returned will be bogus if the HDMI screen is not plugged in. Bug: 7191563 Change-Id: If55d8e829fae0443571548155007f486cdf9bc9f
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
eba8c688f633f3f3f1b75c2bc64faf799dd2b5f2 |
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
calculate wether we filter on a per-display basis Change-Id: I79d80b432b20b3d02428da19add464ac1e2b9378
isplayDevice.cpp
isplayDevice.h
ayer.cpp
ayerBase.cpp
ayerBase.h
|
f33e4b6f13bc3ee2d2a4e1abd1ada171c70d3492 |
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
GraphicBufferAlloc class was declared twice this was confusing because the one in FramebufferSurface wasn't in fact being used Change-Id: Ied45aec20d804cfbe52440f9b2f2852a85c757cf
ndroid.mk
isplayHardware/FramebufferSurface.cpp
isplayHardware/GraphicBufferAlloc.cpp
isplayHardware/GraphicBufferAlloc.h
urfaceFlinger.cpp
urfaceFlinger.h
|
1887af43a5dd5181f4582a6090ae25c7aa17fa4a |
20-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Allow 16-bit color EGLConfigs" into jb-mr1-dev
|
f21cffa7d707dad10b2974c58c91482f7ca689ac |
20-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Allow 16-bit color EGLConfigs The emulator without GPU acceleration only supports 16-bit framebuffers. Bug: 7185810 Change-Id: I883180367bf5b291d5e70427ab586d2e17868a96
urfaceFlinger.cpp
|
d56eff2f49e64bb71863ffb866af8c3f686b96e9 |
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix typo in DisplayDevice logs Change-Id: I593ef674f12073bd9d690946447031394ef9044e
isplayDevice.cpp
|
1d12d8a8e61163b35cf42c51c558a67138014e82 |
18-Sep-2012 |
Mathias Agopian <mathias@google.com> |
improve logging of external displays Change-Id: I041aebb7fc655aeca98bbf698d15e05d7c12cac9
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
|
6ab93290aeed63f139b0e77819ea889bbce9ec8b |
18-Sep-2012 |
Mathias Agopian <mathias@google.com> |
suppress superfluous log Change-Id: I838f2de4cf99e885833c4f42e2a69d6e3bb8eea5
isplayHardware/HWComposer.cpp
|
aeb76d160c530786d58d6a8b35d9b4a75a2279e3 |
18-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Check that HWC exists before trying to use it" into jb-mr1-dev
|
d3d35f18345c3ef93217313a583ace473b5a47ad |
18-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Check that HWC exists before trying to use it Bug: 7185810 Change-Id: I1271d6ba397f3abf0ef166b8d03b9b26b72e28d7
isplayHardware/HWComposer.cpp
|
3941cb240d438bfdebe24920bb2ada86456a0bf9 |
18-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: default to doing GL sync This change makes updateTexImage default to performing the necessary synchronization and adds an argument for SurfaceFlinger to disable that synchronization so that it can be performed lazily. Change-Id: I7c20923cc786634126fbf7021c9d2541aa77be5d Bug: 6991805
ayer.cpp
|
8dfa92fef9759a881e96ee58d59875d35023aab9 |
18-Sep-2012 |
Andy McFadden <fadden@android.com> |
Plumb display name into SurfaceFlinger The Surface createDisplay() call takes a display name for debugging. This change carries it through SurfaceFlinger and displays it in the "dumpsys SurfaceFlinger" output. Bug 7058158 Change-Id: I79f3474a8656ff1beb7b478e0dbf2c5de666118a
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
urfaceFlinger.h
|
d870703d5566490cfdfb389d9336b2b8d3c6cc7a |
18-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix external displays we were not calling eglSwapBuffers() on external displays because they can't use HWC which caused us to think they didn't have GLES composition. Change-Id: I6cef4ae40b138412d2e6f2acda33c9d222b03a83
isplayDevice.cpp
|
da27af9832a0170f1fc40ef3f21371c4d30d21b3 |
14-Sep-2012 |
Mathias Agopian <mathias@google.com> |
add support hwc 1.1 Bug: 7124069 Change-Id: I53d705105c4ad8954d3f50ee4f4c8b7ec936b871
isplayDevice.cpp
isplayDevice.h
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
cde87a3b9d3f8dc15232d927b56ee9e5e520f58d |
13-Sep-2012 |
Mathias Agopian <mathias@google.com> |
refactor things a bit - decouple GL and main display initialization - ensure that each "supported" display has its own FramebufferSurface - onScreenAcquired/Released now takes a display Change-Id: If34a05f3dea40f6c79db77f4dde283a2580daac4
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
6905205c8d130b6ea3a813c1b9283492ed183367 |
15-Sep-2012 |
Andy McFadden <fadden@android.com> |
Fix transform hints The hints were being set a little too late, so the pre-rotation stuff wasn't quite working. Bug 7054997 Change-Id: Id8d5c626db7a76f768ba762a145b315878ee08e6
ayer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
|
6e220a6ce6971555b883f4852c6e5d4c7a617815 |
14-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Fix display projections when translated. There are two different translations to apply in the logical orientation, one before scaling and one after. So translate, scale, translate then rotate. Bug: 7139798 Change-Id: I0726991cadb62988390e77503dbbaed54f07bfe3
isplayDevice.cpp
urfaceFlinger.cpp
|
ae2cfb5746e87f1bf17c446e20274c41ce0a57ce |
13-Sep-2012 |
Andy McFadden <fadden@android.com> |
Minor tweaks A couple of minor cleanups I stumbled over while looking at other things. Change-Id: I385ecfe1afefd577afbc59d7ef1d98d868073651
isplayHardware/HWComposer.cpp
ventThread.cpp
ventThread.h
|
a4383fd9de407d16342cd1069f75d2f0207efc0f |
13-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Initialize new HWC 1.2 fields" into jb-mr1-dev
|
fa32888f5822093f69522086d96ea2d493011a67 |
13-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Fix display projection transforms" into jb-mr1-dev
|
ce3a0a541c3dde1330551bd7a048cd9d92335c00 |
13-Sep-2012 |
Mathias Agopian <mathias@google.com> |
don't call hwc with non-empty layer lists for blanked displays we now make sure to take the blanked state of a display into account when we build its list of visible layers, this ensures that we won't call prepare/set with a non-empty list when the display is blanked. Possibly fixes 7075380, 7103553, 7130187, 7016215 Bug: 7075380 Change-Id: I9fdd2e73d1b7621eaeca3d4ac2ae60d9fb1b3631
urfaceFlinger.cpp
urfaceFlinger.h
|
db27621e22559a1b16414f890677ef04242fbc3b |
07-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Initialize new HWC 1.2 fields Also rename resolution* to width/height. Change-Id: Ia5f0c50d3f0a349160f314a3257c3b985e13ef1d
isplayHardware/FramebufferSurface.cpp
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
6360ec42d414b1351ecb6c5fc4b8afa30d8f4ebf |
12-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Fix display projection transforms Bug: 7139798 Change-Id: I61aafe99180d85563c6880d16bc367fce80e6022
isplayDevice.cpp
|
2c7c8ba56ad9c0c08fde6f86771475f03a03e6fd |
12-Sep-2012 |
Andy McFadden <fadden@android.com> |
Merge "Fix emulator" into jb-mr1-dev
|
babba1868773eba5edf8a8e335b8e109a32292e0 |
12-Sep-2012 |
Andy McFadden <fadden@android.com> |
Fix emulator Emulator has no HWC. Change-Id: I7810b27034f6772823142e5bf877681db1c8ee49
isplayHardware/HWComposer.cpp
|
92def36f9f79973c6ca18fc66210b32e3901351d |
12-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Merge "fix typo in LayerBase::dump()" into jb-mr1-dev
|
791da60dd322f596b29320edb97c5366070c9ddc |
12-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix typo in LayerBase::dump() Change-Id: Ie4861a58baed003b7ef643931d41f6be3fbfd00c
ayerBase.cpp
|
43601a2dc320a271ff8c3765ff61414a07221635 |
12-Sep-2012 |
Andy McFadden <fadden@android.com> |
Reduce failure uncertainty This adds a trivial workaround for a one-shot boot time crash, plus an explicit check and abort for a failure condition that currently presents as a less obvious failure. Bug: 7145521, 7147557 Change-Id: I548f6a9caa9f0bd5710aaecea0e1c6c7c8f2f281
isplayHardware/HWComposer.cpp
urfaceFlinger.cpp
|
b0d1dd36f104c0b581674adc7f830cbf44b7db06 |
10-Sep-2012 |
Andy McFadden <fadden@android.com> |
Reshuffle FramebufferSurface FramebufferSurface no longer speaks directly to the FB HAL. Now everything goes through HWComposer (which may or may not be connected to a hardware composer). Added display index arg to some query methods. Change-Id: Id3e157d2d4e3555d33afbb703e518b6e92e2d6d5
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
urfaceFlinger.cpp
|
61e04b92bdeafc6fca89052d14dab1bd0c384a71 |
10-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: use eglWaitSync This change adds a compile-option to use eglWaitSyncANDROID to ensure that texturing operations that access the current buffer of a SurfaceTexture do not occur until the buffer is completely written. It also moves this synchronization into a new SurfaceTexture method called doGLFenceWait and changes SurfaceFlinger's Layer class to use that method rather than performing its own wait on the fence. Change-Id: I70afa88086ca7ff49a80e3cd03d423767db7cb88
ayer.cpp
|
4c05dd175ee3bd5119eecf368742b6510a8cfa6c |
09-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Ensure that viewport and frame are initialized. onInitializeDisplays() was posting a transaction with changes to the display projection. Unfortunately, it only set the display orientation field and left viewport and frame uninitialized. The uninitialized values flowed downstream and found themselves baked into a bogus DisplayDevice mGlobalTransform. That transform was then applied to some Rects which were turned into Regions that were them combined with other Regions. Under certain situations, the uninitialized data might have a largish value, resulting in the creation of Regions with components in excess of the Region max-value limit of 0x7ffffff (note that this is not INT_MAX). Later when performing a binary operation using the Region, the Spanner would loop indefinitely trying to figure out how to stuff a humongous region inside of a max-value region. Not content to try just once, the Spanner would continue trying again and again, pegging the CPU and hanging surface flinger during boot. Insanity soon followed. Bug: 7130713 Change-Id: I0016f0c9662185be833474c212a1dd408096ae23
urfaceFlinger.cpp
ransform.cpp
|
4fb3999cea652617be5125f8a42c257467bf3c77 |
07-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Fix display projection. Change-Id: I0f253dc3759b99e05ff8344b0f513d8c289702e7
urfaceFlinger.cpp
|
b27254154642575dfb4bbfa79fbedde7d7ee23dd |
06-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: move fence handling into ConsumerBase This change moves some common fence handling code into the base class for BufferQueue consumer classes. It also makes the ConsumerBase class initialize a buffer slot's fence with the acquire fence every time a buffer is acquired. Change-Id: I0bd88bc269e919653b659bfb3ebfb04dd61692a0
isplayHardware/FramebufferSurface.cpp
|
55882dea1b1b305f15192b96ff7814f18babb212 |
06-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix a problem where all hwc layers would have the SKIP flags set the problem was that LayerBase::setPerFrameData() was always setting this flag. in fact there was no reason to do this at that point since the layer is initialized to a default state in setGeometry(). Bug: 7111259 Change-Id: Ib37b0dd7391a6163070e9aca025512159c1705f9
isplayHardware/HWComposer.cpp
ayerBase.cpp
|
fe4c745c6d62fb416758cc5aaff3e7decb7ec06b |
05-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Always reset layer acquireFenceFd after commit" into jb-mr1-dev
|
e25d005d91344c500450f01d4a258ca9c3676627 |
05-Sep-2012 |
Jesse Hall <jessehall@google.com> |
Always reset layer acquireFenceFd after commit If SurfaceFlinger needs to refresh the screen but the dirty region is empty, it won't set the layer acquire fences, and stale file descriptors will be passed to HWC commit(). Now we make sure to clear the stale file descriptors for each layer right after commit(). Bug: 7078301 Change-Id: I6953ff91fc5488f105b30b07306f9c45a4c3f780
isplayHardware/HWComposer.cpp
|
1501d54d63c55dc4e8f4c6eeaeac35aca6660ffc |
05-Sep-2012 |
Mathias Agopian <mathias@google.com> |
minor cleanup Change-Id: Ied80e14878e92a506930f7a5a55adde8f260ec70
urfaceFlinger.cpp
|
762d0114759686b65feca832a5437e2aee343a13 |
05-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Merge "display projection API now has a single function instead of 3" into jb-mr1-dev
|
71e83e1202dc87afde9c0c31f31c129f3f99263f |
05-Sep-2012 |
Mathias Agopian <mathias@google.com> |
the visibleRegion was never set in hwcomposer Bug: 7089478 Change-Id: I13b031b23ce908d33f431a04e1cf87831b551260
ayer.cpp
|
00e8c7a88a5b9c4104a71013a713acd3e4d3b77b |
05-Sep-2012 |
Mathias Agopian <mathias@google.com> |
display projection API now has a single function instead of 3 Change-Id: I9bf46d372b77d547486d4bbe6f1953ec8c65e98f
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
|
da8d0a5c0cf9d41915d3b106cad4aaec3e767c11 |
05-Sep-2012 |
Mathias Agopian <mathias@google.com> |
implement display viewport and frame note: viewport clipping is not implemented yet Change-Id: I7fde7c4de075d409d95c48bb20ba8ee017f6f00a
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
urfaceFlinger.h
|
6b09f280e522da902ca41b96c3e4510d7a2879b7 |
04-Sep-2012 |
Andy McFadden <fadden@android.com> |
Merge "Add timeout when waiting for HW vsync" into jb-mr1-dev
|
63f165fd6b86d04be94d4023e845e98560504a96 |
31-Aug-2012 |
Keun young Park <keunyoung@google.com> |
add libsurfaceflinger_ddmconnection for PDK build - the library is dlopened from libsurfaceflinger - the library built only when libnativehelper exists Bug: 7089510 Change-Id: Ib3ea1029d7e8f6e055f4b759d0bf68f5123fa8a1
ndroid.mk
dmConnection.cpp
dmConnection.h
urfaceFlinger.cpp
urfaceFlinger.h
|
c39736088398a9b4367b30fc307ed7de96ac342e |
01-Sep-2012 |
Mathias Agopian <mathias@google.com> |
the visible region sent to HWC was garbage we used to have a visibleRegion object per layer, but now it's per screen; so at somepoint the code got changed to calculate the per-screen visible region on the stack and that's what got passed to HWC. we're now setting the visibleRegionScreen at each frame and freeing at after the HWC set() call. We use the underlaying SharedBuffer so that in most cases we don't have to allocate, free or copy memory around. Bug: 7089478 Change-Id: I24fa556c76613a225d9fe7a6c6b727bb476144d8
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayerBase.cpp
ayerBase.h
|
6bf552ee02f8540a36cde7be90ffd840b2f6cd5c |
31-Aug-2012 |
Andy McFadden <fadden@android.com> |
Add timeout when waiting for HW vsync This way we don't get stuck if, say, the driver decides not to send us vsync events. Change-Id: I4af6358b3a1f304eaae5fd926ed3403fa1091827
ventThread.cpp
|
9ca48916bc9408d0f3f8ac95469ced0a6a342aca |
30-Aug-2012 |
Jesse Hall <jessehall@google.com> |
If there is no hwc, call eglSwapBuffers for the main display Bug: 7068568 Change-Id: I6a0309613fe3619d065b9047af6c3fb32b510d97
urfaceFlinger.cpp
|
f90883d6a50688081642855bba43bef0693d5020 |
31-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Merge "HWC 1.1: hook up hotplug event, use new display config queries" into jb-mr1-dev
|
1bd20e0f9ecd27cc5ad2bdf08b01837ecc10c357 |
29-Aug-2012 |
Jesse Hall <jessehall@google.com> |
HWC 1.1: hook up hotplug event, use new display config queries Change-Id: I2fd359e5fc7e1948072c6bc6b6fe47ea5e8025c1
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
72f096fb1ad0a0deadbfac5f88627461905d38e8 |
28-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: use max acquired buffer count This change makes BufferQueue derive the min undequeued buffer count from a max acquired buffer count that is set by the consumer. This value may be set at any time that a producer is not connected to the BufferQueue rather than at BufferQueue construction time. Change-Id: Icf9f1d91ec612a079968ba0a4621deffe48f4e22
isplayHardware/FramebufferSurface.cpp
|
2b9776982360a234803665cb79e8abcfeb0e3c79 |
31-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "BufferQueue: clean up buffer counting" into jb-mr1-dev
|
ec34af4144c0f990513fe58b0754b20f94b36d6f |
30-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Handle new device api version encoding" into jb-mr1-dev
|
93997a8a75942b4d06cf50925de5bede489cc134 |
30-Aug-2012 |
Mathias Agopian <mathias@google.com> |
fix a crasher when setting a display to a null surface Bug: 7076303 Change-Id: I843dd4ee4a603b8ad51bc1ad14e429db15050bec
urfaceFlinger.cpp
|
85d751cba5d4386c739dbf9dd8f7bbf8c493ade9 |
30-Aug-2012 |
Mathias Agopian <mathias@google.com> |
we were sometimes not setting fences properly this would happen when the composition was handled entirely in h/w composer, in this case, we would not set the fences for any involved layers. Bug: 7049373 Change-Id: I1439dc156ce23c24041cdfbbebfe8ff4fdf790f8
urfaceFlinger.cpp
|
31a353da225af5329735451c761b430d82dfda1b |
25-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: clean up buffer counting This change is a clean up of some of the handling of the maximum number of buffers that are allowed at once. It mostly renames a few member variables and methods, but it includes a couple small refactorings. Change-Id: I9959310f563d09583548d4291e1050a7bbc7d87d
isplayHardware/FramebufferSurface.cpp
ayer.cpp
|
9eb1eb5bb55740982ceae9966fc536824edc302a |
29-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Handle new device api version encoding Change-Id: I3d36058bd5d31c23b3cc4a7eb5aa033b6f3c1955
isplayHardware/HWComposer.cpp
|
7e7ed7f77a3963a3542bde529d2797a239e2798b |
28-Aug-2012 |
Mathias Agopian <mathias@google.com> |
the layer list per display could contain non-visible layers this happened because we didn't check that the visible region was within the bounds of the display. Bug: 7064121 Change-Id: I2e81850a3dc3d1474253520ad7f9e559c26d5a96
urfaceFlinger.cpp
|
55801e41e6d7306d75d8134dd69d7d8cbbfbc63c |
28-Aug-2012 |
Mathias Agopian <mathias@google.com> |
we were not always clearing the screen properly Change-Id: I269dd866e965aebd9b3c4667095818202982f4a3
urfaceFlinger.cpp
urfaceFlinger.h
|
3ee454a7bef8bd3d1c9cdd9d17108eb80ebadf2a |
28-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Eradicate DisplayID. DisplayDevices are now keyed of the wp<IBinder> the client uses. DisplayID has now become DisplayType which is just used to identify physical displays (as opposed to virtual displays such as wifi displays). Change-Id: I0c5968f2c902dcd699a7e0afacf833ff070c12ea
lient.cpp
isplayDevice.cpp
isplayDevice.h
ventThread.cpp
ventThread.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerDim.h
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
9d4e3d2f42e93e2d12bacabe97d307d30c3c20dd |
25-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Banish DisplayID from the SurfaceFlinger API. Use only display tokens in the API to refer to new displays. Don't require the caller to specify the display when creating a surface (since in general a surface could be shown on any display). This is intended to be a minimum change just to update the API. Note that SurfaceFlinger still uses DisplayID in a few places internally that might cause some features not to work properly when there are multiple displays (LayerScreenshot, for example). Change-Id: I3d91eec2da406eefd97bcd53655d403ad865a7e6
lient.cpp
lient.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/Transaction_test.cpp
ests/resize/resize.cpp
ests/screencap/screencap.cpp
ests/surface/surface.cpp
|
13a082e160c2d1d8006b93a555a57035213d568b |
24-Aug-2012 |
Andy McFadden <fadden@android.com> |
Added display initialization method The primary display device was being configured to "blank" by default, which prevented the boot animation from appearing (unless you got lucky with the hardware composer state). Bug 6975688 Change-Id: I0fa52e9e719c6e997c5725a7baf15d9718461b78
isplayHardware/HWComposer.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
0bceb84773882b796d9dacbaf96167cb15928d78 |
24-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
surfaceflinger: fix display id selection This change fixes display ID selection so that it never chooses negative numbers as display IDs. Change-Id: I5af1acc7b1270b371595e096b18e2a6ad250c7ba
urfaceFlinger.cpp
urfaceFlinger.h
|
9b6a395e65ff88ab79fe92d6f112c434441ca606 |
24-Aug-2012 |
Andy McFadden <fadden@android.com> |
Revert "Added display initialization method" Something doesn't seem right (again). This reverts commit 53ade0853ca003c9e917b5e7d34e1b1338d7b87d. Change-Id: Id5786997ca9dd2a447363e8ac95213ea37468504
urfaceFlinger.cpp
urfaceFlinger.h
|
53ade0853ca003c9e917b5e7d34e1b1338d7b87d |
24-Aug-2012 |
Andy McFadden <fadden@android.com> |
Added display initialization method The primary display device was being configured to "blank" by default, which prevented the boot animation from appearing (unless you got lucky with the hardware composer state). Bug 6975688 (This reverts an earlier revert.)
urfaceFlinger.cpp
urfaceFlinger.h
|
f435863467ab407f2a482604beed5fa6f0144c62 |
23-Aug-2012 |
Mathias Agopian <mathias@google.com> |
teach HWC about multiple displays Change-Id: I5e72a83d419a729835cb0e1ec45557b4d3fb56b1
isplayDevice.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
30bcc61431d8e3bef779472dd52a7b156dcaba09 |
23-Aug-2012 |
Mathias Agopian <mathias@google.com> |
remove support for HWC < 1.0 Change-Id: If7e676a6e3524afeb9af3875125d2131d95db38b
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
e60b0687c8d49871d0c8786cabe6851f7a7783b5 |
22-Aug-2012 |
Mathias Agopian <mathias@google.com> |
HWComposer now has its own concept of display IDs HWComposer can now create IDs representing a display it can deal with. IDs MAIN and HDMI are reserved. SurfaceFlinger associate HWComposer IDs with a DisplayDevice and uses that when it talks to HWComposer. A DisplayDevice doesn't have to have a HWComposer ID, in that case it just can't use h/w composer composition. Change-Id: Iec3d7ac92e0c22bf975052ae2847402f58bade71
isplayDevice.cpp
isplayDevice.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
7c9e82633c5c4f85b896a5879bdb25cdf659646e |
24-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Merge "simplify further vsync handling" into jb-mr1-dev
|
f6bbd44a23c2791277db7814a894633de04cd460 |
22-Aug-2012 |
Mathias Agopian <mathias@google.com> |
simplify further vsync handling - we now clean-up "dead" connection in the main loop, this entirely avoid the problem with the side effects of releasing strong references. We now only hold on to strong reference for the connection we will signal. - also simplify how we build the list of "ready" connections, by only adding them to the list when we did receive a vsync event Change-Id: I2a84da431320a2af8e8a93e07622a1d258236f43
ventThread.cpp
ventThread.h
|
d12780ed123b54687fea534b34f54ef9c678cdcd |
23-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Update for cleanups in hwc interface" into jb-mr1-dev
|
bc46e0ad869befcfa97f6272615cdeae2135008f |
22-Aug-2012 |
Ramanan Rajeswaran <ramanan@google.com> |
Merge "Revert "Added display initialization method"" into jb-mr1-dev
|
f1bf89dd88f3926faaec77b9322b2a580691960d |
22-Aug-2012 |
Ramanan Rajeswaran <ramanan@google.com> |
Revert "Added display initialization method" This reverts commit 3f3956236aac97b6aa25fa89f0983d5e9d065fdb Change-Id: Ia2a15d9a5db88add6019edf9d955cef1f73d432d
urfaceFlinger.cpp
urfaceFlinger.h
|
bbd164a3c790a0649dffd2f015e6f47692c72e1c |
21-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Update for cleanups in hwc interface Change-Id: I363fd8b085167a1af6c14b68012bda5c62bfe59f
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
8f971ff6661c875e7adb3f14731e1579c3c80c62 |
22-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Pass the correct number of displays based on HWC version Change-Id: I27372f5d3102ad56f6d67722d631ae18d37f8330
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
3f3956236aac97b6aa25fa89f0983d5e9d065fdb |
21-Aug-2012 |
Andy McFadden <fadden@android.com> |
Added display initialization method The primary display device was being configured to "blank" by default, which prevented the boot animation from appearing (unless you got lucky with the hardware composer state). Bug 6975688 Change-Id: Idaa0d0b98ebb331a17d1b16774c6b05bfa1e8728
urfaceFlinger.cpp
urfaceFlinger.h
|
a4cb35a2864d58e9a764a17623e15ab25a9964a0 |
21-Aug-2012 |
Mathias Agopian <mathias@google.com> |
fix various issues in SF's EventThread - one issues caused most timestamps to be reported as 0 - on rare occasions an uninitialized variable could be used - vsync counts per connection were accessed unthreadsafely we now have 2 lists of connections in the main loop, one just keeps a list of strong refs to the connections because once we have a strong ref we're not allowed to release it while holding the lock. the 2nd list holds the connections that have a vsync event to be reported. all the calculations are made with the lock held. Change-Id: Iacfad3745b05df79d9ece3719bd4c34ddbfd5b83
ventThread.cpp
ventThread.h
|
10125f00a50d3edd05deef9fcd2d368cf2766683 |
18-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Fix deadlock in SF. problem was that we were acquiring a strong reference on Connection object with a lock held, when those got out of scope (lock still held) their dtor could be called if all other refs had dropped, the dtor would acquire the lock again to remove the Connection from the main list. boom. we rearange the code so this doesn't happen. Bug: 6942208 Change-Id: I0a0ebabce2842d29d60d645b64aac2f26640e59b
ventThread.cpp
ventThread.h
|
cd60f99aba9e750700a967db30b74a29145739cf |
17-Aug-2012 |
Mathias Agopian <mathias@google.com> |
refactor compositing code to avoid multiple eglMakeCurrent() calls when multiple displays are connected, we ended-up having to call eglMakeCurrent() twice per display due to a limitation in EGL. this fixes that. Change-Id: I11e4584df50f8c24bbecee74e37b28b3ee031d2f
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
urfaceFlinger.h
|
5f20e2d4462da3471f59152b32cd8640fa4a21da |
11-Aug-2012 |
Mathias Agopian <mathias@google.com> |
reimplement wifi display hack with new external display SF framework fix a few bugs with external displays - HWComposer doesn't really handle multiple displays yet so there is a lot of ugliness there - We also need to make sure that external displays are not blanked by default - due to some EGL limitations surfaces being swapped need to be current Change-Id: I82bff05b43bcebd8da863c7c76b4edbc3bc223a9
isplayDevice.cpp
isplayHardware/HWComposer.cpp
ayerBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
818b46058aa3006e1d3c178abd36d4f10823f5d9 |
17-Aug-2012 |
Mathias Agopian <mathias@google.com> |
display states can't share the dirty flags Change-Id: Ifade9f2f1a0df9a36aede77a6cf5eee4be534f98
urfaceFlinger.cpp
|
111b2d89221722d38f5b5b3ba65904ec22421839 |
17-Aug-2012 |
Mathias Agopian <mathias@google.com> |
binder interfaces can't be compared directly we always need to compare their binder Change-Id: I70d554ebc5009fe81e87923235f91451f32e1a30
urfaceFlinger.cpp
|
13233e067b8f71adc3a0ade5f442265e1f27084b |
16-Aug-2012 |
Mathias Agopian <mathias@google.com> |
oopsie, missed a spot when fixing b/6970310 Change-Id: Ia320fddc7cc4b0666a4fee678af710ecf5f83ff5
urfaceFlinger.cpp
|
3559b07a885bcdff51a6dffb8e3a5ac5adf3a220 |
15-Aug-2012 |
Mathias Agopian <mathias@google.com> |
we were mistakenly optimizing out SF's main transactions in some cases due to a typo, SF's main transaction was conditional to having a display transaction. more correct fix for 6970310 Bug: 6970310 Change-Id: Iafd8c4e02afa5db829cc1c65950cfcc74754c6af
urfaceFlinger.cpp
|
01eb979243a57bd33f8389aeeade8024dd0258c0 |
15-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Fix layer removal transaction. Layers were not properly being removed because we were setting the wrong transaction type flag at the time of removal. When layers are removed, we must use eDisplayTransactionNeeded, not eTransactionNeeded, to ensure that the mLayersRemoved flag is checked and the appropriate cleanup occurs. Bug: 6970310 Change-Id: Id4b2897a34d4ac00aa0f92349c0ec6db95c1aaf7
urfaceFlinger.cpp
|
ea599dfff03b45903dae3288274c31cb24fd483f |
13-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Don't crash when recovering from WM death Bug: 6956162 Change-Id: I27244b960c77187b4c4cd7297989c4c872e94a3a
urfaceFlinger.cpp
|
20128300e0cb7f459a60cfbcddb48190ce6545ed |
14-Aug-2012 |
Mathias Agopian <mathias@google.com> |
make sure to repaint the screen when unblank()ing Change-Id: I38e3a8e6bb31ef3d2f1fcaec7490cb92a4427db2
urfaceFlinger.cpp
|
8b736f138cfd9b239a2c7073347a13c489534ae1 |
14-Aug-2012 |
Mathias Agopian <mathias@google.com> |
xdpi / ydpi were reported as 0 Bug: 6975723 Change-Id: Ia7fa37ec11e2308804f5034959a37e508d292d31
isplayDevice.cpp
isplayDevice.h
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
e57f292595bec48f65c8088b00ff6beea01217e9 |
10-Aug-2012 |
Mathias Agopian <mathias@google.com> |
make multi-display more real - displays are represented by a binder on the client side - c++ clients can now create and modify displays Change-Id: I203ea5b4beae0819d742ec5171c27568f4e8354b
isplayDevice.h
urfaceFlinger.cpp
urfaceFlinger.h
|
ef7b9c7eac036cc1230c64821039d18f8cbd2c1c |
11-Aug-2012 |
Mathias Agopian <mathias@google.com> |
screenshots could stop working after camera was used once a secure window is put on screen the display would retain its "secure" flag forever, preventing screenshots from being taken. Bug: 6933967 Change-Id: I5be8355145ca7d580d84552311642f8fa912fe6a
isplayDevice.cpp
urfaceFlinger.cpp
|
748f3df66f6695681cde44461e2548e6e1dbc1bb |
10-Aug-2012 |
Mathias Agopian <mathias@google.com> |
avoid crashing when we don't have an h/w composer should fix the emulator Bug: 6956162 Change-Id: I38247b59d276b8db078c4dc2caba7d3fb545912c
isplayHardware/HWComposer.cpp
|
3165cc21cfea781988407b19bd83292b19f05f55 |
09-Aug-2012 |
Mathias Agopian <mathias@google.com> |
libgui includes refactoring Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
isplayDevice.cpp
ayer.cpp
ayerBase.cpp
ayerScreenshot.cpp
urfaceFlinger.cpp
|
1e26087493ac0e7d7dc6dea8ad85cfef08b3271f |
09-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Add a display parameter to HWComposer where needed - also replace C casts with C++ casts - only the interface is changed, HWComposer still doesn't fully handle multiple displays Change-Id: I48eb89bff2edb76bf1d4d41f46802b9b2a7166a8
isplayDevice.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
28947d7fbf9f486539322e8e12dd057568e180c2 |
09-Aug-2012 |
Mathias Agopian <mathias@google.com> |
now able to set the layer stack on a DisplayDevice Change-Id: Ia9691cf221b9444c243eb468d9e276a30e600b6b
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
|
b685c542836b93c99cd85053e07696406ea37adb |
31-Jul-2012 |
Jesse Hall <jessehall@google.com> |
Changes to support multi-display HWC Change-Id: I07efff54f2980dcb013935747b03e099b8f1181b
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
14bd369e4b711bfb267279c2161358542ed75b29 |
07-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
Merge changes Ic3d35a93,I46ec942d into jb-mr1-dev * changes: SurfaceTexture: fix an out of bounds array access surfaceflinger: refactor FrambufferSurface
|
1a4d883dcc1725892bfb5c28dec255a233186524 |
03-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
surfaceflinger: refactor FrambufferSurface This change refactors the FramebufferSurface class to inherit from the new ConsumerBase class. Bug: 6620200 Change-Id: I46ec942ddb019658e3c5e79465548b171b2261f2
isplayDevice.cpp
isplayDevice.h
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
92516c84ef2a167524007a0584fb26018b5cb9c4 |
06-Aug-2012 |
Greg Hackmann <ghackmann@google.com> |
fix pdk build Change-Id: Ia4db8e1e8ee18ac112bf13a5ab2a75edb08fc70f Signed-off-by: Greg Hackmann <ghackmann@google.com>
dmConnection.cpp
|
028a7572c81f91e4039b694cde1f55fdb3e483c7 |
05-Aug-2012 |
Mathias Agopian <mathias@google.com> |
DisplayDevice doesn't need weak pointers or polymorphism let's use a LightRefBase for now. Change-Id: Ida068fa902343a8f89ffb6d34c2cd4627ab43c6c
isplayDevice.h
|
4297734c1156fd8ede7e9c61b1e439f9e1c18cd9 |
05-Aug-2012 |
Mathias Agopian <mathias@google.com> |
turn DisplayDevice into a reference-counted object it's safer this way because this object owns an EGLSurface which cannot be easily reference-counted. it also gives us the ability to sub-class it, which we might want to do soon. Change-Id: I07358bb052dc5a13b4f2196b2c2b6e6e94c4bb4f
isplayDevice.cpp
isplayDevice.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerDim.h
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
d8552d796cbcb9a89711fc8f97b34838da5cbdb7 |
05-Aug-2012 |
Mathias Agopian <mathias@google.com> |
DisplayDevice only needs ANativeWindow not SurfaceTextureClient Change-Id: Ib5be5af8bede435c8d5d9fabf586d28d0e74c2cb
isplayDevice.cpp
isplayDevice.h
|
888c822c4cb6976aab9256c58bae9e17e3e55c5c |
05-Aug-2012 |
Mathias Agopian <mathias@google.com> |
remove a dependency of DisplayDevice on the refresh rate this remove a dependency (not all) on FramebufferSurface Change-Id: Ie07ce70760cdcedfb41b5b41bea8da45637bf474
isplayDevice.cpp
isplayDevice.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
c1d359d42b753fcc2426d66a0f782f7c300893bc |
05-Aug-2012 |
Mathias Agopian <mathias@google.com> |
break SF dependencies on libdvm and libandroid_runtime these libraries are only needed for debugging and are now linked at runtime if needed. Change-Id: I03f138523c6de166a1e2700d4454d4a854aee145
ndroid.mk
dmConnection.cpp
urfaceFlinger.cpp
|
92efd84f37ce5a8aae74dc9086f825a67b6894e9 |
03-Aug-2012 |
Mathias Agopian <mathias@google.com> |
screen-off animation won't be handled by SF anymore Change-Id: Idc41386804ae7d7eb981c36e1bc55c270870c8d0
urfaceFlinger.cpp
urfaceFlinger.h
|
92a979a92c34b7de609ce2b1662c73bb8a2728b9 |
03-Aug-2012 |
Mathias Agopian <mathias@google.com> |
We now have a real list of displays. displays can be dynamically added or removed, and the list is part of the SF's transaction. Change-Id: I4186ea39f1317c0e7c044f869004017738968fab
isplayDevice.cpp
isplayDevice.h
urfaceFlinger.cpp
urfaceFlinger.h
|
fcb239d3dac8bc80f28177f1951611c1d43286ff |
03-Aug-2012 |
Mathias Agopian <mathias@google.com> |
don't filter when capturing a screenshot unless needed bug: 6919952 Change-Id: Ia6fbe9bc7e533a64cfdd6ef7f0cd6b9f11feb947
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
d3ee231eddce0b69ec5e35188dbd0f4a2c3b9ac3 |
02-Aug-2012 |
Mathias Agopian <mathias@google.com> |
cleanups in preparation of bigger changes - fix typo drawForSreenshot misspelled - get rid of DisplayDeviceBase - removed unused or unneeded code - always pass a DisplayDevice to Layer methods that are called on a per-display basis (to make it clear that this could be called more than once per composition). Change-Id: Id948b7e09fe5c06db0e42d40d6ed75dd095c7f44
ndroid.mk
isplayDevice.cpp
isplayDevice.h
isplayHardware/DisplayDeviceBase.cpp
isplayHardware/DisplayDeviceBase.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerScreenshot.cpp
urfaceFlinger.cpp
|
0f2f5ff75b7b48ceb64270655ee6b62d09bf4d00 |
01-Aug-2012 |
Mathias Agopian <mathias@google.com> |
rename DisplayHardware to DisplayDevice Change-Id: I3f7250cd914e0da4f9ec2c9403587bbe12f3cc62
ndroid.mk
isplayDevice.cpp
isplayDevice.h
isplayHardware.cpp
isplayHardware.h
isplayHardware/DisplayDeviceBase.cpp
isplayHardware/DisplayDeviceBase.h
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
ventThread.cpp
ventThread.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerDim.h
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
be246f86bd6378a5110e81e9d9068ab03c3b077e |
01-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Layers are now sorted by layer-stack first, then by z-order Change-Id: I7a82929df5ba87b9d88cc5be87e1a233bc4628e9
urfaceFlinger.cpp
|
52bbb1ae239c8a4d05543a23fa8c08467d09c3b2 |
01-Aug-2012 |
Mathias Agopian <mathias@google.com> |
getting closer to final main composition loop Change-Id: Icd63782366ffd11d9ea00c925ae5783ed7440cdb
isplayHardware.cpp
isplayHardware.h
ayer.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
87baae104a3e4c2059990b01c393476065c558b0 |
31-Jul-2012 |
Mathias Agopian <mathias@google.com> |
get rid of global regions that should be tracked per display Change-Id: I3b871860cc29f1b2fdcc22b0c577a6eae65d9296
isplayHardware.cpp
isplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
|
34a09ba1efd706323a15633da5044b352988eb5f |
30-Jul-2012 |
Jesse Hall <jessehall@google.com> |
Move eglSwapBuffers out of HWComposer Commit 8630320 moved the eglSwapBuffers fallback (for devices with no HWC implementation) from DisplayHardware to HWComposer. But HWComposer only knows about the framebuffer EGL display and surface handles if there is a HWC, so it was always passing bogus handles. This change moves the eglSwapBuffers fallback up to SurfaceFlinger, which has access to the framebuffer EGL handles. Bug: 6886613 Change-Id: Iad3f5ff7c90ee48d7053999e6a4548d6794b6ebd
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
c666cae2d5995097ec49a87e375e2afdd92802b7 |
26-Jul-2012 |
Mathias Agopian <mathias@google.com> |
get rid of the shared-memory control block Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
isplayHardware.cpp
isplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/Transaction_test.cpp
|
028508cad5ef63ef9fbd42c14e76658e4fd9ebf2 |
26-Jul-2012 |
Mathias Agopian <mathias@google.com> |
hopefully fixe a race condition in sf initialization if we received a vsync event during SF init, we could crash as not all objects were ready to go. Change-Id: Ie11b46e3eb1b37a709dd8757843d444f93dd0189
isplayHardware/HWComposer.cpp
urfaceFlinger.cpp
|
8630320433bd15aca239522e54e711ef6372ab07 |
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
split HWComposer out of DisplayHardware we will only ever have a single instance of HWComposer, so it's now an attribute of SurfaceFlinger, instead of being part of DisplayHardware. DisplayHardware now just represents a "display" (it should be renamed). Change-Id: Iec191e57686868e1df6daa8b880a286c9fefde56
isplayHardware.cpp
isplayHardware.h
isplayHardware/HWComposer.cpp
ventThread.cpp
ventThread.h
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
98a121aa916eb7acbf11df0e3e31a6fede6fc9dd |
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
get rid of ro.sf.hwrotation, it's not used anymore Change-Id: I2ee469ac89ecd65d7187be5cab08b5cc18f67cbe
isplayHardware.cpp
isplayHardware.h
urfaceFlinger.cpp
|
8785578391eacd4192333d7b0ce3afedd7d163e6 |
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
add a layerStack attribute to Layers. this attribute can be set through a regular transaction using SurfaceComposerClient (just like any other attribute, eg: position or size) Change-Id: I701a47c677ea6442ca713728a93335328cd2b172
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
8b33f032327f8de0dcc0e6d0d43ed80f834b51f6 |
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
update SF binder protocol to support setting display attributes no change of functionality -- the old behavior is implemented on top of this new protocol. this new protocol will allow, eventually, to pass informations about displays and layer stacks. Change-Id: Ic6c2295e61ec8ecbc8ce01ab7664e35d928202fc
urfaceFlinger.cpp
urfaceFlinger.h
|
921e6ac4b7610a178285898d191eb0e3afe906c0 |
24-Jul-2012 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger cleanup mostly refactored SurfaceFlinger.h, but also removed dead code. cleaned-up a few includes as well. Change-Id: Ib15f4ffe567912b61ee98aa076c6a283b72811b5
lient.cpp
isplayHardware.cpp
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ventThread.cpp
ventThread.h
ayer.cpp
ayerBase.cpp
ayerBase.h
ayerScreenshot.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
6ee93c0d36dff1339eb2428be2d65441398e6e5f |
23-Jul-2012 |
Jesse Hall <jessehall@google.com> |
Increment iterator on early-out too Bug: 6860046 Change-Id: I82f9e4062cb58d5479c9d8dc5f2f0770a1dcc605
urfaceFlinger.cpp
|
a6b32db164e7834e211261046f3229bf50bc0098 |
20-Jul-2012 |
Jesse Hall <jessehall@google.com> |
Handle empty HWC layer list when composing Bug: 6777877 Change-Id: I71e9b948d04dda33d45cfa986d9c7e28328cf749
urfaceFlinger.cpp
|
a49126087b4494f4ef50873f3a3f6727265f6621 |
12-Jul-2012 |
Mathias Agopian <mathias@google.com> |
factor EGL/GL and surface creation out of DisplayHardware Change-Id: Icd85a6a4caad06f056578008af3e21666fa8b1f4
isplayHardware.cpp
isplayHardware.h
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
ayer.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
3b1d2b6b2bbfb5df46b1059ec52360974e6f1428 |
11-Jul-2012 |
Mathias Agopian <mathias@google.com> |
mVisibleLayersSortedByZ is now maintained per display Change-Id: Idcdb77eba1a3f99b3e4b2150128a82acaffcd2a8
isplayHardware.cpp
isplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
|
f0048f96040671c1597b157a36e4959a0662708e |
17-Jul-2012 |
Colin Cross <ccross@android.com> |
Merge "surfaceflinger: call into hardware composer to blank screen"
|
10fbdb6059755f009e02f0ccc2b9d289beb6b086 |
13-Jul-2012 |
Colin Cross <ccross@android.com> |
surfaceflinger: call into hardware composer to blank screen Call into the new HWC blank operation to blank or unblank the screen. Legacy systems may have already blanked the screen via early suspend, and can choose to not implement the blank operation in their hardware composer implementation. Change-Id: Ib403c8c0e36367a2cfef3e1d124872fcfeb9e7cb
isplayHardware.cpp
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
4fec873a98f7b4380720cd1ad006f74c8cdc73da |
29-Jun-2012 |
Mathias Agopian <mathias@google.com> |
one more step towards multiple display support - remove dependency on cached state in validateVisibility - get rid of mVertices and mTransformedBounds - get rid of validateVisibility - get rid of unlockPageFlip - handleTransaction now returns a dirty region - computevisibileregion now uses window-manager space
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerScreenshot.cpp
essageQueue.cpp
essageQueue.h
urfaceFlinger.cpp
urfaceFlinger.h
|
c5c5a14c06de249d8e0445fd24699e1d9aa04549 |
03-Jul-2012 |
Jesse Hall <jessehall@google.com> |
Only set acquire fences on overlay layers Change-Id: I08e8173f83580de5a4e43a0ba5ea03e5ec6e8782
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
dc5b485f74edf2d2f31c62054eb6c180421a3ade |
30-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Pass fence to HWC on first use of buffer Also do a CPU-wait on the fence before using it for GL composition. Change-Id: I0f645a42a44803276cae11b904e5a26d65871562
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
|
b42b1ac1587aebda5e2f334d95b620271fafba4e |
28-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Return fence from acquireBuffer Change-Id: Iab22054c1dc4fd84affab3cc5bbdcd5a1e689666
isplayHardware/FramebufferSurface.cpp
|
1b03149f3533db04e72e088d3fdd09d0087ca594 |
21-Jun-2012 |
Mathias Agopian <mathias@google.com> |
get rid of GraphicPlane its functionality is now folded into DisplayHardware there will be more changes in that area.
ndroid.mk
isplayHardware.cpp
isplayHardware.h
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
ventThread.cpp
ventThread.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerDim.h
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
3094df359d1e6e2ae8ca4e935cc093f563804c96 |
19-Jun-2012 |
Mathias Agopian <mathias@google.com> |
First prototype atttempting to support an external display both API and implementation will change, this is just a prototype intended to show feasability. SurfaceFlinger is passed an ISurfaceTexture through a new callback, it is in turn used to create an EGLSurface which surfaceflinger will draw into in addition to the main screen. Change-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
|
ef19414bd8b77a26f5751f3845be79025a8263fe |
14-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Transfer HWC release fences to BufferQueue After a HWC set, each SurfaceFlinger Layer retrieves the release fence HWC returned and gives it to the layer's SurfaceTexture. The SurfaceTexture accumulates the fences into a merged fence until the next updateTexImage, then passes the merged fence to the BufferQueue in releaseBuffer. In a follow-on change, BufferQueue will return the fence along with the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the fence to signal before returning. The releaseFence default value for BufferQueue::releaseBuffer() is temporary to avoid transient build breaks with a multi-project checkin. It'll disappear in the next change. Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9
isplayHardware/FramebufferSurface.cpp
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
|
aa049f0d19684cf92f2f6510133a33138845dcd3 |
20-Jun-2012 |
Mathias Agopian <mathias@google.com> |
am 8aaf3e47: am a67e418e: Exit boot animation cleanly. * commit '8aaf3e47a51aa0beebecc8c536504d310d07cda9': Exit boot animation cleanly.
|
a67e418e1fda219f6cc0a7e420bcf5cc4f9fe710 |
20-Jun-2012 |
Mathias Agopian <mathias@google.com> |
Exit boot animation cleanly. The desc.txt file can now mark parts as 'must finish cleanly' by using 'c' as the part line prefix rather than 'p'. If so indicated, if the bootanimation is asked to quit it will do so only after waiting to finish that part. I considered either making init.c service killing smarter or promoting bootanim to be a bindable service with a requestExit method. However, these changes are probably too big/risky given our ship date. So I used a property as a mailbox between SurfaceFlinger and bootanim. Bug: 6679877 Change-Id: Id7dca22caa50b450fff25ca94f7242d971034f41
urfaceFlinger.cpp
urfaceFlinger.h
|
549646d29fccfb2366cc9ca4d894d39c55351fae |
19-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Merge "Add support for HWC_DEVICE_API_VERSION_1_0"
|
5df996211d4e263feb862121cfafa7f9c8eeda68 |
19-Jun-2012 |
Mathias Agopian <mathias@google.com> |
fix typo in makefile LOCAL_CFLAGS was spelled LOCAL_CLFAGS Change-Id: I58b96d28f608ce16fcad5ed0efb887e582779e03
ndroid.mk
urfaceFlinger.cpp
|
db403e8ff0d7727015e1a5009bab20eb7ec205bc |
19-Jun-2012 |
Mathias Agopian <mathias@google.com> |
split-up Client.h out of SurfaceFlinger.h Change-Id: I1993bf23e417163749d886283563a93d50b361b4
ndroid.mk
lient.cpp
lient.h
ayerBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
d50fdb02091e7d258ed9701af5f57d1b2b15cd61 |
18-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
am bbdad819: am 7c24b1d4: Merge "SF could get stuck waiting for vsync when turning the screen off" into jb-dev * commit 'bbdad8193ea3a16e9f65f32f4469959577b400e9': SF could get stuck waiting for vsync when turning the screen off
|
d3076aca0f6106dbc6c5a1588f560c62567752a4 |
16-Jun-2012 |
Mathias Agopian <mathias@google.com> |
Merge "Implement SurfaceFlinger's ANW on top of BufferQueue"
|
7d886474734623fd2565ff40215ffe497e10b4cc |
15-Jun-2012 |
Mathias Agopian <mathias@google.com> |
SF could get stuck waiting for vsync when turning the screen off When turning the screen off we could have 2 waiters on the vsync condition: The main vsync waiter as well as one in onScreenReleased(). We were only signaling the condition though, so it it would be possible to wake onScreenReleased() without waking the main vsync thread which would then be stuck in .wait(). We fix this by just using broadcast() when receiving a vsync event. We also add a broadcast() to signal when the state of mUseSoftwareVSync changes. This is important particularly for the transition from hardware to software vsync because the main vsync waiter might have observed mUseSoftwareVSync == false and decided to block indefinitely pending a hardware vsync signal that will never arrive. Removed a potentially deadlocking wait for a signal in onScreenReleased(). The function was trying to wait for the last vsync event from the hardware to be delivered to clients but there was no guarantee that another thread would signal it to wake up again afterwards. (As far as I can tell, the only other other thread that might wake it up at this point would be a client application issuing a vsync request.) We don't really need to wait here anyhow. It's enough to set the mUseSoftwareVSync flag, wake up the thread loop and go. If there was a pending vsync timestamp from the hardware, then the thread loop will grab it and use it then start software vsync on the next iteration. Bug: 6672102 Change-Id: I7c6abc23bb021d1dfc94f101bd3ce18e3a81a73e
ventThread.cpp
|
5880cc573823148237eac9ab7bc586b8e4eb7160 |
06-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Add support for HWC_DEVICE_API_VERSION_1_0 The acquire and release fences aren't yet used; this is just support for the new version and temporary backwards compatibility for older versions. Change-Id: Ia5ccc05a97c86f649042b9a35e11042fa0187e84
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
3e8b853d67c737abdb363f9c978e7d83eac4d888 |
14-May-2012 |
Mathias Agopian <mathias@google.com> |
refactor HWComposer to break dependency with the HAL headers HWComposer must abstract the HWC HAL entirely, so that the HAL can continue to evolve (and break binary compatibility) without breaking SurfaceFlinger. The HWC data structure had leaked outside of HWComposer, this is now fixed. We now have an abstract interface that provide all the needed functionality, HWCompose provides concrete implementations of it based on the the HWC version. Change-Id: I40c4676dc986b682ede5520a1c60efe64037b0bb
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
3e87601170141229d661df93e2f59e1ced73474b |
08-Jun-2012 |
Mathias Agopian <mathias@google.com> |
Implement SurfaceFlinger's ANW on top of BufferQueue SF now has its own implementation of ANW for the framebuffer and it uses BufferQueue. FramebufferNativeWindow is now only used by stand-alone apps. Change-Id: Iddeb24087df62bd92b0f78e391dda9b97ddc859c
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/FramebufferSurface.cpp
isplayHardware/FramebufferSurface.h
|
52cf768fc24f7b6b8f4bacf8b630acc1fbee7e2f |
08-Jun-2012 |
Colin Cross <ccross@android.com> |
Merge "surfaceflinger: replace early suspend with binder call from PowerManager"
|
0cd545f14261d829513e0d6e8fa5e4e4f3372b3d |
07-Jun-2012 |
Mathias Agopian <mathias@google.com> |
sometimes we would incorrectly scale the content of a surface this would happen when a resize was pending (ie: we have received and processed a resize transaction but have not received a buffer with the right size) and a new transaction came in that didn't involve a resize, for instance a translate-only transaction. in this case, we would incorrectly update the drawing state with the pending size, eventhough we still don't have a buffer for it. the solution is quite simple, we never allow the size to propagate from current to drawing state during the regular transaction processing (unless we are in fixed-size mode -- meaning we don't need to have a matching size buffer), this propagation happens later once we receive the buffer. Bug: 6624163 Change-Id: I11a97e4b88a7f3a0571ddcfe99c86cb04ce01a4d
ayer.cpp
|
8e533069e5721e55cb9768e140e16546c3a4a8b6 |
07-Jun-2012 |
Colin Cross <ccross@android.com> |
surfaceflinger: replace early suspend with binder call from PowerManager SurfaceFlinger will no longer directly synchronize with early suspend. Instead, PowerManagerService will synchronize with SurfaceFlinger to ensure that a black frame has been drawn on the display, and then trigger all early suspend handlers. Change-Id: I07acdd628440d23fdb69db94319ec5d65d3f4919
isplayHardware/DisplayHardwareBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
ba43e0a1faee9629ca2d0beb53dd6c44bb9bfd05 |
07-Jun-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev
|
a4c5b19dd711abecf87ff1e04e530edec58a0d8c |
05-Jun-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: remove all GLES scissor calls. Bug: 6576505 Change-Id: I494b7627f2e271a234706bf49a9490f8ac56c77a
urfaceFlinger.cpp
|
4824d40a35333182c2eb3593511b9bcbecd0a943 |
05-Jun-2012 |
Mathias Agopian <mathias@google.com> |
sometimes SF would not process a surface resize this would happen when a window started with size A, was resized to B and immediately resized to A. In this situation the erquested and active size would be the same, and SF would think a transaction wasn't needed. we fix this by always comparing the requested sizes. Also, make sure to set mRefreshPending once we're sure we have succesfully called updateTexImage(). Bug: 6580962 Change-Id: I2c48b4df7f05fd35c9e1d2dd82095b0f3d5a0b6a
ayer.cpp
|
e31564d8eb0ab67e167a888eccce20f5b4e4ef45 |
30-May-2012 |
Mathias Agopian <mathias@google.com> |
Fix a crasher is surfaceflinger. this bug introduced recently would happen when the very first buffer of a surface was rejected for not having the right size Bug: 6577035 Change-Id: I9fabf20006019f2a6c308be7c7f5c05bdcfd5014
ayer.cpp
|
2c8207e9627fe6c7a90e31fae8d71ae49df56845 |
24-May-2012 |
Mathias Agopian <mathias@google.com> |
add the ability to reject buffers in SurfaceTexture::updateTexImage SurfaceFlinger is using this new feature to reject buffers that don't have the right size. Bug: 6498869 Change-Id: I8a7250a47db6c082a357b703feb3b9d0fc8d3443
ayer.cpp
|
702634a4dad85cfc292618ac91eda6c00f42b7c5 |
24-May-2012 |
Mathias Agopian <mathias@google.com> |
refactoring in preparation for bug:6498869 fix here we just shuffle a bit the code inside lockPageFlip(), we move the code that handles the buffer size closer to the call to updateTexImage(). no functionality change. Change-Id: Ie3193cd86cd32cf3c89532449fd747d145ca0ab6
ayer.cpp
|
05cec9d1275fd939c2d1aec235dca2bdb8edef63 |
23-May-2012 |
Mathias Agopian <mathias@google.com> |
improve resize transactions use a flag instead of pre-committing the "requested" state to prevent propagation or "requested" to "active", which makes things a lot clearer when reading the code. also avoid going through the "resized" code-path when requested size is equal to "active" size. Bug: 6498869 Change-Id: I24f893ba0ec5ca06aac5b8da9818989ae7ce4005
ayer.cpp
ayerBase.cpp
ayerBase.h
|
419e196e639c8adb875da2765abcef95017b6d4a |
23-May-2012 |
Mathias Agopian <mathias@google.com> |
Improve debug logs and minor clean-up Bug: 6498869 Change-Id: I14d1b4d6960b87b5a7c4d7e20b92538edd9331ff
ayer.cpp
|
ed9807bd7dbd4863841e251138392c54755eb394 |
18-May-2012 |
Mathias Agopian <mathias@google.com> |
we need to wait for vsync when doing the screen-off animation Bug: 6511421 Change-Id: I7a85a55e66a3a8d9937df575e98a5efec01a634f
urfaceFlinger.cpp
|
b30c415539813b96a831b75d07f3d12aef1aeab7 |
17-May-2012 |
Mathias Agopian <mathias@google.com> |
Fix "Battery/Status/Clock status bar area flickers when dragging down" The crop is now handled like a resize, it's latched only when we receive a new buffer in the case we have a resize in the same transaction. Bug: 6498869 Change-Id: I9f3cbbe08fb19443899461ec441c714748a4fd1a
ayer.cpp
ayerBase.cpp
ayerBase.h
|
93ffb86b909005bbee4993fc9053f017466311c7 |
17-May-2012 |
Mathias Agopian <mathias@google.com> |
minor refactoring in praparation of crop fix Bug: 6498869 Change-Id: I12a6f9a9fdfd2ea1db3fbe5fc8cb443aeaedb328
ayer.cpp
ayerBase.cpp
ayerBase.h
|
cbad735d8cc4ff360341bf12d8c388edcbc78ce3 |
15-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: recompute visible regions less This change removes some visible region recomputation that was needed to handle the SCALING_MODE_FREEZE cropping. We've changed things to use a window crop from the WindowManager instead, so this is no longer needed. Bug: 6299171 Change-Id: I32fbc2b689c985837126d8ba3d9a91e79613ffbf
ayer.cpp
|
f15a83f5814219c167f87cb8aaea622fc8493499 |
11-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add a crop to the layer state This change adds a crop rectangle specified in window coordinates to the layer state. The all window pixels outside this crop rectangle are treated as though they were fully transparent. This change also adds the plumbing necessary for WindowManager to set that crop. Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
51dcd581b1fb1bcea7cac9b969123abda13e34ab |
10-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: recompute visible regions more This change makes a change in the crop, scaling mode, transform, or buffer dimensions trigger a recomputation of the visible regions of a window. With the new cropping behavior for SCALING_MODE_FREEZE all of these can now affect the visible region. Bug: 6470541 Change-Id: I1904e47efbd708e28bf189f637d24dbef65cd41e
ayer.cpp
|
161534a3c5ee77bc91e7a73ffb6274f35324f8b5 |
07-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: SCALING_MODE_FREEZE cropping support This change adss support for applying a buffer crop to layers with the SCALING_MODE_FREEZE scaling mode. These layers do not scale the image, but rather treat all pixels outside the crop rectangle as fully transparent. Change-Id: I762518e56a37aef7747f9b581df2f2589b232c49 Bug: 6299171
ayer.cpp
ransform.h
|
cbb1a95819ec302ae15e4a1162a8b1349ae5c33e |
09-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: tell SurfaceTex about filtering This change makes SurfaceFlinger set the filtering-enable on each layer's SurfaceTexture before querying the texture matrix to use for GLES composition. Change-Id: I40c3defd73ebf96e3cabb3bfdb1fc97f2036753a
ayer.cpp
ayer.h
|
06e51a0aaf76fe53cef20c3345cf1ebda2b3461e |
27-Apr-2012 |
Mathias Agopian <mathias@google.com> |
don't actuate vsync hint when not needed Change-Id: I61c43dd76041816ab8cbe9aeaa55c11c1479ed03
isplayHardware/PowerHAL.cpp
isplayHardware/PowerHAL.h
|
03e407270c7ad76632f982c886d0776bed9e9b4c |
27-Apr-2012 |
Mathias Agopian <mathias@google.com> |
set vsync power hint Change-Id: I28c2faf9ff584df3e74392712971cbcf75eb9e98
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
isplayHardware/PowerHAL.cpp
isplayHardware/PowerHAL.h
ventThread.cpp
|
24202f5676c32edeef6544cf36e06b9fc970dbde |
23-Apr-2012 |
Mathias Agopian <mathias@google.com> |
update the binder protocol for connect to match that of queueBuffer indeed, connect and queueBuffer return the same data, so it's easier to have them use the same protocol. Change-Id: I4f9fa3be0a80c9ab0a7a4039b282ae843aab02e1
urfaceTextureLayer.cpp
urfaceTextureLayer.h
|
a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e |
23-Apr-2012 |
Mathias Agopian <mathias@google.com> |
remove SurfaceTexture::connect() use BufferQueue::connect() instead Change-Id: I04aab7cf11304bf962cde38470747f3b19ddba42
ayer.cpp
|
7f42a9c47c5a7f40cf02032d286d6bd62f28e650 |
24-Apr-2012 |
Mathias Agopian <mathias@google.com> |
triple buffering is now controled by BoardConfig and enabled by default use TARGET_DISABLE_TRIPLE_BUFFERING := true to disable triple buffering. Change-Id: I9875d6ddefd23c1af9e51e7ee7dec1bacd1e6799
ndroid.mk
ayer.cpp
|
56a2bbe70876c1ac4e18b3740722c01d69bca2fd |
19-Apr-2012 |
Mathias Agopian <mathias@google.com> |
SF needs to render even if we don't have a h/w composer Bug: 6350574, 6361055 Change-Id: Iab92cc31bab4771fca63619c8e3105c759535f72
urfaceFlinger.cpp
|
b9494d5c9d44e4a59b6d510fea1665de434f3c6b |
18-Apr-2012 |
Mathias Agopian <mathias@google.com> |
make sure to clear the framebuffer when using overlays Bug: 6354761, 6353719 Change-Id: I0739de3fee7c54c14b294ffd768b70ee1f541d9e
urfaceFlinger.cpp
urfaceFlinger.h
|
0c8ecacb370b5f7ee6f0fc1fb2ae978f9b670c6d |
17-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Merge "don't attempt to clip layers anymore using glScissor"
|
160d544dbb4dd9fd7808232c6467acc332b684f3 |
17-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Merge "get rid off preserve backbuffer optimization in SF"
|
82ca93bf66e50dcae6f96dc78e88ff24df2b4f32 |
17-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Merge "s/w rendered apps can now use n-buffering (n>2)"
|
f74e8e0602100e048c13ea262f0c19c3b8738b6f |
16-Apr-2012 |
Mathias Agopian <mathias@google.com> |
don't attempt to clip layers anymore using glScissor this seems to hurt performance on some GPU. this change might negatively affect performance on other GPUs though, but probably in less time-sensitive cases. If this becomes a problem it might become necessary to pre-clip the geometry (so that we don't have to use glScissor). This improves the rotation animation quite a bit. Change-Id: I5dbe1286f7ad858ef2c1e1ad9a07ee3f26c0b1f3
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerScreenshot.cpp
urfaceFlinger.cpp
|
a2f4e56fec0fb36c4a370eb23d6e9dc57f250b59 |
16-Apr-2012 |
Mathias Agopian <mathias@google.com> |
get rid off preserve backbuffer optimization in SF this optimization didn't improve performance and in fact seemed to hurt more than anything else. it also made things a lot more complex as it introduced edges cases when switching to/from h/w composer. Change-Id: Iaafc235e175f5740cd98bff914d706e02ab88bb8
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
ayerBase.cpp
ayerBase.h
ayerScreenshot.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
8acce2046ac7086c3dcfb1fc7c9c39f31de48694 |
14-Apr-2012 |
Mathias Agopian <mathias@google.com> |
make sure to repaint the screen when screen turns on Bug: 6336168 Change-Id: Ic6f11b6bf6c3d849f5cb6ac95961d10d7f88e4ec
urfaceFlinger.cpp
|
ac6035a12aec38eeb14d0c13636ec980066d9a8f |
13-Apr-2012 |
Mathias Agopian <mathias@google.com> |
s/w rendered apps can now use n-buffering (n>2) Bug: 6311881 Change-Id: I6e52e281e8d432430aad011f6d9dcf35d7b4ac7d
urfaceTextureLayer.cpp
|
fca660cf730161f823e770ad1693fab441477edd |
13-Apr-2012 |
Mathias Agopian <mathias@google.com> |
don't wake-up eventthread every 16ms if there are no vsync requests Bug: 6332534 Change-Id: Idf79ad913770c6180969f6c95a9b125fff580231
ventThread.cpp
|
69a655caef30663403802281210363f643ceb946 |
12-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Revert "handle surfaces posts independently from composition" This reverts commit 562f4b2c1e555b853997113bb54b21303d642bc6. Change-Id: I96efe11c2f0494ed2d57fc580e49c598d913830e
essageQueue.cpp
urfaceFlinger.cpp
|
562f4b2c1e555b853997113bb54b21303d642bc6 |
25-Mar-2012 |
Mathias Agopian <mathias@google.com> |
handle surfaces posts independently from composition surfaceflinger will now handle each surface post as soon as possible and handle the composition itself at VSYNC time as usual. Change-Id: I6b1ae33fd56062d86e5419ebab8def0ca5803fbf
essageQueue.cpp
urfaceFlinger.cpp
|
22ffb117b0c2a906bd04aef9738a52223cdd1dce |
11-Apr-2012 |
Mathias Agopian <mathias@google.com> |
make sure to disable VSYNC while screen is off Change-Id: If1894c43b0a39a2851e1280a35ae77bccd6d9abd
isplayHardware/HWComposer.cpp
ventThread.cpp
ventThread.h
urfaceFlinger.cpp
|
b60314a12f3336b27d73920805ab07cbc498d857 |
11-Apr-2012 |
Mathias Agopian <mathias@google.com> |
rework screen on/off code Change-Id: I13f71e850592a588bbd4805b1830c503bd4decb4
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
e2c4f4ec23b735dd2a03f4ea8b08b288a1bb04e8 |
11-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Added vsync debugging information in dumpsys log Change-Id: I20ef05a73d89caaf6a70dc9ca25ada6e6a1f6ff9
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ventThread.cpp
ventThread.h
|
3a77871383bc1a03cc866686d81628493d14de7c |
09-Apr-2012 |
Mathias Agopian <mathias@google.com> |
start VSYNC thread when HWC doesn't handle it Change-Id: I853a822ea9ec13870ae25af55a89ad9a8cc3936a
isplayHardware/HWComposer.cpp
|
2965b26022f95051f65b09d7eac47cbe923855c9 |
09-Apr-2012 |
Mathias Agopian <mathias@google.com> |
VSYNC handling cleanup Change-Id: I1376bf864c4e03c11fb6d1333a8b7cfdda08c9e4
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ventThread.cpp
|
d94d3b890ac3d5731bd0397874d32aa4bc74bd61 |
09-Apr-2012 |
Mathias Agopian <mathias@google.com> |
avoid turning vsync off/on at each frame always keep vsync active for an extra frame before deciding if it should be turned off. Change-Id: I55b03265b7851b33a595e46a013f2ab55e66c964
ventThread.cpp
|
1a3bf41b7165ba294af46bc32483eaad61e707ea |
06-Apr-2012 |
Erik Gilling <konkers@android.com> |
Fix SurfaceFlinger crash in HWC::eventControl eventControl was not checking if there was a hwc before callingi hwc->eventControl Change-Id: I4d739fc9c0d47da131f4ffc5d50e274de156d012
isplayHardware/HWComposer.cpp
|
3eb38cb33e41ce40dd1094bdec850f0fca9f8a53 |
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger now uses the new VSYNC HAL API. If h/w composer doesn't support vsync (version < 0.3) we "fake" it with a timer. Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
isplayHardware/VSyncBarrier.cpp
isplayHardware/VSyncBarrier.h
ventThread.cpp
ventThread.h
|
9d61b955db7ccd00d1e5b33e75f37dfd5ac2a456 |
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Merge "Add HWC vsync hook. Currently unused."
|
31d2843b45ebdb69ec3355111b7567363fd2a6b7 |
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Add HWC vsync hook. Currently unused. Change-Id: I849d56f375813a044c5e2d0b25f791476a60fa01
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
cb9732a951d20cacb7ebe2dab132b5738226b1b6 |
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
refactor / simplify EventThread Change-Id: I3981c6fba93b7b985174b2a7045e24db2c0b4428
ndroid.mk
isplayEventConnection.cpp
isplayEventConnection.h
ventThread.cpp
ventThread.h
urfaceFlinger.cpp
urfaceFlinger.h
|
7b5be95cb3903087742f1079fe89cddd8abe3696 |
03-Apr-2012 |
Mathias Agopian <mathias@google.com> |
use a socketpair instead of a pipe in BitTube Bug: 6252830 Change-Id: Ia7a7b08409517214136261c05569dc5959a597ab
isplayEventConnection.cpp
|
4b2ba53423ac2dc795a5a0bf72f6d787d9dc8950 |
29-Mar-2012 |
Mathias Agopian <mathias@google.com> |
better workaround for bug: 6020860 this prevents the GPU from running when composition is fully handled by overlays. this should improve animations a bit. Change-Id: If4ae584b7a3976e6bdd36e318686ac3940b6b075
urfaceFlinger.cpp
|
9e0b1f880bd790b6e4643387668c74729b891a10 |
27-Mar-2012 |
Colin Cross <ccross@android.com> |
remove libandroid.so from targets that don't need it pdk builds don't have libandroid.so available. Remove it from projects that aren't actually using it. Change-Id: I100dc84aaf8160c1062a122ef6d5aec0534d73fa
ests/Android.mk
|
3854ed549012f2abf8fea7b0e6db30b104ea5547 |
23-Mar-2012 |
Colin Cross <ccross@android.com> |
surfaceflinger: disable ddms debugging on pdk builds DDMS debugging depends on non-pdk apis, disable it when a pdk build is selected. Change-Id: I6376b5c4cf49f2c51f35f8d567f7c6d18daf893f
ndroid.mk
urfaceFlinger.cpp
|
b5dd9c0fee3b3d6d35035dfb992951ebea3e0e4e |
22-Mar-2012 |
Mathias Agopian <mathias@google.com> |
rewrite density calculation code so it's understandable Change-Id: I1016cd5fd75355abe4ab879d04f4849bd2dd4122
isplayHardware/DisplayHardware.cpp
urfaceFlinger.cpp
|
6fc0a9bd4bdd3ae4a09ae033f68c04fecfc35991 |
22-Mar-2012 |
Dima Zavin <dima@android.com> |
displayhardware: fix not obeying ro.sf.lcd_density when specified Change-Id: I71efd6aebfdb0323b07327f5e448a5cb5eb0fad6 Signed-off-by: Dima Zavin <dima@android.com>
isplayHardware/DisplayHardware.cpp
|
1b15e1e26b3d410b6bd51feeb7077251a464fee0 |
15-Mar-2012 |
Dima Zavin <dima@android.com> |
surfaceflinger: use display dpi if not forced with ro.sf.lcd_nensity Change-Id: I52c4b872e0f2c088c2a6ada7a5bb15db071f0002 Signed-off-by: Dima Zavin <dima@android.com>
isplayHardware/DisplayHardware.cpp
|
b267579ba8dfe3f47d2a481c5a3c2254e3d565a1 |
23-Feb-2012 |
Daniel Lam <dalam@google.com> |
SurfaceTexture: Fully refactored from BufferQueue SurfaceTexture and BufferQueue are separate objects. Change-Id: I230bc0ae6f78d0f9b2b5df902f40ab443ed5a055
ayer.cpp
ayer.h
urfaceFlinger.cpp
urfaceTextureLayer.cpp
urfaceTextureLayer.h
|
fddc28d87136b55f0d9613e5f8ecd64a6aca018d |
12-Mar-2012 |
Mathias Agopian <mathias@google.com> |
add ATRACE logs for screenshots Change-Id: Ie8146c4d7608159e9d28b7338f9109b8fcdf955f
urfaceFlinger.cpp
|
35aadd6be249da4bd4851692e6aff757c91b32a7 |
09-Mar-2012 |
Mathias Agopian <mathias@google.com> |
fix surfaceflinger's dumpsys Change-Id: I7b95c3e04f145003f9c0eef321a21f3f36dfe835
urfaceFlinger.cpp
|
622cfadc8f0d294f875151fe1d8985e0553795ea |
05-Mar-2012 |
Mathias Agopian <mathias@google.com> |
fixup include paths - remove unneeded include deps - remove some hardcoded include paths Change-Id: Ifae0e2b2d738e0f94f8525c45be78f4227ce1673
ndroid.mk
|
841cde55549cea7a344a1705b18d57a0c6c8ec45 |
02-Mar-2012 |
Mathias Agopian <mathias@google.com> |
add more ATRACE Change-Id: I6cc5759fb0a05427680488fd12ae797e77644f3d
ventThread.cpp
urfaceFlinger.cpp
|
ed61a47c5b23e277d20a49fceb16d6ba5896b7d2 |
28-Feb-2012 |
Mathias Agopian <mathias@google.com> |
Merge "a window could get stuck to gpu composition"
|
1c8e95cf86f2182986385bc1ee85f13f425f3a3a |
24-Feb-2012 |
Jamie Gennis <jgennis@google.com> |
Add tracing to various graphics components. This change adds ATRACE call tracing to BufferQueue, SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL. Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
ayer.cpp
urfaceFlinger.cpp
|
ec923ee0d0e6f95bd56275214c252cb57bb8cfd4 |
28-Feb-2012 |
Mathias Agopian <mathias@google.com> |
a window could get stuck to gpu composition this could happen after an orientation change. basically we need to triger a geometry-changed when the very first buffer is received Change-Id: I097e411fd6612c18725737cffccdbf6b2af3511c
ayer.cpp
|
90ac799241f077a7b7e6c1875fd933864c8dd2a7 |
26-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix libgui header location Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
ayer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/Transaction_test.cpp
ests/resize/resize.cpp
ests/screencap/screencap.cpp
ests/surface/surface.cpp
|
870b8aa15cb5c722b5d8eb7726eaa5f1a7c23d69 |
25-Feb-2012 |
Mathias Agopian <mathias@google.com> |
remove libui dependency on libEGL Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
isplayHardware/DisplayHardware.cpp
|
ff615cc7a1cceedd705b0623b058c54669b29596 |
24-Feb-2012 |
Mathias Agopian <mathias@google.com> |
deprecate L_8, LA_88 and RGB_332 in sdk re-add support for pixelformats L_8, LA_88 and RGB_332 in libui for backward compatibility. This may or may not fix 6058926 Bug: 6049685 Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
ayer.cpp
urfaceFlinger.cpp
|
fbc7922ec87298601ba6a3be1bd9f83ffaf9a233 |
24-Feb-2012 |
Mathias Agopian <mathias@google.com> |
workaround for an issue where the screen would flicker sometimes bug: 6020860 Change-Id: I97807db66b66c5f4dcbed0df79d5d257cfc7c0bd
urfaceFlinger.cpp
|
4d143eed994778d37eb09bb5d452c26f12bca6e1 |
24-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix an issue in SF where we could miss some updates Change-Id: I7d350bc05d1596655baddff3deaebaba58c9bcc0
ayer.cpp
ayer.h
urfaceFlinger.cpp
|
d11a1083bed6e1b7d71901bf7530224495961022 |
21-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
Merge "createSurface getpid() first parameter was removed"
|
751d0bb9b2f73f7e7ca3fbb0ed7ede7fd63b813a |
21-Feb-2012 |
Mathias Agopian <mathias@google.com> |
Merge "SurfaceFlinger: set wrap mode on screenshot texture"
|
e8c9ec64f06a0a8aeb95a41523c17b53b6128903 |
09-Feb-2012 |
Glenn Kasten <gkasten@google.com> |
createSurface getpid() first parameter was removed Most of these tests in this directory don't currently build, but test-surface did build incorrectly by bad luck, using the old API. test-resize still doesn't build, but when the other build errors are fixed then it will use the right API. Change-Id: I388d6d59fe0a2328f352214dcdc28839a24043f0
ests/resize/resize.cpp
ests/surface/surface.cpp
|
1676828d115301ee1d0d4ffa68f832cecc0bbff1 |
07-Feb-2012 |
Dianne Hackborn <hackbod@google.com> |
Merge "Return information about whether overlays are disabled."
|
12839bee29bdcc65731b4d42029cc59e2320c5c4 |
07-Feb-2012 |
Dianne Hackborn <hackbod@google.com> |
Return information about whether overlays are disabled. Change-Id: I85ae42e9f28461f5142cc6b3c8e25ff3f195805a
urfaceFlinger.cpp
|
f6de1c04ffc2c7a739578b7612944fddb7011ab7 |
05-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix a crasher when starting SF with the screen off SF could end-up in an infinite crash-loop during startup if it was stopped while the screen was off. This happened because the thread that manages screen blanking was started before other important pieces of SF were initialized. Change-Id: I0dded11dbf2395fdd57b673859a7aa0fa9eb32b6
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
urfaceFlinger.cpp
|
303d538bb012e82c6b9a98c4930a03455000f761 |
05-Feb-2012 |
Mathias Agopian <mathias@google.com> |
ui freeze workaround: reenable triple buffering mode we're seeing UI freezes when window updates and composition are separated. for now we workaround this by always doing a composition after window updates on vsync. triple buffering is reenabled for performance. Change-Id: I693d705000b7452489bb0b4918fbeadb9879315c
ndroid.mk
ayer.cpp
essageQueue.cpp
urfaceFlinger.cpp
|
c95dbdc236acf002b5f8aed8c8a9e43047fc75b5 |
05-Feb-2012 |
Mathias Agopian <mathias@google.com> |
improve SF dumpsys
ayerBase.cpp
urfaceFlinger.cpp
|
b048cef231075a5e41d224b73fe11fec62f335b1 |
05-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix UI freezes In some situations SF would mark a window as "has a pending update" but would never process that update because the window is not visible (fully transparent, hidden by another window, etc...), this window would then be "stuck" until some other window updated. Change-Id: Ifa18a9aef3a53f2593b473556702688ae62d9503
urfaceFlinger.cpp
|
c9ca7011501cb8730ce4e6e527cb402adb7a0178 |
04-Feb-2012 |
Mathias Agopian <mathias@google.com> |
attempt to fix an ANR in various apps recent changes in SF introduced a hang where some windows would stop being refreshed. This is an attemp to fix that. Change-Id: I6aa32ac0d6f1c0a6aea8f6195825dc4f4e6f93f9
urfaceFlinger.cpp
|
064b68d1bc6eaef1722fb0fe033a762e439365fa |
03-Feb-2012 |
Mathias Agopian <mathias@google.com> |
Merge "separate transactions from updates"
|
67016af1e480a5f338555355638fc2a23e15c746 |
03-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix an issue where SF would spin if /sys/power/wait_for_fb_xxx don't exist we now exit the Display thread on any error happening on these files. also refactor the code and remove a lot of unused stuff. Change-Id: I8d080c35b211890ca20ae09fa36fbdccdf5669a8
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
|
99ce5cdeb383216dee95af4d90e47406b0948ea1 |
01-Feb-2012 |
Mathias Agopian <mathias@google.com> |
separate transactions from updates with this changes, SF transactions are handled as soon as possible but do not trigger updates. the update is delayed until the next vsync. this allows us to work much better without requiring triple-buffering. Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
ndroid.mk
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
essageQueue.cpp
essageQueue.h
urfaceFlinger.cpp
urfaceFlinger.h
|
baf1c68c749e872a1278bcb2f401f7a0a3025841 |
01-Feb-2012 |
Mathias Agopian <mathias@google.com> |
Merge "fix an issue with vsync event delivery"
|
3cf199aef6250552555344944c3e3a6e4ab05f92 |
01-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix an issue with vsync event delivery vsync events were sometimes delivered to connected client who didn't request them. this happened if another client requested the delivery and that client was first in the client list. also fix the vsync test which didn't request any events as well as DisplayEventReveiver documentation which was misleading about the necessity to request vsync events. Change-Id: Ie990fda3f337f8f0042745c4b2cde67936c45686
ventThread.cpp
ests/vsync/vsync.cpp
|
2bfa31c0cc43e08746f10164223b7e38e462725b |
31-Jan-2012 |
Mathias Agopian <mathias@google.com> |
Nexus S now reports the proper frame-rate don't hardcode it. Change-Id: I4b37f37a9809cac937e6334c988b3185af2ebe22
ndroid.mk
|
8aedd4737d6ce8548d2fd5def65b1e1737283821 |
25-Jan-2012 |
Mathias Agopian <mathias@google.com> |
SF now synchronizes to VSYNC Change-Id: Ic5e4f2ea9927ce133eef9499c03161325e9d02c5
ndroid.mk
ventThread.cpp
ventThread.h
ayer.cpp
essageQueue.cpp
essageQueue.h
urfaceFlinger.cpp
urfaceTextureLayer.cpp
|
ad8d13c8858b33e3efef42086875c0b0836d2296 |
30-Jan-2012 |
Mathias Agopian <mathias@google.com> |
remove unneeded code Change-Id: I07e2fca7274d2e12bf5b4aee0050794bdb97a8b3
urfaceFlinger.cpp
urfaceFlinger.h
|
25e66fc324bbc004fa8902b2d4699e41bb601104 |
29-Jan-2012 |
Mathias Agopian <mathias@google.com> |
added a few more commands to SF's dumpsys --latency-clear [name] clears the latency data for the specified layer or for all layers if none is specified --list prints the list of all layers regardless of their visibility Change-Id: I7c07ae020f838c173b98ee50f3fb3e93da78acbb
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
82d7ab6c7e0cf971e515134ccf072682dd1a2cdb |
20-Jan-2012 |
Mathias Agopian <mathias@google.com> |
improve SurfaceFlinger dumpsys It is now possible to say: dumpsys SurfaceFlinger --latency to print latency information about all windows dumpsys SurfaceFlinger --latency window-name to print the latency stats of the specified window for instance: dumpsys SurfaceFlinger --latency SurfaceView The data consists of one line containing global stats, followed by 128 lines of tab separated timestamps in nanosecond. The first line currently contains the refresh period in nanosecond. Each 128 following line contains 3 timestamps, of respectively the app draw time, the vsync timestamp just prior the call to set and the timestamp of the call to set. Change-Id: Ib6b6da1d7e2e6ba49c282bdbc0b56a7dc203343a
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
ventThread.cpp
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
e8696a40e09b24b634214684d18526187b316a2f |
16-Jan-2012 |
Jamie Gennis <jgennis@google.com> |
hack up frame latency measurement Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
ayer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
|
1db13d79518f600d65a4fc006fe42900b890966e |
19-Dec-2011 |
Glenn Kasten <gkasten@google.com> |
Get AID_GRAPHICS from right place Change-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8
urfaceFlinger.cpp
|
b1d1c6d4c2eb942e18a59a8cdf1c7c4f0f03ef1b |
13-Jan-2012 |
Michael I. Gold <gold@nvidia.com> |
SurfaceFlinger: set wrap mode on screenshot texture Some implementations of NPOT, particular those derived from core GLES2, require the wrap mode to be CLAMP_TO_EDGE. Set the required wrap mode for the screenshot texture so it passes the completeness check. Change-Id: I735016123e4acaf54b40d1435bd70281cef88a31
ayerScreenshot.cpp
urfaceFlinger.cpp
|
616c0cdf2c9e9a86e54f727640a6673bd99fda8e |
13-Jan-2012 |
Mathias Agopian <mathias@google.com> |
fix a bug with vsync management this bug was introduced recently. we were signaling *all* clients regardless of the vsync rate. Change-Id: I2ae8a6c820a390f602382596ba75e8ed737fb2ef
ventThread.cpp
|
55ef343331f5efbfe3e01bc9993d94faea236048 |
07-Jan-2012 |
Mathias Agopian <mathias@google.com> |
remove dead/usnused code Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
|
a72d0db29213c407278a1d0257baa60db28c8471 |
10-Jan-2012 |
Mathias Agopian <mathias@google.com> |
Fix an issue with VSYNC one-shot VSYNC listeners could miss a VSYNC event if scheduled while in waitForVsync(). Change-Id: I720485784aecfea6cc7a23c77081d7af3c9c71db
ventThread.cpp
|
e6f43ddce78d6846af12550ff9193c5c6fe5844b |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
isplayHardware/DisplayHardware.cpp
isplayHardware/HWComposer.cpp
essageQueue.cpp
urfaceFlinger.cpp
|
32397c1cd3327905173b36baa6fd1c579bc328ff |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/HWComposer.cpp
ayerScreenshot.cpp
urfaceFlinger.cpp
|
c267bab3d1c7980a03541283e88c0b6df378b826 |
05-Jan-2012 |
Steve Block <steveblock@google.com> |
Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE"
|
2adea706d445e837053403a00286a21c00e22649 |
05-Jan-2012 |
Glenn Kasten <gkasten@google.com> |
Merge "Use the standard CC_LIKELY and CC_UNLIKELY macros"
|
99ed22412db547c59d3da08114d9d5a586442b30 |
15-Dec-2011 |
Glenn Kasten <gkasten@google.com> |
Use the standard CC_LIKELY and CC_UNLIKELY macros Several source files privately defined macros LIKELY and UNLIKELY in terms of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and CC_UNLIKELY which are intended for this purpose. So rename the private uses to use the standard names. In addition, AudioFlinger was relying on the macro expanding to extra ( ). Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
ayerBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
a19954ab377b46dbcb9cbe8a6ab6d458f2e32bca |
04-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
isplayHardware/DisplayHardware.cpp
ventThread.cpp
urfaceFlinger.cpp
|
9d4536835248525f32f1504a3d28d5bbfa0a2910 |
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
isplayHardware/DisplayHardwareBase.cpp
ayer.cpp
urfaceFlinger.cpp
urfaceTextureLayer.cpp
ransform.cpp
ests/Transaction_test.cpp
|
478ae5eb5a0047e1b2988c896cff6363b455ee50 |
07-Dec-2011 |
Mathias Agopian <mathias@google.com> |
Improve the VSYNC api a bit. - add the ability to set the vsync delivery rate, when the rate is set to N>1 (ie: receive every N vsync), SF process' is woken up for all of vsync, but clients only see the every N events. - add the concept of one-shot vsync events, with a call-back to request the next one. currently the call-back is a binder IPC. Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
isplayEventConnection.cpp
isplayEventConnection.h
ventThread.cpp
ventThread.h
urfaceFlinger.cpp
urfaceFlinger.h
|
23748668d33ac850e64d87e25ac4cc78679c9384 |
05-Dec-2011 |
Mathias Agopian <mathias@google.com> |
fix a deadlock when removing a DisplayEventConnection the deadlock would happen when the pipe became invalid and SF trying to remove the connection from its list. we know make sure to process events without holding a lock. Change-Id: I39927ed8824fc7811e16db3c7608a2ebc72d9642
ventThread.cpp
ventThread.h
|
75b95f5bc199acbc42b5b41ca31683ca8ea1b1f9 |
04-Dec-2011 |
Mathias Agopian <mathias@google.com> |
Merge "fix an issue where invalidate/transactions could be missed"
|
be42aef82f7de3ef04c8c257f882bd6e9653d304 |
03-Dec-2011 |
Mathias Agopian <mathias@google.com> |
fix an issue where invalidate/transactions could be missed Change-Id: I84a1fcba1317b2631f5441de7b7ecd12af5ad022
essageQueue.cpp
essageQueue.h
|
43bfe7f047668a5b74fefb8cfecbf070f637201b |
03-Dec-2011 |
Jesse Hall <jessehall@google.com> |
am a91e54fe: am f57c1388: Merge "SurfaceFlinger: fix layer removal race condition" into ics-mr1 * commit 'a91e54fed6a0690d59c97bab9b081b2614880563': SurfaceFlinger: fix layer removal race condition
|
222893641184014306a26a9d58690c8415181d12 |
03-Dec-2011 |
Mathias Agopian <mathias@google.com> |
fix an issue where updates could starve transactions Bug: 5700586 Change-Id: Iaa4adc1a6aea1db6e2943efe4caca1f6cbebfa72
essageQueue.cpp
essageQueue.h
|
2f4b68d21c1a58cbcb1e6929fb241e425a8f7b5d |
02-Dec-2011 |
Jesse Hall <jessehall@google.com> |
SurfaceFlinger: fix layer removal race condition Layer::lockPageFlip() and layer::onRemove() could be called on different threads and race such that lockPageFlip() successfully called mSurfaceTexture->updateTexImage() but then gets NULL back from mSurfaceTexture->getCurrentBuffer(), leading to a crash. This change moves Layer::onRemove() calls to SurfaceFlinger::commitTransaction() so they happen after the Layer is done being drawn from and only happen on the main surfaceflinger thread. Change-Id: I4b550caadff4cc1878d7c3bca6129193fb0c713e
urfaceFlinger.cpp
urfaceFlinger.h
|
79544364aa3c088fa7fbfadfc169086653389555 |
30-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am e2970700: am e8ba2aba: Merge "add a way to access the version string of the h/w implementation of EGL" into ics-mr1 * commit 'e2970700e921da4226061988a6e8953b1fbfb5a9': add a way to access the version string of the h/w implementation of EGL
|
363c4a9fa0a646b14d4582db4b8d268780276208 |
30-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Merge "add a way to access the version string of the h/w implementation of EGL" into ics-mr1
|
a4fbecd1198899a3a4e55795406a06e7c111b13e |
30-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am 55d3880e: am bb1e7d43: Merge changes I7e973a35,Ib3386fcc into ics-mr1 * commit '55d3880eed3450748eb7b97281e030902ee29c2a': SurfaceTexture: add EGL_KHR_fence_sync option SurfaceTexture: add a blit-to-FBO test
|
bc2d79ed7ada6243f3690f94ab512c0ddcdbed12 |
30-Nov-2011 |
Mathias Agopian <mathias@google.com> |
add a way to access the version string of the h/w implementation of EGL we use a hidden egl extension. the version string is printed in SF's dumpsys log. Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
urfaceFlinger.cpp
|
86edf4f6470ee0f108bf40d3c1d23bf0a78c9c38 |
14-Nov-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: add EGL_KHR_fence_sync option This change adds a compile-time option for SurfaceTexture to use the EGL_KHR_fence_sync extension to synchronize access to Gralloc buffers. Bug: 5122031 Change-Id: I7e973a358631fff5308acf377581b811911fe790
urfaceTextureLayer.cpp
|
d0566bc26fcf6ca396118701fa11900b627f2c09 |
18-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Add support for sending VSYNC events to the framework use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09
ndroid.mk
isplayEventConnection.cpp
isplayEventConnection.h
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/VSyncBarrier.cpp
isplayHardware/VSyncBarrier.h
ventThread.cpp
ventThread.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/vsync/Android.mk
ests/vsync/vsync.cpp
ests/waitforvsync/Android.mk
ests/waitforvsync/waitforvsync.cpp
|
439cf8576d3b846c0aa0944d84372259bf075d51 |
29-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Fix build. Revert "Add support for sending VSYNC events to the framework" This reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382. Change-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
|
8219e9122efece0dd6741d2fe94fd6a82dc5df89 |
29-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Merge changes If4126023,Iacda2386,I1eb691f7,Ib56139f8 * changes: Add support for sending VSYNC events to the framework BitTube::read now handles EAGAIN split ComposerService out of SurfaceComposerClient.h rewrite SF's message loop on top of Looper
|
461afeb9fde149f9455acbadf1257d08d33e8eb3 |
18-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Add support for sending VSYNC events to the framework use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
urfaceFlinger.cpp
urfaceFlinger.h
|
f61c57fe2e955e1c195bb0ca2dd7bcdaa922d5a9 |
24-Nov-2011 |
Mathias Agopian <mathias@google.com> |
rewrite SF's message loop on top of Looper Change-Id: Ib56139f87a5c0b124e34da5c8151207219b2577b
essageQueue.cpp
essageQueue.h
urfaceFlinger.cpp
|
b8bb31dc103a8911e1be04821121963ed79d5dbb |
23-Nov-2011 |
Mathias Agopian <mathias@google.com> |
temporarily hardcode Nexus S refresh rate Change-Id: Id8465f679b96636041b4b891d0b358c387d456c3
ndroid.mk
|
465494486c186c239b629a8addf0d347db714197 |
16-Nov-2011 |
Mathias Agopian <mathias@google.com> |
remove hack that hardcoded the refresh rate Change-Id: Ibdd40b337c547e80ef8541856015f1380c8d58ed
ndroid.mk
|
4b9511c16195a646242eff833b0af212933b6eca |
14-Nov-2011 |
Mathias Agopian <mathias@google.com> |
rework a bit how we manage EGL extensions - don't advertise extensions that are not supported by any implementation - remove EGL_ANDROID_swap_rectangle which is not implemented by anybody and confuses people - add some comments about mandatory extensions Bug: 5428001 Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
isplayHardware/DisplayHardware.cpp
|
2f78cf11225cfaa6d92584bf2ca8f2b938bdc43f |
10-Nov-2011 |
Dave Burke <daveburke@google.com> |
Back to 59fps Change-Id: I8d89e5e27f1abc5a2e36cb832eb4db2ca83c2cc6
ndroid.mk
|
386aa98c4ffb9b805303e683f0a7b925b44d04db |
08-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Fix an issue where we could wait for a non-existing transaction This fixes the issue: "Call not sent" dialog takes too long to dismiss after hitting OK" Note: the system would recover after a 5 second timeout. Bug: 5534520 Change-Id: Ifa37e594b50581f498479a5858672441b3d7dd87
urfaceFlinger.cpp
|
a5f9676eccbb3ac03f737a22c7a99ee1895a7f6f |
08-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Merge "Fix rotation displays frame N-1 briefly while rotating" into ics-mr1
|
385977f6d6c4e76379df384d50695a10cb3757f2 |
05-Nov-2011 |
Mathias Agopian <mathias@google.com> |
workaround to set the WM refresh rate to 48 Hz for tuna devices only this is TEMPORARY until we can do this properly. Bug: 5572464 Change-Id: I6537706d636a83a4a50e2900d6b829dd89b6f245
ndroid.mk
isplayHardware/DisplayHardware.cpp
|
4a9ac37fe26644bb5253d15eec08be2edb896642 |
01-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Fix rotation displays frame N-1 briefly while rotating The ScreenShot layer is now created hidden. The screenshot itself is aquired during the transaction when the layer is made visible. This guarantees the screenshot and the layer happen atomically with respect to screen updates. Bug: 5534521 Change-Id: Ida23e1f13d5716ec83b78a15712e0646d6cf8729
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
62f7114719d2009dca7dd120f0fe29a24bd77a40 |
27-Oct-2011 |
Mathias Agopian <mathias@google.com> |
fix Corrupted graphics while playing You Tube on orientation change Bug: 5432124 Change-Id: If948b9797b1ec6fff80ca5ea94508abcaced9f31
urfaceFlinger.cpp
|
7f6aec0185e171091bd1bdd0a6af08f6311bb2bf |
22-Oct-2011 |
Xavier Ducrohet <xav@android.com> |
Merge "Fix software GL renderer."
|
4c4163b53e262ff9cc10c819321d4ae03c2d7d46 |
22-Oct-2011 |
Xavier Ducrohet <xav@android.com> |
Fix software GL renderer. Change-Id: I07ab2709fa694e41aa3fcc5b9dfc809f55853ab4
ayer.cpp
|
51726c381e23d148867c760d06306dfa940b4d15 |
22-Oct-2011 |
Mathias Agopian <mathias@google.com> |
am aa938c8d: Merge "mDirtyRegion is single threaded, but could be accessed from a hwc thread" into ics-mr0 * commit 'aa938c8d9c0e71c9b556657cb33794210ce6ebf8': mDirtyRegion is single threaded, but could be accessed from a hwc thread
|
0dfb7b73a468698622d6c0423f0d5471a6f5d375 |
22-Oct-2011 |
Mathias Agopian <mathias@google.com> |
mDirtyRegion is single threaded, but could be accessed from a hwc thread We now have mInvalidateRegion which holds the region to invalidate, it can be set from any thread as long as mInvalidateLock is held. We use fine-grained locking here because mInvalidateRegion can be set from anywhere, in particular frmo HWC callbacks. Bug: 5466774 Change-Id: Iafca20aa3f5b25a87755e65bde7b769aa8f997bc
urfaceFlinger.cpp
urfaceFlinger.h
|
7ec662c07aea2a76394cd69f19be0f9a7d87b701 |
21-Oct-2011 |
Mathias Agopian <mathias@google.com> |
am 16bece04: Merge "added dpi and refresh rate info in SF\'s dumpsys" into ics-mr0 * commit '16bece04bdbac9af5228436f70267ec5763315de': added dpi and refresh rate info in SF's dumpsys
|
d5e4ef9e439317e2525a51106dbc509d3982de24 |
21-Oct-2011 |
Mathias Agopian <mathias@google.com> |
added dpi and refresh rate info in SF's dumpsys Change-Id: I2327248eb1993689367e3daeaccba74c172dfceb
urfaceFlinger.cpp
|
818fb243572f8e1f408ba9fc35ef61bbedbd9ce1 |
19-Oct-2011 |
Dave Burke <daveburke@google.com> |
am 70ac412b: Merge "Add a LayerScreenshot" into ics-mr0 * commit '70ac412b2fe7be2507189a9fdfb30c43b36d56ac': Add a LayerScreenshot
|
675370ab9aadd148ba2cc15b3078c915811355a1 |
19-Oct-2011 |
Mathias Agopian <mathias@google.com> |
am f7613743: Merge "Don\'t call hwc set() if there is nothing new to do" into ics-mr0 * commit 'f7613743f29f38cbbaf4ae09996c380845a17daf': Don't call hwc set() if there is nothing new to do
|
5ba8f366bd81348ac8b0e3a09fa122f3098b4363 |
19-Oct-2011 |
Mathias Agopian <mathias@google.com> |
am 23bf2505: Merge "Make sure set GL state properly" into ics-mr0 * commit '23bf250522b7dff9acd14c5900b66b1df9c76745': Make sure set GL state properly
|
118d0245ee0a3b107055782aa8b555404b6f0280 |
14-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Add a LayerScreenshot A LayerScreenshot is a special type of layer that contains a screenshot of the screen acquired when its created. It works just like LayerDim. Make sure to call compositionComplete() after rendering into a FBO. Bug: 5446982, 5467587, 5466259 Change-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4
ndroid.mk
ayer.cpp
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
3a3cad30c40c8eb87671262a9fe7f0e214b6a934 |
19-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Don't call hwc set() if there is nothing new to do there was situations where SF's main loop would run (as if there was an invalidate), but the dirty region was empty (so no new buffers were retired). In this case we return early and don't swap, which would cause drawing artifacts. Bug: 5476838 Change-Id: Id3b7bf4b7aabec7919c50d9278eb2165973a4c3d
urfaceFlinger.cpp
|
c492e67810814bf86301abffe1d31598b775cf45 |
18-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Make sure set GL state properly when taking a screenshot, in particular, we could end up with stale GL state when drawing LayerDim which resulted in incortect rendering. Bug: 5467587 Change-Id: Id9fbed2843481d31063620f3662b364c7e3ac781
ayer.cpp
ayerBase.cpp
ayerDim.cpp
urfaceFlinger.cpp
|
cdec8f01aae14ed59fbc57cb2ce97a6602f4b9a1 |
17-Oct-2011 |
Mathias Agopian <mathias@google.com> |
am 840b8a67: Revert "Add a LayerScreenshot" * commit '840b8a678537519c27ddf2f818494eaa20a135d4': Revert "Add a LayerScreenshot"
|
5bacca6238adba927f9e9b27087e134e9a3c2561 |
17-Oct-2011 |
Mathias Agopian <mathias@google.com> |
am 4fb6416e: Merge "we need to guarantee that h/w comp set() is called when a buffer has been retired" into ics-mr0 * commit '4fb6416e3a21031a88921a784ae62b13d8a1a39f': we need to guarantee that h/w comp set() is called when a buffer has been retired
|
090cb44b945bfe2711344a5331814bd6412ab437 |
17-Oct-2011 |
Elliott Hughes <enh@google.com> |
Merge branch 'master' of ssh://android-git:29418/platform/frameworks/base
|
e9800c83114988b6f8cc25bb9d508ebb322f9903 |
17-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Revert "Add a LayerScreenshot" This reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.
ndroid.mk
ayer.cpp
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
a44b04163957d6086362f6f365443c4c93379031 |
17-Oct-2011 |
Mathias Agopian <mathias@google.com> |
we need to guarantee that h/w comp set() is called when a buffer has been retired removed a test that could violate this guarantee. note that we have no proof tha this ever happened, but consequences could be hard lock-ups. the code here was intended to track the region to update for displays that can do partial update. the logic discarded the update entirely if that region was empty. instead we just redraw the whole thing (note that we should never be there with an empty region and retired buffers though). Bug: 5466259 Change-Id: I91ccab3b1a599e729e438eb833939e2236da6854
urfaceFlinger.cpp
|
a402c4c9913cfbc6c3da21719c57a93a11f091f0 |
15-Oct-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: Remove display freezing code This change removes the dead code from SurfaceFlinger that resulted from disabling support for freezing the display. Change-Id: I4e5ff00c94b4c7a79af2f65c9850c135210068ed
ayer.cpp
ayer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
23c2c5d1c6aaeaeb1804b7aa9b667e7e58c941bb |
12-Oct-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add some layer update tests This change adds two tests for SurfaceFlinger's behavior when updating the position and size of a layer. Change-Id: Id5e3ca1d7e629a3bd2c2d28275d80c7f9256d6da
ests/Android.mk
ests/Transaction_test.cpp
|
28378392fd5aa3e0a392c9eb64634055678c3987 |
13-Oct-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: make sync transactions explicit This change enables a layer or orientation update transaction sent to SurfaceFlinger to explicitly request a synchronous transaction. Change-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9
urfaceFlinger.cpp
urfaceFlinger.h
|
f171ab6da9cf9793093e50947aacdab8f2b0c9b2 |
14-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Add a LayerScreenshot A LayerScreenshot is a special type of layer that contains a screenshot of the screen acquired when its created. It works just like LayerDim. Bug: 5446982 Change-Id: I7814aff2380e7e146937f2b641907be2a30c76cc
ndroid.mk
ayer.cpp
ayerScreenshot.cpp
ayerScreenshot.h
urfaceFlinger.cpp
urfaceFlinger.h
|
b8d69a55f1c187a35ac41e69de63251f5501b6f4 |
11-Oct-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: update orientation via transactions This change merges the ISurfaceComposer::setOrientation functionality into ISurfaceComposer::setTransactionState. It enables the window manager to atomically update both the display orientation and the position and size of the windows in a single transaction with SurfaceFlinger. Bug: 5439574 Change-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900
urfaceFlinger.cpp
urfaceFlinger.h
|
e64206915d832f0021b84df2aa54a8242583003a |
11-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Merge "fix an issue where the screen could stay off"
|
f7cdd053fe1fee093f6b0973ad5723765f98a48d |
11-Oct-2011 |
Mathias Agopian <mathias@google.com> |
fix an issue where the screen could stay off this would happen when toggling on/off/on very fast, the screen could stay black (while the panel is on). Bug: 5429724 Change-Id: Ic8aa6aff066e6267923c0d47ef65e314e7bb6d41
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
1dea97d662be9bac350d51b6a91185d203ffd794 |
11-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Merge "Fix screen off animation when in landscape"
|
a9040d0eefa34a78ca68b6e7901e1703e74aeb7c |
11-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Fix screen off animation when in landscape Change-Id: I4bc5b12d7a64a4bf8b9a851594be4d60b790d1ed
urfaceFlinger.cpp
|
8cb9d95002afe135ed445ee5c92d405a1d45d77d |
10-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Merge "enable EGL_IMG_context_priority for the omap4 platform"
|
9575f60722f7a4f54384fe0be6938a8de48dc23a |
07-Oct-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: screenshots w/ protected buffers This change modifies SurfaceFlinger's screenshot behavior when a layer with a protected buffer is visible. The previous behavior was to simply fail the screenshot. The new behavior is to render the screenshot using a placeholder texture where the protected buffer would have been. Change-Id: I5e50cb2f3b31b2ea81cfe291c9b4a42e9ee71874
ayer.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
57bf9e7100c2ea51e081775dbd3566f078b0be4f |
08-Oct-2011 |
Mathias Agopian <mathias@google.com> |
enable EGL_IMG_context_priority for the omap4 platform Bug: 5311015 Change-Id: Icaad3d1c963d382ac0a4b9121fe20d3408846c2b
ndroid.mk
|
e2c2f9213f936f98db604dc9c126ff22f725a824 |
06-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Force a repaint when hwc invalidate hook is called without this prepare() would be called but not set() since the dirty region is empty. Change-Id: I038acfbdad4c16015357ccde4d1949391d6f989d
isplayHardware/HWComposer.cpp
urfaceFlinger.h
|
aebac5f34a098f733f887c993bd617a393e10db8 |
30-Sep-2011 |
Mathias Agopian <mathias@google.com> |
improve hwc log output we now print the handle of each buffer Change-Id: I70884ae458a9dcf10cfc403258d48eaa4618b7f4
isplayHardware/HWComposer.cpp
|
ed984d9406b5a4062db93319e6f94d5f9fd19648 |
27-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
Merge changes Ib302d79e,Ib4ee085f * changes: SurfaceFlinger: set layer names on SurfaceTextures SurfaceTexture: add name support
|
e790db9980136a95a595a3cfc8d93f6e26347525 |
27-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
am da42e0fa: Merge "SurfaceFlinger: fix setting default buffer size" into ics-factoryrom * commit 'da42e0faaa95c796dc49f3b38023562dab6584a7': SurfaceFlinger: fix setting default buffer size
|
1b5f4e61ff481387215d98c3266871bfd465bce5 |
27-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: fix setting default buffer size" into ics-factoryrom
|
9a375927a52558b83d016a553d2d3b52eb9d96d5 |
27-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
am 3780d380: Merge "SurfaceFlinger: fix the transform hint" into ics-factoryrom * commit '3780d38010f50ccce508871058d54c1921936e0c': SurfaceFlinger: fix the transform hint
|
2a0d5b608447a880beff5149805425f02691442b |
27-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: fix setting default buffer size This change makes SurfaceFlinger update a SurfaceTextureLayer's default buffer size in response to a window resize even if the Layer is in fixed size mode. Change-Id: I3871c8f19a045d03904d1284390cad7659be71ff Bug: 5366426
ayer.cpp
|
4801404dcb7990e4753dad0d07de5f6dbc01dbdb |
23-Sep-2011 |
Mathias Agopian <mathias@google.com> |
don't clear the framebuffer when the framebuffer is not used when areas of the FB are undefined (transparent windows on top of nothing), we clear those areas before composition. however, it makes no sense to do this when the FB is not in use (case where hwc handles all layers) Bug: 5360529 Change-Id: I761a7d3664228ebbee0944aca8b0cc278fc94c9c
urfaceFlinger.cpp
|
36d2c1f02c58d8b5d2706960f370c9d74aafd740 |
27-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "(DO NOT MERGE) SurfaceFlinger: fix isOpaque check in lockPageFlip" into ics-factoryrom
|
8d91b425078083d0e4967dcd8d669d9f7196123a |
24-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: fix the transform hint This change fixes the transform hint to use only the global display transform rather than incorporating the transient layer-specific transform used during animations. Bug: 5366891 Change-Id: I5408dcd3f4771d010953e8a696a484c835bfe81e
ayer.cpp
ayerBase.cpp
ayerBase.h
|
059fd18396605592ec538b9e5574a80a8987d10d |
23-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Merge "don't clear the framebuffer when the framebuffer is not used"
|
cfb7d090bbbb881def949a548b7ad8022e370dd4 |
23-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Merge "fix dumpsys wording for h/w composer"
|
cd20eb09c4752531c1ab1a0084474ef530a5d44f |
23-Sep-2011 |
Mathias Agopian <mathias@google.com> |
don't clear the framebuffer when the framebuffer is not used when areas of the FB are undefined (transparent windows on top of nothing), we clear those areas before composition. however, it makes no sense to do this when the FB is not in use (case where hwc handles all layers) Bug: 5360529 Change-Id: If51bb669307e8419bbe1f3a89d1c88e0ec1f216c
urfaceFlinger.cpp
|
a249f2d11249ff37c48119020b797ad437ddef2c |
17-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: set layer names on SurfaceTextures This change sets the SurfaceTexture name string to match that of the layer to which it belongs. Change-Id: Ib302d79e916a36ab1e54cb9ff477c3b857bd957b
ayer.cpp
ayer.h
ayerBase.h
|
fc60b94db9081adb4835bd44eacdd0573fc4d644 |
23-Sep-2011 |
Mathias Agopian <mathias@google.com> |
fix dumpsys wording for h/w composer Change-Id: Iaa1094964f2fb83da491e23b9309f7690079c17e
isplayHardware/HWComposer.cpp
|
21230c6410bdab13cd2bd274da54b1e4061b6035 |
21-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Handle orientation changes more systematically. Bug: 4981385 Simplify the orientation changing code path in the WindowManager. Instead of the policy calling setRotation() when the sensor determined orientation changes, it calls updateRotation(), which figures everything out. For the most part, the rotation actually passed to setRotation() was more or less ignored and just added confusion, particularly when handling deferred orientation changes. Ensure that 180 degree rotations are disallowed even when the application specifies SCREEN_ORIENTATION_SENSOR_*. These rotations are only enabled when docked upside-down for some reason or when the application specifies SCREEN_ORIENTATION_FULL_SENSOR. Ensure that special modes like HDMI connected, lid switch, dock and rotation lock all cause the sensor to be ignored even when the application asks for sensor-based orientation changes. The sensor is not relevant in these modes because some external factor (or the user) is determining the preferred rotation. Currently, applications can still override the preferred rotation even when there are special modes in play that might say otherwise. We could tweak this so that some special modes trump application choices completely (resulting in a letter-boxed application, perhaps). I tested this sort of tweak (not included in the patch) and it seems to work fine, including transitions between applications with varying orientation. Delete dead code related to animFlags. Handle pausing/resuming orientation changes more precisely. Ensure that a deferred orientation change is performed when a drag completes, even if endDragLw() is not called because the drag was aborted before the drop happened. We pause the orientation change in register() and resume in unregister() because those methods appear to always be called as needed. Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
urfaceFlinger.cpp
urfaceFlinger.h
|
8bfdda9ab34466f97d024c1dcd63019de880b806 |
21-Sep-2011 |
Mathias Agopian <mathias@google.com> |
fix transition from full overlays to fb we need to clear the whole framebuffer in that situation because we can't trust the content of the FB when partial (fb preserving) updates are used. Bug: 5318492 Change-Id: I3f0e01b0fb665a34e44d88ad9f0f54a5d990060b
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
56eb3fc695869c05ef3b35dfe9dfb25d2f826825 |
21-Sep-2011 |
Mathias Agopian <mathias@google.com> |
rename mInvalidRegion to mSwapRegion Change-Id: I946cbc782c0c84645843ea44c3d8b04a0a2fe658
urfaceFlinger.cpp
urfaceFlinger.h
|
670a8990e822785da2a684f71f0035725022ced4 |
21-Sep-2011 |
Mathias Agopian <mathias@google.com> |
improve hwc dumpsys we now log the buffer's format Change-Id: I9d3ad8018e884240a153de3baefb6331cb014d0f
isplayHardware/HWComposer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
|
9c6e297271ec9af9d974242d89cfa08cb6ceaa0a |
21-Sep-2011 |
Mathias Agopian <mathias@google.com> |
fix transition from full overlays to fb we need to clear the whole framebuffer in that situation because we can't trust the content of the FB when partial (fb preserving) updates are used. Bug: 5318492 Change-Id: I3f0e01b0fb665a34e44d88ad9f0f54a5d990060b
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
0656a68380d01de4136933901b2c322cf9ab0d7e |
21-Sep-2011 |
Mathias Agopian <mathias@google.com> |
rename mInvalidRegion to mSwapRegion Change-Id: I946cbc782c0c84645843ea44c3d8b04a0a2fe658
urfaceFlinger.cpp
urfaceFlinger.h
|
fb4d5d5726c172adbe62341d99a2148685a98379 |
21-Sep-2011 |
Mathias Agopian <mathias@google.com> |
improve hwc dumpsys we now log the buffer's format Change-Id: I9d3ad8018e884240a153de3baefb6331cb014d0f
isplayHardware/HWComposer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
|
351a513b12622781de9580b3c96fd0a8578b563b |
15-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
(DO NOT MERGE) SurfaceFlinger: fix isOpaque check in lockPageFlip This change fixes an issue where Layer::isOpaque was being called in lockPageFlip to get the opaqueness for the new buffer before mActiveBuffer was updated. Bug: 5321313 Change-Id: Ibb5d7d3f4e9a2b1448e117a484a0d9f9ca5fc9de
ayer.cpp
|
945d291699e439c6cbc6192164e0fa53d9a03c3a |
15-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: fix isOpaque check in lockPageFlip This change fixes an issue where Layer::isOpaque was being called in lockPageFlip to get the opaqueness for the new buffer before mActiveBuffer was updated. Bug: 5321313 Change-Id: Ibb5d7d3f4e9a2b1448e117a484a0d9f9ca5fc9de
ayer.cpp
|
f9abeb956fb95682d77005ea0dc506a805f52a04 |
09-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Fix another problem with refreshing the screen when switching to/from overlay the previous fix was incorrect. See comment in setupHardwareComposer for full explanations. Change-Id: Ib24a9af000b8f95cf7319f9272d34997064ceb6d
ayerBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
22da60c3e64cd57535cbba063c07127814a2b52f |
09-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Improve SF dumpsys output wrt HWC Change-Id: Ibdb7930fa3b521bfd3f44750ed98cfd75f9a01fe
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayerBase.cpp
urfaceFlinger.cpp
|
f384cc3008a25ad1b00403aca0cc001547f029c6 |
09-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Fix an issue is SF that caused drawing artifacts when hwc changed mode we were not redrawing and/or clearing the FB properly when hwc moved a layer from/to FB to/from OVERLAY. In these cases we needed to expand the dirty region to include the layer that changed mode. Also split composeSurfaces() which was becoming quite large. Change-Id: Id6fa1acfc4ff694037fddf7efd037a4405732073
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
7ee4cd5556cef1878e1d4729f1b389f186311027 |
02-Sep-2011 |
Mathias Agopian <mathias@google.com> |
fix a bug that caused the off animation to not show sometimes this happened when the overlays were in use, since the animation is rendered in the FB and the FB is not used. we now have a way to turn hwc off temporarily. Change-Id: I3385f0c25bb9cc91948e7b26e7cd31ed18c36ace
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
f914e7ffad20c0a39d86376c703cd98c086e774a |
02-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Fix various flickering / artifacts these were due to the "preserve backbuffer" optimization interfering with hw composer. basically the screen needed to be redrawn in the areas that move from GL to overlay. Bug: 5245513 Change-Id: I9bf75c4fe905f3ef62005e52108b94edae692304
urfaceFlinger.cpp
|
3f41963ccb3af61b78d1e4fb0a07ca7d93be0feb |
31-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Merge "fix Surface positions are not floats"
|
41b6aabf356d8a505da37b1d046bc9010028fe8b |
31-Aug-2011 |
Mathias Agopian <mathias@google.com> |
fix Surface positions are not floats Added Surface.setPosition(float, float) which allows to set a surface's position in float. Bug: 5239859 Change-Id: I903aef4ad5b5999142202fb8ea30fe216d805711
ayerBase.cpp
ayerBase.h
ransform.cpp
ransform.h
|
c7f3381c3b2945e441747130eae88214435d0819 |
31-Aug-2011 |
Mathias Agopian <mathias@google.com> |
fix display artifacts in preview screen in timelapse video mode We were not updating the h/w composer state when the buffer size changed. We also didn't update the h/w composer state when the transformation matrix changed (which is related to the above issue, since it would probably change when the buffer size changes). Also moved updating the crop to setGeometry(), since we decided that the "crop" change requires the GEOMETRY_CHANGED flag (ie: not need to do this every frame) Bug: 5238473 Change-Id: Ia7b47e145b48581b568d89d9aa2c14ff778be862
ayer.cpp
ayerBase.cpp
|
b0610335d745718f5ee54f15ef1a492921d759f4 |
25-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Fix screenshots Change-Id: If904634e64b154bbe336d5789dd1209b8ae871fb
urfaceFlinger.cpp
|
e46016d0520a0ad0e7da7ffdef68905565124cba |
25-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Merge "Fix Recent thumbnails aren't taken when leaving an activity via notification"
|
0abe83a680d1f410c28b755eb4b3d6bee30c39dd |
25-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Fix Recent thumbnails aren't taken when leaving an activity via notification When taking screenshots we need to use the full drawing state list instead of the visible list. Bug: 5186823 Change-Id: I214ee0203aaf8e2c038e44581f7f1ae36edf08c5
urfaceFlinger.cpp
|
85b6f7afeab61b75e4326639a9f4cb61523ea997 |
25-Aug-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: use the HWC gralloc usage bit"
|
45d845190d26ae27de45390460f50a6a8639e2e5 |
24-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Merge changes I14e03939,I9aafe6f2 * changes: Fix an issue where Surface::lock() would never update the output region Add a debug option to turn the "transformation hint" off
|
a45836466c301d49d8df286b5317dfa99cb83b70 |
24-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Add a debug option to turn the "transformation hint" off transformation hint is disabled with: adb shell service call SurfaceFlinger 1009 i32 1 Change-Id: I9aafe6f280f88ce41569ed69a06dc522b10e3a88
ayer.cpp
ayer.h
urfaceFlinger.cpp
urfaceFlinger.h
urfaceTextureLayer.cpp
|
f7ae69d4bd292110da976c8ae766a8ef083d731f |
23-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Minor cleanup Change-Id: Ic042043c54631b5a5c74d20136addb2c08515ea9
ayer.cpp
extureManager.cpp
extureManager.h
|
53331da007b56e0cb4201728de99c8c29bcfaa9a |
23-Aug-2011 |
Mathias Agopian <mathias@google.com> |
fix "show screen update" debug option. Change-Id: I7d8b24124768b5f7d59d3bb0b019e9baaa0dfc4f NOTE: from now on, this also disable the h/w composer
urfaceFlinger.cpp
urfaceFlinger.h
|
3599bf2c0727bc33e8136f5163eee6f398545e05 |
10-Aug-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: use the HWC gralloc usage bit This change makes SurfaceFlinger always use the GRALLOC_USAGE_HW_COMPOSER usage bit when allocating buffers that may be passed to the HWComposer. Change-Id: I70362a8ede2b359fb2046853f85149d597465817
ayer.cpp
|
d992db3827016388e8069f5793b031153d423501 |
19-Aug-2011 |
Mathias Agopian <mathias@google.com> |
give the proper orientation to the h/w composer HAL we were using the "orientation" value instead of the real transform, which may contain arbitrary rotations for instance, and in some case ended up with a final "orientation" that looked valid, but wasn't. this fixes a problem on devices with a h/w composer hal where the rotation animation looked weird. Change-Id: I4be8a2a1bde49c33456fcf5c8d87ab515c216763
ayer.cpp
ayerBase.cpp
ayerBase.h
|
582270d69db94286a248bd829f1ae6f910d45124 |
18-Aug-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: fix queues-to-composer This change fixes the NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER query of Surface and SurfaceTextureClient. Surface now uses the inherited SurfaceTextureClient implementation of this query. SurfaceTextureClient now queries SurfaceFlinger to determine whether buffers that are queued to its ISurfaceTexture will be sent to SurfaceFlinger (as opposed to some other process). Change-Id: Iff187e72f30d454229f07f896b438198978270a8
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
8afb7e39a83a3e31170612d562eb08508e328388 |
16-Aug-2011 |
Mathias Agopian <mathias@google.com> |
as a debug option SrufaceFlinger can now connect to DDMS this is disabled by default. To enable: setprop debug.sf.ddms 1 this debug option requires to restart SurfaceFlinger Change-Id: Ic2f8050b29911b55bcd21721648b6978700c277d
ndroid.mk
dmConnection.cpp
dmConnection.h
urfaceFlinger.cpp
urfaceFlinger.h
|
c5953904ad6b6db1f48cf6d208ecf940f6a656d4 |
13-Aug-2011 |
Mathias Agopian <mathias@google.com> |
fix an orientation change drawing artifact. a wrong orientation would be briefly shown when rotation the screen. this happened when the window manager set a custom transformation and the h/w composer was used. the custom transformation was applied twice in that case. Bug: 5037522 Change-Id: Ic1f87b63cd843f4475e4265d1624463825d775c4
ayer.cpp
|
47d0812977b7acc4fed6a823203770a57f7a6b78 |
12-Aug-2011 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger doesn't rely on having a custom RefBase destructor we just use a message to the main thread to destroy our GLES state.
ayer.cpp
ayer.h
urfaceFlinger.cpp
urfaceFlinger.h
|
5bfc24515bb5c8ea7975f72d538df37753733a2f |
09-Aug-2011 |
Mathias Agopian <mathias@google.com> |
return correct value from query after connecting a surface the first time a surface was connected, the values returned by query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and NATIVE_WINDOW_TRANSFORM_HINT were wrong until a call to queueBuffer was performed. Bug: 5137366, 5121607 Change-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6
urfaceTextureLayer.cpp
urfaceTextureLayer.h
|
ad795baecccf239621cbffa0249c8e855296cae6 |
09-Aug-2011 |
Mathias Agopian <mathias@google.com> |
improve dumpsys SurfaceFlinger output we now output the handle and size of all buffers of each layer. Change-Id: I8d011ee4ae9199f4198bd07bed770ec3bcf02986
ayer.cpp
|
e8067a7d996105d9e03d75e6593e28b795fa9336 |
03-Aug-2011 |
Mathias Agopian <mathias@google.com> |
fix a crasher in surfaceflinger this would happen if being told to draw before a buffer was available. Change-Id: I46d121c73e883078cdbf952063e38b0076f79038
ayer.cpp
|
6d30c2bdaec7d0ab98fc5409f0e050e406ee4e4c |
03-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Merge "update HWC data structures even when a layer is marked for SKIP"
|
a537c0f42e8077baafcbc65844adf1ec8397c040 |
03-Aug-2011 |
Mathias Agopian <mathias@google.com> |
update HWC data structures even when a layer is marked for SKIP Change-Id: I16bcf44cd617814a14a795429bde2f39f411077d
ayer.cpp
ayerBase.cpp
|
c7d14e247117392fbd44aa454622778a25c076ae |
02-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Add a h/w composer API to allow the HAL to trigger a redraw This is useful in various situations, for instance if the HAL wants to change its compositing strategy. Bug: 4488017 Change-Id: I5afc14e5917c6db7926d7417d48677d5aba50caa
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/DisplayHardwareBase.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
05ca9998cdbed703a6074933492d01b066307a8d |
01-Aug-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: use async mode for video & cam"
|
cb6c755234a17ab14e6c5d0a857aab96fb02dc02 |
31-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: use async mode for video & cam This change makes SurfaceFlinger's SurfaceTexture objects default to async mode whenever a camera or video decoder connects. This behavior can be disabled by #defining NEVER_DEFAULT_TO_ASYNC_MODE. Change-Id: I8965951d1775915da180e4af298dd7af3afafecc
ndroid.mk
urfaceTextureLayer.cpp
urfaceTextureLayer.h
|
dbe6486ca151d0eb1950be0aae347f0eb8ed3442 |
30-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: abandon Layer SurfaceTextures This change makes the Layer::onRemoved method call SurfaceTextures::abandon on the layer's SurfaceTexture. This will cause all client-initiated operations on the SurfaceTexture to fail. In particular, this will result in an error on the client side, rather than a deadlock when removing a layer that used a SurfaceTexture in synchronous mode. Change-Id: I14014d00369f29560a21b606831edee432bb8867 Bug: 5020874
ayer.cpp
|
db5230f4441fa8f120f15bdd6fcfc6e75d9c27d0 |
28-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: fix a layer occlusion bug This change fixes a bug where the window visibility would be computed before any buffers were available, causing the window to be treated as non-opaque. When the first buffer arrived, if both mCurrentOpacity and the opacity determined by the buffer's format were 'opaque', a recomputation of the opacity would not be done, and the window would continue to be treated as non-opaque. SurfaceFlinger could then unnecessarily draw fully occluded layers. Change-Id: I2b95da2f4b50e68d50fc5afd8b772e26e62f58d6 Bug: 5057122
ayer.cpp
|
3fbce7c56082e4e0d23f1c1c89983d3841853ed7 |
26-Jul-2011 |
Mathias Agopian <mathias@google.com> |
remove dead code and member variables. also fix some comments and improve debugging logs. Change-Id: I83e55309f306332b59e1ec46104c4a7fffbf3c97
ayer.cpp
|
ab7c13f96a3c883fb4c93749c2e6c68155d3ad95 |
25-Jul-2011 |
Mathias Agopian <mathias@google.com> |
fix a typo that prevented preserveRects() to work properly this caused drawing artifacts during the screen rotation animation of SurfaceView. Change-Id: Idcc996b6ca2e346135dd2264959670c0b086d4cb
ransform.cpp
|
6dc49c09bc072a5b14225cdce2ca4e8c3f0edab1 |
23-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Fix typo which caused invalid rotations to be returned with NATIVE_WINDOW_TRANSFORM_HINT Bug: 4487161 Change-Id: Ib2dfbbef15397b6d90695bd27f25849ca20704f1
urfaceTextureLayer.cpp
|
bb66c9b5a9c16dee93559eb738746a2d0a9b2db3 |
21-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Fix a few issues with NATIVE_WINDOW_TRANSFORM_HINT - fixed uninitialized variable - set hint to indentity when transform is too complex - make sure FrameBufferNativeWindow doesn't fail on needed perform commands Bug: 4487161 Change-Id: I7cb2b0869b72404732eca7cb2d145ff669e2ed9b
urfaceTextureLayer.cpp
|
c10d9d90b2088a3304076e0dc4bf05cdbb5d45ab |
21-Jul-2011 |
Mathias Agopian <mathias@google.com> |
clean-up. get rid ofunused code and members in Surface[Control].cpp Change-Id: Ia7790ae28af2c2ac99eae01c2c5044ace4a490a4
urfaceFlinger.cpp
|
97c602c5af5f3ffd69009bf496d86347b71a2b4c |
20-Jul-2011 |
Mathias Agopian <mathias@google.com> |
implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation" Bug: 4487161 Change-Id: I883f34efe542c2a566d04966f873374f40c50092
ayer.cpp
urfaceTextureLayer.cpp
urfaceTextureLayer.h
ransform.cpp
lz.h
|
933389f75814bb62e8153528f9cff2cb329b77df |
19-Jul-2011 |
Mathias Agopian <mathias@google.com> |
use SurfaceTexture new scaling mode in SF SF now obeys SurfaceTexture's scaling mode instead of inferring it from the buffer's size Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
ayer.cpp
ayer.h
urfaceTextureLayer.cpp
|
ad70186f80355e55ddad2a66b5fd174a1c019c2d |
15-Jul-2011 |
Mathias Agopian <mathias@google.com> |
dump GLES strings in SF dumpsys log Change-Id: I438d511159b2bd915c84954f30574340017d4f47
urfaceFlinger.cpp
|
29a367bb7c14c916e991a6a0028727bd06c1e16e |
12-Jul-2011 |
Mathias Agopian <mathias@google.com> |
take the state transform into account with h/w composer hal if the state transform didn't preserve rectangles, we would still try to use h/w composer hal using the bounds of the transformed rect, which isn't correct. now we correctly fall back to composition. Change-Id: Iff78f4339ece415d4987e95a5717b04934d370ab
ayer.cpp
ransform.cpp
|
baa44b89ec159fd65230cbb8ebab62d63a513b0b |
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Remove the simulator target from all makefiles. Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ndroid.mk
|
ffcf4657718831edecb6ff2ed1b45ac8bf8b9a58 |
08-Jul-2011 |
Mathias Agopian <mathias@google.com> |
fix screen on/off animation (again) - surfaceflinger now uses the GL-convention of placing the origin in the left-bottom corner - map texture coordinates of the screen capture properly - add the ability to control the animation speed through a debug property Bug: 4989276 Change-Id: Ifb3297bb578078b47146fff666c01f85417e0d6f
ayerBase.cpp
urfaceFlinger.cpp
|
6163091a2c366f8311fc3ee627dc7deb9681236e |
07-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Fix EGLUtils::selectConfigForPixelFormat() - renderscript now calls EGL directly instead of relying on this function - surfaceflinger also does its own EGLConfig selection - selectConfigForPixelFormat stays for legacy reason (many tests use it) but it now only tries to match the alpha channel of the format rather than the format itself. this will allow implementations who don't support the exact formats defined in the HAL to work properly. Bug: 4998223 Change-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f
isplayHardware/DisplayHardware.cpp
|
7e918860f9d496bf0c4b7e1649216c9209c57850 |
06-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Merge "don't kill surfaceflinger when system process dies"
|
1f339ff3875afad128a8e16ee6395c5fad295826 |
02-Jul-2011 |
Mathias Agopian <mathias@google.com> |
don't kill surfaceflinger when system process dies Change-Id: I2d3ed87b590f9ccea3fa4af41d92911de070b315
isplayHardware/DisplayHardware.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
d9e8c64c3dce1612eb948a5c16ba4ff62202b423 |
01-Jul-2011 |
Mathias Agopian <mathias@google.com> |
return an error code with gralloc buffer allocation failures Change-Id: I471e5d37ea7a42fc8a0f93446ee3b4229da37807
urfaceFlinger.cpp
urfaceFlinger.h
|
2dbf9fffb2c99bc7f9dadf226772fd8cafc7826f |
01-Jul-2011 |
Mathias Agopian <mathias@google.com> |
fix screen on/off animation, which was flipped Bug: 4673549 Change-Id: Ia9766754687b89c1ee24b2dbe918c11290ebe038
urfaceFlinger.cpp
|
698c0873cf2e07bdc7fd1e72169aee2a19fa40d7 |
29-Jun-2011 |
Mathias Agopian <mathias@google.com> |
SF transactions are now O(1) wrt IPC instead of O(N). Change-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43
urfaceFlinger.cpp
urfaceFlinger.h
ests/resize/resize.cpp
ests/surface/surface.cpp
|
67b4cff399eef982a831dbe9c63e43e9846473a5 |
28-Jun-2011 |
Jamie Gennis <jgennis@google.com> |
Merge changes I9fb59763,I8b2c6e00 * changes: SurfaceTexture: consume buffers after err checks SurfaceTexture: change onFrameAvailable behavior
|
99b49840d309727678b77403d6cc9f920111623f |
28-Jun-2011 |
Mathias Agopian <mathias@google.com> |
PermissionCache caches permission checks This is intended to absorb the cost of the IPC to the permission controller. Cached permission checks cost about 3us, while full blown ones are two orders of magnitude slower. CAVEAT: PermissionCache can only handle system permissions safely for now, because the cache is not purged upon global permission changes. Change-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e
urfaceFlinger.cpp
urfaceFlinger.h
|
3d8063b02e06020c8062addcc9ec49048d3bdb9a |
27-Jun-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: change onFrameAvailable behavior This change alters the conditions under which the onFrameAvailable callback gets called by the C++ SurfaceTexture class. The new behavior is to call the callback whenever a frame gets queued that will be visible to the buffer consumer. This means that buffers queued in synchronous mode always trigger the callback, as those buffers will remain pending until they are consumed. Buffers queued in asynchronous mode will only trigger the callback if there was not previously an unconsumed buffer pending. The new behavior means that a consumer should perform a draw operation exactly once for every onFrameAvailable call that it recieves. This change also modifies SurfaceFlinger and the SurfaceTexture JNI to support of the new behavior. Change-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40
ayer.cpp
|
ddc31c3e2bc6ffe66695c385d23e8ccc3c6dad06 |
13-Jun-2011 |
Mathias Agopian <mathias@google.com> |
fix RefBase so it retains binary-compatibility with gingerbread Bug: 4595257 Change-Id: I0d5e10f497e3f39868bff58f6ded510c38b44b12
ayer.cpp
ayer.h
|
a67932fe6864ac346e7f78b86df11cf6c5344137 |
20-Apr-2011 |
Mathias Agopian <mathias@google.com> |
unify SurfaceTexture and Surface Add the concept of synchronous dequeueBuffer in SurfaceTexture Implement {Surface|SurfaceTextureClient}::setSwapInterval() Add SurfaceTexture logging fix onFrameAvailable
ndroid.mk
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
ayerDim.h
urfaceFlinger.cpp
urfaceFlinger.h
urfaceTextureLayer.cpp
urfaceTextureLayer.h
lz.h
|
342451d19f9e985912a413612ca6c1de5a13d339 |
20-May-2011 |
Mathias Agopian <mathias@google.com> |
Merge "Fix a race that could cause GL commands to be executed from the wrong thread."
|
ca4d3602c07837d0b2ac6878685a8e327b5f30f0 |
20-May-2011 |
Mathias Agopian <mathias@google.com> |
Fix a race that could cause GL commands to be executed from the wrong thread. Change-Id: Ia3d407f7bf2f5553f46cfdade70b7b0badb35beb
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
3629d7ff29495aad453b08a86e9ede7e42afa786 |
17-May-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: unfreeze windows for fixed size buffers. This change makes SurfaceFlinger unfreeze a window if it ever gets a buffer that is fixed-size. Normally the window would not be frozen if its in fixed-size mode, but if the window was frozen before entering fixed-size mode then it should be unfrozen. Change-Id: I6bc822d4b02ae51fa8914c1f60f5d24b2002b38d
ayer.cpp
|
dea20b1f343012d58ca9eb381684b26a168dc127 |
04-May-2011 |
Mathias Agopian <mathias@google.com> |
Fix a race in SurfaceFlinger that could cause layers to be leaked forever. The transaction flags were atomically read-and-cleared to determine if a transaction was needed, in the later case, mStateLock was taken to keep the current state still during the transaction. This left a small window open, where a layer could be removed after the transaction flags were checked but before the transaction was started holding the lock. In that situation eTraversalNeeded would be set but only seen during the next transaction cycle; however, because we're handling this transaction (because of another flag) it will be commited, "loosing" the information about the layer being removed -- so when the next transaction cycle due to eTraversalNeeded starts, it won't notice that layers have been removed and won't populated the ditchedLayers array. Change-Id: Iedea9e25fee8dd98a0c5bd5ad41a20fcadf75b47
urfaceFlinger.cpp
urfaceFlinger.h
|
697526bc9e44ce61c88614f98387ae8bbf0a187e |
01-May-2011 |
Iliyan Malchev <malchev@google.com> |
frameworks/base: android_native_buffer_t -> ANativeWindowBuffer Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
extureManager.cpp
ests/surface/surface.cpp
|
e4b117ad45411cde4c9144a43f16fa9708de1aa2 |
04-May-2011 |
Mathias Agopian <mathias@google.com> |
Merge "Fix a race-condtion in SurfaceFlinger that could lead to a crash."
|
4f113740180b6512b43723c4728f262882dc9b45 |
04-May-2011 |
Mathias Agopian <mathias@google.com> |
Fix a race-condtion in SurfaceFlinger that could lead to a crash. Client::mLayers could be accessed from different threads. On one side from Client::attachLayer() which is currently called from a binder thread; on the other side from Client::detachLayer() which is always called from the main thread. This could lead to a corruption of Client::mLayers. We fix this issue by adding an internal lock to Client. Change-Id: Ib1317d7750ed5030e6f577efe34b69fc10198bd3
urfaceFlinger.cpp
urfaceFlinger.h
|
5511a49d8df4020b714a3673b4d3d1de00470da2 |
02-May-2011 |
Conley Owens <cco3@android.com> |
am 08acaec6: am a47c0d29: am 58e4a5e2: Merge "Fixed to draw texture when loadTexture() is called at first time" * commit '08acaec6df66bd6a12b1e63016ed998abff4afdc': Fixed to draw texture when loadTexture() is called at first time
|
7badf9c5e84655063155f5cf9b0011204cf38e8b |
30-Apr-2011 |
Conley Owens <cco3@android.com> |
am a47c0d29: am 58e4a5e2: Merge "Fixed to draw texture when loadTexture() is called at first time" * commit 'a47c0d29bec7c242fb8d5ffe206c4c6ff85a178a': Fixed to draw texture when loadTexture() is called at first time
|
e85e4d4ed23f19a507c6208fd08744340537e76d |
29-Apr-2011 |
Conley Owens <cco3@android.com> |
Merge "Fixed to draw texture when loadTexture() is called at first time"
|
56b79aa8164fe015198a549130d428a74cbe814b |
29-Apr-2011 |
Conley Owens <cco3@android.com> |
Merge "Fixed to call computeVisibleRegions() when transparent value changed"
|
345c6114dad73fad026fa0925cca133236091dc2 |
27-Apr-2011 |
Conley Owens <cco3@android.com> |
am ba5aebd1: am ac505b86: am f0556bb9: am 86d1d747: Merge "Add lock before calling initEglImage" * commit 'ba5aebd106c61567ad6be905efd18902025735aa': Add lock before calling initEglImage
|
ddc25bb92eb10ee40559424a75cac5e440b75575 |
27-Apr-2011 |
Conley Owens <cco3@android.com> |
am ac505b86: am f0556bb9: am 86d1d747: Merge "Add lock before calling initEglImage" * commit 'ac505b86b45462d9883f9c36fad0ef85e0885ee4': Add lock before calling initEglImage
|
a97b487178fe5acafe0281e4cc61827945b3711b |
27-Apr-2011 |
Conley Owens <cco3@android.com> |
am 86d1d747: Merge "Add lock before calling initEglImage" * commit '86d1d74762e65b6f64c2d4758aa5fd4af6275696': Add lock before calling initEglImage
|
0ef4e15a6c12778daf464a4953d7e15e651f49ac |
20-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Get rid of the "pid" parameter from createSurface Change-Id: I28635e3f803e6abe965d79998e305f54a202465d
urfaceFlinger.cpp
urfaceFlinger.h
|
d9071ad304b20e6d0ddf8473bc1f12ce3d7feb11 |
20-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Merge "remove support for console in SurfaceFlinger"
|
3d031507e9fe249ca9f51314fe9613ff5ed262bf |
19-Apr-2011 |
Mathias Agopian <mathias@google.com> |
remove support for console in SurfaceFlinger the only supported screen management api now is /sys/power/wait_for_fb_{sleep|wake} Change-Id: I6c7d8d54843da4980b1b38ee3d46cf19be275240
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
|
3d64e738b91b2a4a9d81fae1991e6f6eae9ac8c8 |
19-Apr-2011 |
Mathias Agopian <mathias@google.com> |
fix memory corruption when retriving GL_MAX_VIEWPORT_DIMS Change-Id: I2e0b1eac6dbc6a4ecbbaf31013aa02cf2369fce2
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
|
0d11baf88920660cf0e30b25b7268a9459e8ffa5 |
15-Apr-2011 |
Kobi Cohen Arazi <kobic@codeaurora.org> |
Add lock before calling initEglImage Without that lock, there is a chance of race condition where while composing a specific index, requestBuf with the same index can be executed and touch the same data that is being used in initEglImage. (e.g. dirty flag in texture)
ayer.cpp
|
4cb18881b55b82a24873ccd8e298bc2d5a9c17e5 |
09-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Fix a GraphicBuffer leak in SurfaceTexture This leak was intentional, it was there to deal with the fact that some gralloc implementations don't track buffer handles with file-descriptors so buffers needed to stay alive until there were registered, which is not guaranteed by binder transactions. In this new implementation, we use a small BBinder holding a reference to the buffer, which with tuck into the parcel. This forces the reference to stay alive until the parcel is destroyed, which is guaranteed (by construction) to happen after the buffer is registered. this allows the public facing API to not expose the previous hack. Change-Id: I1dd6cd83679a2b7457ad628169e2851acc027143
urfaceFlinger.cpp
urfaceFlinger.h
|
47d8730a2463f38a695ab95b533b0d9728f266a3 |
06-Apr-2011 |
Mathias Agopian <mathias@google.com> |
remove more unused references to ISurface Change-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef
ests/resize/resize.cpp
|
dcab18c9c1a4ac6b5b9c996a4b002b0468bb3269 |
18-Feb-2011 |
Ichitaro Kohara <ichitaro.kohara@sonyericsson.com> |
Fixed to draw texture when loadTexture() is called at first time SW renderer of Stagefright reaches loadTexture() to draw image. The first time loadTexture() is called, it just initializes OGL texture, then returns. Thus, the first time call doesn't draw. This patch fixes to move on to draw stage after the initialization. Change-Id: I3ec1ad68fb8d376a4ad7aefded1c18a002d175c4
extureManager.cpp
|
d87f162026454f5a3e6437ed0c9ef51651a6b939 |
26-Mar-2011 |
Mathias Agopian <mathias@google.com> |
merge libsurfaceflinger_client into libgui this is the first step in unifying surfacetexture and surface. for this reason the header files were not moved, as most of them will eventually go away. NOTE: currently we keep libsurfaceflinger_client.so as an empty library to workaround prebuilt binaries wrongly linking against it. Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
ndroid.mk
ests/resize/Android.mk
ests/screencap/Android.mk
ests/surface/Android.mk
|
3eb70b4a51979399aed9b0017a23151701d1ad0e |
19-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
am bd340c7b: am b368f4d8: am 38caff23: Merge "SurfaceFlinger: Fix a typo." into honeycomb-mr1 * commit 'bd340c7b492fcf7d0a6cccab8825e710c83fe76d': SurfaceFlinger: Fix a typo.
|
d32a694a0c2040e1cc03ec0172d5378b78363fa5 |
19-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: Fix a typo." into honeycomb-mr1
|
5fd799dab602850b384d124c61096636f0988a93 |
19-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: Fix a typo. This change makes Layer skip its cleanup of its old shared memory region when the UserClient object that owned the memory has been freed. Bug: 3429357 Change-Id: I9e4d8eb190f6914dc043674b9bb8dd28e959901b
ayer.cpp
|
02cc7170a20335f035cb64ca442bc17d6c57273b |
18-Mar-2011 |
James Dong <jdong@google.com> |
am 14438b81: am 970bad67: am be368de7: Merge "Fix missing AOSP copyright headers for more files" into honeycomb-mr1 * commit '14438b81a1fe4d7ebdf8977f3d80a1dd1867c5ad': Fix missing AOSP copyright headers for more files
|
5f7204cb66b5500c814b5987af5db99b2b8fe90c |
17-Mar-2011 |
James Dong <jdong@google.com> |
Fix missing AOSP copyright headers for more files o Update the copyright date on InputDispatcher_test.cpp and InputReader_test.cpp because these two files were moved from other places to the current location, and were actually created in 2010. bug - 4119349 Change-Id: Ic93b81ddafb58e9e72a2e9e02ca3d9f173d6dca7
ests/resize/resize.cpp
ests/surface/surface.cpp
|
939fee8819ac714af6f99b1d8e0bd2ff6626a356 |
17-Mar-2011 |
Mathias Agopian <mathias@google.com> |
am e22aa623: am 25594e19: am f40e638e: fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out * commit 'e22aa62362a3007ee59ac62d4b5969e216987995': fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out
|
d0b55c011a311b677493ba72804bf1bc4df68224 |
17-Mar-2011 |
Mathias Agopian <mathias@google.com> |
fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out a memory corruption happned when the buffer pool was resized (like when playing a video or using camera) and there was no current active buffer. In this case, the faulty code would index into an array at position -1 which corrupted 24 bytes of data. also improved region validation code (ifdef'ed out by default) Bug: 4093196 Change-Id: I915c581d131148959d720e00e3892e9186ab733d
ayer.cpp
|
1bbafb96101de04c43adb5e3ca2494070d20a46a |
12-Mar-2011 |
Mathias Agopian <mathias@google.com> |
Fix some const-ness and comments mDrawingState doesn't need to be accessed by the mStateLock, because by definition it's only accessed from the main thread. Similarily, the list of layers in the drawing state cannot change (ie: is const). Change-Id: I2e5da7f4d8caee7af7802b432cd45cc81c7c08b0
urfaceFlinger.cpp
urfaceFlinger.h
|
5bf3abefb2745bf0c45b0814cfd44b4682060a6c |
12-Mar-2011 |
Mathias Agopian <mathias@google.com> |
Fix initialization order warning. Change-Id: I794dfaaa3a2f2645a89abc6c45de5f76e485f7d0
ayer.cpp
|
795f5ccf4788b791ff1042426be769ec51db6675 |
12-Mar-2011 |
Eric Hassold <hassold@google.com> |
Merge "Default to NONE format in Layer"
|
7ffe3807506da6f052535ca0c790636e41a8e310 |
11-Mar-2011 |
Eric Hassold <hassold@google.com> |
Default to NONE format in Layer mFormat is not initialized with any value in Layer constructor, causing a call to requestFormat() with no explicit format specified to fallback to some uninitialized value. Such invalid path actually detected by valgrind. Change-Id: Ib7faabcd61eaa26fb0ae7a9a486d9e258ba31b63
ayer.cpp
|
7a4d0dfd43558c299e6af6c4910ef76db9db3172 |
10-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: Respect the PROTECTED gralloc bit. This change makes SurfaceFlinger treat layers for which the active buffer has the GRALLOC_USAGE_PROTECTED bit set as if they have the 'secure' flag set. Change-Id: Ic60b6513a63e4bb92ec6ce9fd12fd39b4ba5f674 Bug: 4081304
ayer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
|
18570db84e7ec69ea3aa5764777ee77e1e07fcd8 |
10-Mar-2011 |
Mathias Agopian <mathias@google.com> |
am 33029221: Merge "revert the surface purgatory list and dependent changes." into gingerbread * commit '33029221619f14577bd0d0e7c2f815abc8f1b8ea': revert the surface purgatory list and dependent changes.
|
f7662afb76dfafebdd449c5e3e168f050da850a0 |
10-Mar-2011 |
Mathias Agopian <mathias@google.com> |
revert the surface purgatory list and dependent changes. 6d0f6cb Revert "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only" 6154412 Revert "partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)" 37c2a37 fix [3408713] Dialog window invisible sometimes It looks like there is a surface leak, it's unclear where it is. Without those reverts, this would cause a leak of the associated buffers which is far more problematic. this change might hide the surface leak. Bug: 4078032 Change-Id: Iedcda3ffcdd2f69d41047b5c3134c1e867ff90d7
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
134f0422866e8985188ed10dfbdcb8e6c34b87f7 |
08-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
ANativeWindow: add queues-to-window-composer check. This change adds a new 'method' to the ANativeWindow interface to check whether buffers queued to the window will be sent directly to the system window compositor. Change-Id: I4d4b199e328c110b68b250029aea650f03c8724d Bug: 3495535
urfaceFlinger.cpp
urfaceFlinger.h
|
5f1e78d7301c2a14c83de068f61e13aaed9494a8 |
08-Mar-2011 |
Mathias Agopian <mathias@google.com> |
am df6410dc: Merge "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only" into gingerbread * commit 'df6410dce3dae0bdb7e13118b3878079a1dcce03': Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only
|
ee65ac8a71c24fc154b513faa13d24b4d4dfee4f |
10-Feb-2011 |
Mathias Agopian <mathias@google.com> |
Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only 37c2a37 fix [3408713] Dialog window invisible sometimes d35c666 fix [3385504] Surface flinger hang when adding dim surface 1723b04 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown 1b0114f fix a surface leak in SurfaceFlinger Bug: 3513017 Change-Id: Ia13ed8c9cdcb1f484e177cdcaff687e7c88a10c3
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerDim.cpp
urfaceFlinger.cpp
|
1c71a47a6db679a3212f0c99e14f330d6da500fa |
03-Mar-2011 |
Mathias Agopian <mathias@google.com> |
remove some logs Change-Id: Ia476184048ee419e19330a56dc8e6553189f6a24
urfaceFlinger.cpp
|
e7809762e186ad5a12bc43aa38acbd358adfeb12 |
28-Feb-2011 |
Jamie Gennis <jgennis@google.com> |
am 0dc5fdb9: am e630e5f4: am 919853ce: Merge "Prevent SurfaceFlinger from using layer token 31." into gingerbread * commit '0dc5fdb9b2fd3b3e2ede5e9607bc21423f357a01': Prevent SurfaceFlinger from using layer token 31.
|
d1ad86f66b070eaf81f8bee41a2528d5da9363f1 |
28-Feb-2011 |
Jamie Gennis <jgennis@google.com> |
am e630e5f4: am 919853ce: Merge "Prevent SurfaceFlinger from using layer token 31." into gingerbread * commit 'e630e5f49ba15005172dceeda7299569b2d2351f': Prevent SurfaceFlinger from using layer token 31.
|
db7b742f65b2b88ea414e666e1079cc21b51f715 |
28-Feb-2011 |
Jamie Gennis <jgennis@google.com> |
am 919853ce: Merge "Prevent SurfaceFlinger from using layer token 31." into gingerbread * commit '919853ce244f853966817d4adb2f3b7b6e4bbe74': Prevent SurfaceFlinger from using layer token 31.
|
ab0225e3308c2cc6d399e967be16e766468437ac |
23-Feb-2011 |
Eric Hassold <hassold@google.com> |
Merge "Correctly handle translucency of device-specific pixel formats"
|
2168e2de244500d912dbeb43ac4065c327baddf5 |
17-Feb-2011 |
Ichitaro Kohara <ichitaro.kohara@sonyericsson.com> |
Fixed to call computeVisibleRegions() when transparent value changed When some Surfaces are overlapping and one of them changed to transparent or opaque, the back Surfaces should appear or disappear. This patch calls SurfaceFlinger::computeVisibleRegions() to re-calculate region of each Surface to implement the behavior. Change-Id: Iffb1caf1b4ce28dff252e114fe5b9b07d9c84a6f
ayerBuffer.cpp
|
a1f47b90ab53af978be45b8bda16c5d084ae66e6 |
16-Feb-2011 |
Mathias Agopian <mathias@google.com> |
fix a surface leak in SurfaceFlinger SF kept a strong reference to ISurface until the window manager removed the surface from the screen. This fell appart when running standalone tests, that is when the window manager wasn't involved. When the window manager is around, it would clean-up surfaces even when an application died. with this change, SF is able to do its own cleanup without relying on the window manager. the change is very simple, we simply don't keep a reference to ISurface and make sure no more than one of them can be created. Change-Id: I61f2d7473bf8d4aa651549a846c34cdbb0d0c85a
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
|
ac45e6bff1b41acd35c981291b37b23f8e083cee |
10-Feb-2011 |
Eric Hassold <hassold@google.com> |
Correctly handle translucency of device-specific pixel formats Check requested format for device-specific formats, and assume (as documented in libhardware/include/hardware/hardware.h) this is opaque layer so no blending is necessary. Bug: 3215931 Change-Id: Ib4dff8060ac522d201ff1e74807ac340c17d3fa7
ayer.cpp
ayer.h
|
8a08392833a2db80aef20fba8a43f0829a096e13 |
11-Feb-2011 |
Jamie Gennis <jgennis@google.com> |
Prevent SurfaceFlinger from using layer token 31. Bug: 2964479 Change-Id: I81e948924bff35b8b300d409f2c09f3779bcdeec
urfaceFlinger.cpp
|
48840800f4b0772cd3900d112794c6f0a361336e |
03-Feb-2011 |
Mathias Agopian <mathias@google.com> |
am 50b029d5: am 7ba35f5a: Merge "[3418265] apply layer transformations to the DimLayer." into honeycomb * commit '50b029d578fa06cd0733dcc7c69cb94f5f824908': [3418265] apply layer transformations to the DimLayer.
|
bce26daaaf4ea245ccb09d75a378d294e518d945 |
03-Feb-2011 |
Mathias Agopian <mathias@google.com> |
[3418265] apply layer transformations to the DimLayer. with this change DimLayers will behave just like any other layer, in particular they'll respect the layer transformations. Change-Id: Icb4a1275e8bca9e3deb5f57c9f9219aaa69f9877
ayerDim.cpp
ayerDim.h
urfaceFlinger.cpp
|
79676ac8e6a95fd1b1fad2b1032f01d582614055 |
31-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
am 09443aeb: am 62884505: Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb * commit '09443aeb6470d66f5bc1938b70d74b3e2f9bbbb9': Reset ANativeWindow crop on buffer geometry changes.
|
da04384f18602bf3a7bc9c6b39dc1f09ea420692 |
31-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb
|
3cbe436bfd71b888ff9de97242cc976015b5b635 |
29-Jan-2011 |
Mathias Agopian <mathias@google.com> |
am 8d778b37: am 231da079: Merge "fix [3389263] OMX.Nvidia.h264.decode fails to shutdown" into honeycomb * commit '8d778b375ccb4945cdcd7cc93272a6d36466ad00': fix [3389263] OMX.Nvidia.h264.decode fails to shutdown
|
3cc2677efc2a4bc06297b9667ac529284f6abf9d |
29-Jan-2011 |
Mathias Agopian <mathias@google.com> |
fix [3389263] OMX.Nvidia.h264.decode fails to shutdown We were still destroying an ANativeWindow's buffer pretty soon after it was removed from the window manager. This time we really wait for the ISurace to go away. Change-Id: I329273fedaeef76ee92836f6180c2c3808389330
ayer.cpp
|
68f9127e88ca6fd849d0f28bcd8776e04aab22e6 |
29-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Reset ANativeWindow crop on buffer geometry changes. This changes the ANativeWindow API and the two implementations to reset the window's crop rectangle to be uncropped when the window's buffer geometry is changed. Bug: 3359604 Change-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b
ayerBase.cpp
|
16f0453fee84c6aad59fe0d1c7d36f061d46cffc |
20-Jan-2011 |
Glenn Kasten <gkasten@google.com> |
Protected surface API To be used by DRM framework, implemented by display HAL Change-Id: I054a07a94f4d5dbe792f3a597e2e49a100d90eb2
ayer.cpp
ayer.h
ayerBase.h
ayerDim.h
|
0d1561275e80073807ac04728951782d943f8882 |
26-Jan-2011 |
Mathias Agopian <mathias@google.com> |
fix [3385504] Surface flinger hang when adding dim surface Change-Id: I8e0cda414bcad5854d2ca5dde8370bfd8b2e5ea4
ayerBase.cpp
ayerBase.h
ayerDim.cpp
urfaceFlinger.cpp
|
275e627ef6c9db2c4d4efa1edbac4d7b68859ce8 |
25-Jan-2011 |
Mathias Agopian <mathias@google.com> |
am 239fd805: Merge "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)" into gingerbread * commit '239fd805ef7c0e4116b0a89e20caaf287e91f017': fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)
|
c92ba8851e2c495b025c48da9d887417dea85593 |
25-Jan-2011 |
Mathias Agopian <mathias@google.com> |
am 1955a5c9: Merge "partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)" into gingerbread * commit '1955a5c9da421dc89bb1a1dd3d3193159192cde9': partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)
|
f7701fabe8c914d7914ab7630257da395a7fa7b2 |
25-Jan-2011 |
Mathias Agopian <mathias@google.com> |
am d0441f92: Merge "fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)" into gingerbread * commit 'd0441f921b2b1879fb44041f521d9bfaa5a547d0': fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)
|
63e4bba51501f9a6f27beccaae7f8e0b78ac767c |
25-Jan-2011 |
Mathias Agopian <mathias@google.com> |
am 043a3cdd: Merge "workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)" into gingerbread * commit '043a3cddf67e2baf38711bcb125084599f8f9802': workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
|
59f71e7feb9034c61cf531031063396d0fb97176 |
25-Jan-2011 |
Mathias Agopian <mathias@google.com> |
am d3fcd0a1: Merge "minor clean-up. SurfaceFlinger doesn\'t need libpixelflinger.so. (DO NOT MERGE)" into gingerbread * commit 'd3fcd0a1c923498921107bb44fbc8b24582a170a': minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)
|
d1a99ec6b2f23db5662e6d2ccf7b40d96869eccb |
19-Jan-2011 |
Mathias Agopian <mathias@google.com> |
fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE) Generally we never want to lock a buffer for write access if it is at the "head" on the surfaceflinger side. The only exception (1) is when the buffer is not currently in use AND there is at least one queued buffer -- in which case, SurfaceFlinger will never use said buffer anymore, because on the next composition around, it will be able to retire the first queued buffer. The logic above relies on SurfaceFlinger always retiring and locking a buffer before composition -- unfortunately this didn't happen during a screenshot. This could leave us in a situation where a buffer is locked by the application for write, and used by SurfaceFlinger for texturing, causing a hang. Here, we fix this issue by never assuming the exception (1), it was intended as an optimization allowing ANativeWindow::lockBuffer() to return sooner and was justified when most of SF composition was done in software. The actual buffer locking is now ensured by gralloc. We could have handled screenshots in a similar way to a regular composition, but it could have caused glitches on screen, essentially, taking a screenshot could cause to skip a frame. now that we removed the notion of a "inUse" buffer in surfaceflinger a lot of code can be simplified / removed. noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete" is also gone.
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
53a67e1663564efd691461659634f9e908407112 |
15-Jan-2011 |
Mathias Agopian <mathias@google.com> |
partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE) We used to guarantee that a layer in SurfaceFlinger would never be destroyed before all references (to its ISurface) on the client side would be released. At some point, this guarantee got relaxed to allow to free gralloc resources sooner. This last change was incorrect, because: - in implementations with reference-counting the gralloc resources wouldn't be released anyways, until all the mapping were gone - in implementations without ref counting, the client side would most likely crash or do something bad - it also caused the SharedBufferStack slot to be reallocated to another surface, which could be problematic if the client continued to use the surface after the window manager destroyed it. So, we essentially reinstate the guarantee that layers won't be destroyed until after all references to their ISurface are released. NOTE: This doesn't entirely fix 3306150 because there is another problem there where the Browser continues to use a surface after it has been destroyed. also improve SurfaceFlinger 'dumpsys' log list the purgatory, which shows windows that have been closed, but for which the client still has references.
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
cfb676f1aeb8648699bf23e987c3a752275519ca |
17-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE) we were not clearing the screen entirely, which caused garbage when the screen wasn't entirely covered by windows. Change-Id: Ia7aa13c36a8a314e0e8427d419b16b9aa2165ddf
urfaceFlinger.cpp
|
5dc7e7da9273a5b40a85f8f6177793a23669cf98 |
15-Dec-2010 |
Mathias Agopian <mathias@google.com> |
workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE) we make sure to call compositionComplete after everytime we do composition with the GPU (even for the screenshot case), which is where the buffer locks are released. Change-Id: I450430d1e4d1ee9ce1023970642378c42cdcfa4c
urfaceFlinger.cpp
|
a0c6b761738ff98682e281571a0ff91c2230e7ee |
14-Dec-2010 |
Mathias Agopian <mathias@google.com> |
minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE) Change-Id: I1ddbbbec4fa5b2521ef3787bc28efe1bc90d0060
ndroid.mk
|
0c2648ab644b22100c1e80801d05278f9ac729e9 |
25-Jan-2011 |
Mathias Agopian <mathias@google.com> |
tone down the log spew regarding taking screenshots. Change-Id: I673806bda23eba6aab25f7505b7e0170afc9920b
urfaceFlinger.cpp
|
a9f54a77cd4057b0fddb0c6886357152548bf891 |
20-Jan-2011 |
Mathias Agopian <mathias@google.com> |
Merge "fix [3369743] SurfaceFlinger reads hardware composer hints before calling hwc.prepare()" into honeycomb
|
2bd1d95efecffad447afd682ffe605bbf8c79d62 |
20-Jan-2011 |
Mathias Agopian <mathias@google.com> |
clean-up unneeded code now that we removed the notion of a "inUse" buffer in surfaceflinger a lot of code can be simplified / removed. noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete" is also gone. Change-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
48b888aab9fdcfba250722dffbdffe61f11c64f3 |
20-Jan-2011 |
Mathias Agopian <mathias@google.com> |
improve SurfaceFlinger 'dumpsys' log list the purgatory, which shows windows that have been closed, but for which the client still has references. Change-Id: I5168bb88cb328d5d77d71d0871deb9190f493126
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
|
f20a32415d055336bc6016fa2de36d126db32746 |
20-Jan-2011 |
Mathias Agopian <mathias@google.com> |
fix [3369743] SurfaceFlinger reads hardware composer hints before calling hwc.prepare() Change-Id: If3277c7b9d4cb8ef20d1706155fac7b87e64fb20
urfaceFlinger.cpp
|
c1d1b0d9b74d8f55346d0b84f369e48ecf2e0d33 |
16-Jan-2011 |
Mathias Agopian <mathias@google.com> |
Add logs when taking a screenshot to help tracking issue 3361121 Change-Id: I61d1e072ebe7061ee1d7255f6121b684e2923d1b
urfaceFlinger.cpp
|
0d3dcc4aab864e4e4086b070c08949d369239f22 |
15-Jan-2011 |
Mathias Agopian <mathias@google.com> |
Merge "partially fix [3306150] HTML5 video with H/W acceleration blackout" into honeycomb
|
76cd4ddc6ad664257739b3d3713fd9ebdc9a4ad9 |
15-Jan-2011 |
Mathias Agopian <mathias@google.com> |
partially fix [3306150] HTML5 video with H/W acceleration blackout We used to guarantee that a layer in SurfaceFlinger would never be destroyed before all references (to its ISurface) on the client side would be released. At some point, this guarantee got relaxed to allow to free gralloc resources sooner. This last change was incorrect, because: - in implementations with reference-counting the gralloc resources wouldn't be released anyways, until all the mapping were gone - in implementations without ref counting, the client side would most likely crash or do something bad - it also caused the SharedBufferStack slot to be reallocated to another surface, which could be problematic if the client continued to use the surface after the window manager destroyed it. So, we essentially reinstate the guarantee that layers won't be destroyed until after all references to their ISurface are released. NOTE: This doesn't entirely fix 3306150 because there is another problem there where the Browser continues to use a surface after it has been destroyed. Change-Id: I305c830dd722b30a6d53cbf3a9c714fd3cf7eb06
urfaceFlinger.cpp
urfaceFlinger.h
|
a49576f06b73893fd957d974382390a47b44589e |
14-Jan-2011 |
Mathias Agopian <mathias@google.com> |
Merge "fix [3312683] Camera mirroring problem after switching from back to front camera" into honeycomb
|
ad456f9878ff7c176499e7b992f9ff1cb3e9cdee |
14-Jan-2011 |
Mathias Agopian <mathias@google.com> |
fix [3312683] Camera mirroring problem after switching from back to front camera the crop as well as buffer orientation can change at every frame, when that happens we need to reset the hwc HAL (ie: set the GEOMETRY_CHANGED flag). currently we achieve this by taking the same code path than an actual geometry change which is a bit more heavy than necessary. Change-Id: I751f9ed1eeec0c27db7df2e77d5d17c6bcc17a24
ayerBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
9a78c90cd46b2a3bd637b056873149d3b94384b4 |
13-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Fix remote GraphicBuffer allocation in SurfaceFlinger. This change fixes a horrible hack that I did to allow application processes to create GraphicBuffer objects by making a binder call to SurfaceFlinger. This change introduces a new binder interface specifically for doing this, and does it in such a way that SurfaceFlinger will maintain a reference to the buffers until the app is done with them. Change-Id: Icb240397c6c206d7f69124c1497a829f051cb49b
urfaceFlinger.cpp
urfaceFlinger.h
|
495633406580685dfaa41979bbae47fc5f77fefe |
20-Dec-2010 |
Jamie Gennis <jgennis@google.com> |
Add the ISurfaceComposer::createGraphicBuffer IPC. This change adds a new binder method to the ISurfaceComposer interface. This IPC is intended to allow SurfaceFlinger clients to allocate gralloc buffers using SurfaceFlinger as a proxy to gralloc. Change-Id: Ide9fc283aec5da6268ba62cfed0c3319a50b640d
urfaceFlinger.cpp
urfaceFlinger.h
|
ea0b147ba53707ba6566d28b22a8c7ba89ae85f8 |
20-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am c724f2fb: disable the bypass mode. DO NOT MERGE. * commit 'c724f2fba330da275f46586aeb5f0ae7bd2fae99': disable the bypass mode. DO NOT MERGE.
|
902329fb3e8fd0b3666ff99704c196f0b8c2a08d |
18-Dec-2010 |
Mathias Agopian <mathias@google.com> |
disable the bypass mode. DO NOT MERGE. SF bypass mode triggers a bug in the display controller that case cause the device to freeze. Change-Id: If29b4d5132f463d13831b082b904c235f15a19fb
ndroid.mk
|
f653b897a449e10d6cbfb6e0812f7b0bb02d6482 |
17-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix a small bug that caused screenshot to show garbage in some cases we were not clearing the screen entirely, which caused garbage when the screen wasn't entirely covered by windows. Change-Id: Ie9ab9b94eabfa6cafddf45bb14bc733bdc8d35c0
urfaceFlinger.cpp
|
e6f0984361f634ff36bc0ad1c2d45f4554619ac8 |
15-Dec-2010 |
Mathias Agopian <mathias@google.com> |
workaround [3201922] display not on: log full of gralloc errors while we're waiting for the real fix in the gralloc/gpu driver, this workaround should resolve the issue. we make sure to call compositionComplete after everytime we do composition with the GPU (even for the screenshot case), which is where the buffer locks are released. Change-Id: I3cb5ad67d48c81a23100172bab77e86a70e29152
urfaceFlinger.cpp
|
420a283c4dc2a669c93bd5c0a2180b14f3625501 |
15-Dec-2010 |
Mathias Agopian <mathias@google.com> |
Fix a problem where hwc and GL composition could show a different buffer if a surface's buffers are reallocated, the current active buffer will end-up pointing on one of these until a new buffer is retired. we're now keeping a reference to the actual buffer until we retire a new one. Change-Id: Ib1703947e7a0340694d846e0962576318863b935
ayer.cpp
ayer.h
|
ebeb7095961e09f5cff0c7cf2c04fa4770b2e033 |
15-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix debug.sf.showbackground Change-Id: Ie4eeca006ad6d8030900d8cb0029e4d1c22474fb
urfaceFlinger.cpp
|
da9584dc295cc5e6d0b49a97c1e45159249d650b |
14-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix [3223749] media server crashes when switching mode from video capture to still image capture there was an issue were in some situation SF would call prepare() on hwc with a NULL handle and never call prepare again. in this situation, we onw set the SKIP flag to make sure that hwc won't process this layer and as soon as we receive our first buffer we trigger a recompute of the visible regions which will end-up calling prepare() again. Change-Id: I6b400b2df79712408b9315a9859290c7fcb1609e
ayer.cpp
ayer.h
|
fb88981051118e169d6acfe796f7eab9a827b2e0 |
15-Dec-2010 |
Mathias Agopian <mathias@google.com> |
Merge "fix [3176642] Camera preview turns completely black for multiple toggles between camera and camcorder app"
|
5eee3d2b13880c9a486be8fca20128660a19b7f7 |
15-Dec-2010 |
Mathias Agopian <mathias@google.com> |
Merge "minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so."
|
dd17b3eaa99f761e265ff457e335b5a0ff83dafb |
14-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix [3176642] Camera preview turns completely black for multiple toggles between camera and camcorder app There was a leak of Surface tokens when a surface was detached from a UserClient. We now always detach a surface from its client before attaching to the new one, this guarantees that its token is freed. Change-Id: Icfad0b16286ed58155bdfafdf36ab161440aa485
ayer.cpp
|
455d18d4c26a823bff62ca14771986cca52d3462 |
14-Dec-2010 |
Mathias Agopian <mathias@google.com> |
minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. Change-Id: I3bdca74351c8e480a05084bc412a96c5f685221d
ndroid.mk
|
bf2c6a6c8f1df40ac94e28b948754bb9739daaca |
11-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3258939] Need snapshot to limit which layers are included Change-Id: Id7351a0e3f53dde99b291cffba553d89fd4d7ca9
urfaceFlinger.cpp
urfaceFlinger.h
|
f345069099a13f0c2dd91f1fa92786643e4becb0 |
09-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3211070] camera preview image is rendered offset from the UI overlay frame somehow this change got lost. Change-Id: I36f6c7ef3f782918042b77e9dc91a4c811d84a40
ayer.cpp
|
86bdb2f918ffd238d6e0d1ae1f95af882f04d6cb |
09-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix [3260137] Sometimes front-facing camera mirroring is wrong make sure to take the buffer's orientation into account. Change-Id: I9fef89e66368ad2dec1cb8c7b77ac2b3b4858efb
ayer.cpp
|
1293a8eb567fd63c072a6970fa9dcf37d076059f |
09-Dec-2010 |
Mathias Agopian <mathias@google.com> |
More clean-up. Get rid off the "blur" effect in SurfaceFlinger For multiple reason, this effect is not maintainable and was never used due to its abysmal performance. it'll be resurected when it can be implemented efficiently. Change-Id: Id4222c9b86c629275cdec18873ef07be8723b6d2
ndroid.mk
lurFilter.cpp
lurFilter.h
ayerBlur.cpp
ayerBlur.h
urfaceFlinger.cpp
urfaceFlinger.h
|
e0be194c7b8639e5a20b33fea44fb8abc8a540cf |
09-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am 74da537f: Merge "[317580] fix issue where the screen wouldn\'t be rotated properly in bypass mode" into gingerbread * commit '74da537f80ba36c1279c04fcb85d89fc38c246a6': [317580] fix issue where the screen wouldn't be rotated properly in bypass mode
|
a5529c8778c2f407f482fc12165aeb76c0f505c2 |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
remove support for PUSH_BUFFER surfaces and overlays the same functionality is now supported through the h/w composer HAL, and YUV support in the GPU. Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
ayerBase.cpp
ayerBase.h
ayerBuffer.cpp
ayerBuffer.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/overlays/Android.mk
ests/overlays/overlays.cpp
ests/resize/resize.cpp
ests/surface/surface.cpp
|
1d21a9cafc534c34a2f28c985c4c7aa176d0e67b |
02-Dec-2010 |
Erik Gilling <konkers@android.com> |
surfaceflinger: add support for gralloc dump hooks Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
urfaceFlinger.cpp
|
5ec99b57c3b6e15a1e19a9888100de76278b7696 |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
should fix build. Change-Id: I7705227ad123c73714af2ecb7ad84f5432a21c1d
ayerBase.h
|
a1aa18fc267a7d2db99b3cbc39907127bcdf6ac6 |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
resolved conflicts for merge of a0f011ff to master Change-Id: I4c17021fc269ce66c98cc345353600eda332f980
|
e24cc7a38dce071267156a9345e9ec3f27890daf |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[317580] fix issue where the screen wouldn't be rotated properly in bypass mode In some situations, the screen transformation would not be applied while in bypass mode. Change-Id: I3d6dd52e4c12b11aae97b54bf8e2322536eee37f
ayer.cpp
ayer.h
urfaceFlinger.cpp
|
b5a00fcb71426492f248ed49a0514a9b8d385065 |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am 48f42f8c: am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread * commit '48f42f8c3fbd33b2f46c6290ff5963dd58938cf9': [3171580] don't automatically log GraphicBuffer allocation failures
|
e4f81090c27d22b418d2cbe874fc28cbcf810167 |
07-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am a2977c38: Merge changes Ie03796ae,Ide3e980a into gingerbread * commit 'a2977c383d363e1e88a5b36230b1fa4c312807d2': [3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE) [3171580] Add transform field to native buffers. (DO NOT MERGE)
|
9669d23caedd9f5f71f3a6f4b589f91958b40f88 |
07-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am 05813b0e: Merge changes I244b5469,I32044e91 into gingerbread * commit '05813b0eb92cb1bc79607ee402f14ca1e4b43f6d': [3253328, 3171580] Treat GONE and INVISIBLE views the same when calculating transparent regions [3171580] Fix two typos related to fixed-size buffers
|
372c56e98b93647b7050e518c285057a8a72bc74 |
07-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread * commit '4153bf3a259624a2f2dc497b77b225a1fb517abc': [3171580] don't automatically log GraphicBuffer allocation failures
|
22c67843bebd2083053af5992befe7ebd50303a5 |
02-Nov-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE) This is a poor's man precursor to the h/w composer HAL. Basically we detect when a window is full screen and in that case we bypass surfaceflinger's composition step, which yields to much improved performance. Change-Id: Ie03796ae81a1c951949b771c9323044b980cb347
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
ayer.cpp
ayer.h
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
733189d408e13b54fd70971b265244367efd0f51 |
03-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] Fix two typos related to fixed-size buffers mFixedSize was never set, this bug was introduced during some "cleanup", in practice this could cause some issues when a fixed-size buffer was used and the window was resized. Layer::drawForSreenShot() had a typo that had no effect. mFixedSize was used to determine if filtering was needed, which was a bit too conservative and created a dependency between filtering and "fixed size" states which should exist. Now we enable filtering based on the size of the buffer vs. the size of the layer. Change-Id: I32044e91b0c944c1b137efdceb3f01dfaa78119d
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
|
678bdd6349344df254cc0c3377a40fd99e216635 |
04-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] don't automatically log GraphicBuffer allocation failures some of these failures are not fatal and even expected in some cases so they should not emit a dump in the log in those cases. Change-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e
ayer.cpp
|
040481419473cb9913b632cd8973b1d7065f9c9c |
01-Dec-2010 |
Louis Huemiller <lhuemill@google.com> |
Remove const_cast to layer handle Change-Id: Ica1e089cb56b5f9f46ab87abf735ffe7237fc926
ayer.cpp
|
4ba398df1797fc9e3b5c11b52898bc9e74f76be5 |
12-Nov-2010 |
Jamie Gennis <jgennis@google.com> |
Merge "Implement reducing the buffer count of a Surface."
|
54cc83e8a48c57307cdd40fe4b7e296020490095 |
02-Nov-2010 |
Jamie Gennis <jgennis@google.com> |
Implement reducing the buffer count of a Surface. Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f Bug: 3095167
ayer.cpp
ayer.h
|
37b126a3b274e1930fbbddcdf3ec708d13d01801 |
10-Nov-2010 |
Jamie Gennis <jgennis@google.com> |
Remove a problematic empty update optimization. This change removes an optimization from SurfaceFlinger that skipped composition when it got window updates that had an empty dirty region. This optimization caused problems because it would skip the hwcomposer set call, which could leave the window's previous frame buffer bound to an overlay plane. When the application subsequently dequeued and tried to lock its next buffer (which would be the buffer currently bound to the overlay), the lock call would block until the next hwcomposer set call (which may never happen). Change-Id: I563b626a1d52c1f30eb82489eae0ceb4edc79936 Bug: 3138752
urfaceFlinger.cpp
|
c23902b27fc8f4825217cef720c95c14e900efd8 |
28-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 5c0efef9: am 7d452f69: Merge "really fix [3118445] Transform * Transform does not work as expected" into gingerbread
|
c2dba08cc6c7f1a5dd2d7e6ff741f2e7924fc1b0 |
28-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 7d452f69: Merge "really fix [3118445] Transform * Transform does not work as expected" into gingerbread
|
883dffaa0095ac9ac2be70915f620af9f429dc4b |
26-Oct-2010 |
Mathias Agopian <mathias@google.com> |
really fix [3118445] Transform * Transform does not work as expected Two bugs were counter acting each other. - rotation matrices are on the left-hand side of multiplies - the transform of the overlay is applied before that of the layer Change-Id: Ia79bd368e9b719235c89ecf244ea263f01ce906a
ayerBase.cpp
ayerBuffer.cpp
ransform.cpp
|
d4a36d51021a66c44719dbed1bd43a471ac38657 |
25-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am e1ca532d: am 457bed2b: Merge "fix [3123221] Video sticks playing back upside down following orientation switch" into gingerbread Merge commit 'e1ca532d72cbfacdce794f8bb4d439e609ec9871' * commit 'e1ca532d72cbfacdce794f8bb4d439e609ec9871': fix [3123221] Video sticks playing back upside down following orientation switch
|
bb35a6322e96da0571bbb49b1a4401f3d5e525d9 |
25-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am b4645353: am ce4d36ad: Merge "fix [3118445] Transform * Transform does not work as expected" into gingerbread Merge commit 'b4645353090f1bdd5cc1d4ab98feac7ccf966368' * commit 'b4645353090f1bdd5cc1d4ab98feac7ccf966368': fix [3118445] Transform * Transform does not work as expected
|
a7a8f05d8cdf1f05896f5fea9c43321cd84f4784 |
25-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 457bed2b: Merge "fix [3123221] Video sticks playing back upside down following orientation switch" into gingerbread Merge commit '457bed2bc6561dd67429dde238453fee8602fa9b' into gingerbread-plus-aosp * commit '457bed2bc6561dd67429dde238453fee8602fa9b': fix [3123221] Video sticks playing back upside down following orientation switch
|
46135ee9a3b0b773f78690af831c46b79996ce8f |
25-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am ce4d36ad: Merge "fix [3118445] Transform * Transform does not work as expected" into gingerbread Merge commit 'ce4d36ad729f83253d4c5ec9906148f45cc00f8e' into gingerbread-plus-aosp * commit 'ce4d36ad729f83253d4c5ec9906148f45cc00f8e': fix [3118445] Transform * Transform does not work as expected
|
38e5c8ef89065ee3dfd7721d20df8c061f219168 |
25-Oct-2010 |
Mathias Agopian <mathias@google.com> |
Merge "fix [3123221] Video sticks playing back upside down following orientation switch" into gingerbread
|
d3caac954c3d6f2e4b4d4a5f13a570a2a15f8667 |
25-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix [3123221] Video sticks playing back upside down following orientation switch the overlay wasn't reconfigured when the screen-orientation changed. It was only done when a parameter of the surface itself changed. Change-Id: I0ca0925bf58ded4c91ab89d12cb1fe4d1477c96c
ayerBuffer.cpp
ayerBuffer.h
|
0694d0f3b3d016b9eedda13c447e8e7735a4a177 |
24-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix [3118445] Transform * Transform does not work as expected The problem wasn't in the multiply operator, but rather in the code that built the transform from the HAL bitmask. We now use the multiply operator to build the Transform from the bitmask, which guarantees, it'll always be correct. Also added a simple test for Transform. Change-Id: I09bf3b0e51d92f59d83ea91c4cc94fc2aa0bf227
ransform.cpp
ransform.h
ests/transform/Android.mk
ests/transform/TransformTest.cpp
|
47a79466a72715d57934016a3cad19444dad0642 |
21-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am fb31036f: am 583fefc8: Merge "Use the context_priority extension when present." into gingerbread Merge commit 'fb31036fd844444c395a2ae9c97439eec9f774e4' * commit 'fb31036fd844444c395a2ae9c97439eec9f774e4': Use the context_priority extension when present.
|
db02bde7887c74dd1def274f818d326cde11bd0a |
21-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 583fefc8: Merge "Use the context_priority extension when present." into gingerbread Merge commit '583fefc8dcadecc7fc933513d3569dd9c16c100c' into gingerbread-plus-aosp * commit '583fefc8dcadecc7fc933513d3569dd9c16c100c': Use the context_priority extension when present.
|
3c85e4ad5a14a49fffcd458886cf7519276daed5 |
21-Oct-2010 |
Mathias Agopian <mathias@google.com> |
Merge "Use the context_priority extension when present." into gingerbread
|
0a96e3c31f137fd4e271c1fb2aef9aa0b6e79ce0 |
16-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 9f6d18ca: am 04358138: Merge "[3095807] screen takes a long time to turn on" into gingerbread Merge commit '9f6d18cadf9ac50062063f5f5ff5de7f6895696a' * commit '9f6d18cadf9ac50062063f5f5ff5de7f6895696a': [3095807] screen takes a long time to turn on
|
fb3051b15e15b0f57196e0f2bc6ba8570f7ffe5e |
16-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 7e9a54d4: am d4e03f37: addresses parts of 3096779 and 3097475 Merge commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8' * commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8': addresses parts of 3096779 and 3097475
|
1cc53746aa8f548349385af7134af1135cfd1d5e |
16-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am a8faf91f: am 6d71f6a0: Merge "fix [3095607] Gingerbread screen turn-on animation does not show the last frame" into gingerbread Merge commit 'a8faf91fa558be1235d508e776eb24be4429585c' * commit 'a8faf91fa558be1235d508e776eb24be4429585c': fix [3095607] Gingerbread screen turn-on animation does not show the last frame
|
c9ce8cbe3bc1cd75598ab67081fe8b96199bfd31 |
15-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 3d4a9774: am b0e020ab: Merge "may fix 3097381 and 3097482. don\'t abort on/off if the animation fails" into gingerbread Merge commit '3d4a9774ced0c704da455c5bd9989127e90ba133' * commit '3d4a9774ced0c704da455c5bd9989127e90ba133': may fix 3097381 and 3097482. don't abort on/off if the animation fails
|
e33a35f02576b482a5ac4891a78f6e72fb4c0dea |
15-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 5bfa3a34: am 011b5bcc: Merge "implement part of [3094280] New animation for screen on and screen off add support for screen on animation" into gingerbread Merge commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f' * commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f': implement part of [3094280] New animation for screen on and screen off
|
65019fdc828f59f59682d9eb90749f4edb9ddda3 |
15-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 04358138: Merge "[3095807] screen takes a long time to turn on" into gingerbread Merge commit '043581382e43acbe29a8a62420bc765f49a9dd90' into gingerbread-plus-aosp * commit '043581382e43acbe29a8a62420bc765f49a9dd90': [3095807] screen takes a long time to turn on
|
a6546e5af4ce0cff01cd13605fc3eb16325feac3 |
14-Oct-2010 |
Mathias Agopian <mathias@google.com> |
[3095807] screen takes a long time to turn on turn on animation is now ~200 ms (12 frames). Change-Id: I49ca9e8d0afa566349d360b3b6c88f0d55aa6e75
urfaceFlinger.cpp
|
af384f8e3bf56f9bf4f10e5977093cbc41557464 |
15-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am d4e03f37: addresses parts of 3096779 and 3097475 Merge commit 'd4e03f37423bee383d17f7292753a5f67e497a28' into gingerbread-plus-aosp * commit 'd4e03f37423bee383d17f7292753a5f67e497a28': addresses parts of 3096779 and 3097475
|
b9d181f46e18423ca93de595b45f8922ea7aacaf |
15-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 6d71f6a0: Merge "fix [3095607] Gingerbread screen turn-on animation does not show the last frame" into gingerbread Merge commit '6d71f6a0ae9fd81ce25562aee67f841b5d8394cf' into gingerbread-plus-aosp * commit '6d71f6a0ae9fd81ce25562aee67f841b5d8394cf': fix [3095607] Gingerbread screen turn-on animation does not show the last frame
|
abd671a08a41519a7ab3d438a500efe0ef0bfc1d |
14-Oct-2010 |
Mathias Agopian <mathias@google.com> |
addresses parts of 3096779 and 3097475 3097475: Animation setting should control the screen on animation 3096779: CRT power-on animation can briefly show the top app instead of lockscreen There is now a parameter that controls wether the ON and/or OFF animation are performed. we also always clear the screen to black on power off, to make sure it won't briefly appear on power on. HOWEVER, 3096779 is not 100% fixed in the case where we're doing the animation because there is a race, where SF doesn't wait (b/c it doesn't know) for the framework to have redrawn the lockscreen. Change-Id: Ie0f02c9225fcdf24b1e8907e268eb7da2c5b0a03
urfaceFlinger.cpp
urfaceFlinger.h
|
a310993c83c29b43ea1f80b529b5a5261e97f80a |
14-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am b0e020ab: Merge "may fix 3097381 and 3097482. don\'t abort on/off if the animation fails" into gingerbread Merge commit 'b0e020ab409b725a556f2c5043b08c9bac2c29bf' into gingerbread-plus-aosp * commit 'b0e020ab409b725a556f2c5043b08c9bac2c29bf': may fix 3097381 and 3097482. don't abort on/off if the animation fails
|
a7f0373533e590fdca1400f90e6657ebb2dd5f17 |
14-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix [3095607] Gingerbread screen turn-on animation does not show the last frame always redraw the screen entirely after the power-on animation, because: - the animation may not run (ie: on the emu) - the animation may not contain the video planes - the interpolation may not be perfect and not land exactly on the last frame Change-Id: I9ba40f537b1e94464f8a3ed6f81e7c2f552df51d
urfaceFlinger.cpp
|
015fb3fb41ffe04475ab2b604cc30cc1c031815a |
14-Oct-2010 |
Mathias Agopian <mathias@google.com> |
may fix 3097381 and 3097482. don't abort on/off if the animation fails now that sf handles more of the screen on/off state, we don't want to abort because/if the animation fails for some reason (which will be the case on the emulator). Change-Id: I239e0a39cf8aff3074647e82db92de4a0bf0e494
urfaceFlinger.cpp
|
503d2d4a08370209dc83330bd00997ba9512f46f |
14-Oct-2010 |
Joe Onorato <joeo@google.com> |
am 9a12a3c8: am ba799098: Merge changes I76513387,I335fb671 into gingerbread Merge commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96' * commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96': Remove dead code, and make the animation a setting. turn off the electron beam
|
d91595b0004d24d0183fcbc594c693105b6c906b |
14-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 011b5bcc: Merge "implement part of [3094280] New animation for screen on and screen off add support for screen on animation" into gingerbread Merge commit '011b5bcc0355338b7ff906656282a54ffaa04b5a' into gingerbread-plus-aosp * commit '011b5bcc0355338b7ff906656282a54ffaa04b5a': implement part of [3094280] New animation for screen on and screen off
|
9daa5c9b9dd286cbbf5d43f7e45a5e9e4048e855 |
13-Oct-2010 |
Mathias Agopian <mathias@google.com> |
implement part of [3094280] New animation for screen on and screen off add support for screen on animation Change-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238
isplayHardware/DisplayHardwareBase.cpp
urfaceFlinger.cpp
urfaceFlinger.h
|
296b1d77641e6cf4f03e12c62c0d55a9e32b6b67 |
12-Oct-2010 |
Joe Onorato <joeo@google.com> |
am ba799098: Merge changes I76513387,I335fb671 into gingerbread Merge commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e' into gingerbread-plus-aosp * commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e': Remove dead code, and make the animation a setting. turn off the electron beam
|
59119e658a12279e8fff508f8773843de2d90917 |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
turn off the electron beam Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
eb8f8980d4c67347d45bfc27cdf52f2c2c636c34 |
12-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 5d477279: am cf6b2765: Merge "fix a bug where FLIP_H would do a 180 rotation" into gingerbread Merge commit '5d477279e6e41c9d61abe66dcded5c57a51e2c78' * commit '5d477279e6e41c9d61abe66dcded5c57a51e2c78': fix a bug where FLIP_H would do a 180 rotation
|
09e5687757296a4d8d2a5e5353b31dc5de14b423 |
12-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 3754d0cc: am d0528b74: Merge "deliver invalidate messages AFTER other messages" into gingerbread Merge commit '3754d0ccc7ba07fd867d3d28e6493e84ce0a139d' * commit '3754d0ccc7ba07fd867d3d28e6493e84ce0a139d': deliver invalidate messages AFTER other messages
|
3b996c96e4cd1057cb6b9531eaf8c01f934d2b2a |
10-Oct-2010 |
Romain Guy <romainguy@google.com> |
Always create OpenGL accelerated windows in RGBA 8888. Bug #3081600 The OpenGL renderer in libhwui uses a single EGL context per process and thus create it with an RGBA 8888 EGL configuration. To ensure that all windows are compatible with this configuration, this change modifies the window manager and SurfaceFlinger. The window manager now checks the window's flags and if the window is hardware accelerated, it forces the window's pixel format to be translucent when creating the surface. The window itself is still marked as opaque if we know that the window will be opaque on screen. This keeps existing optimizations in place. Similarly in SurfaceFlinger, a translucent Surface can now be created with the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface does not require blending, despite its RGBA 8888 configuration. Change-Id: Ic747b6b12564ba064412d842117880fcc199eb7c
ayer.cpp
|
67226814e1b6d1c02079635608444e73ec658837 |
12-Oct-2010 |
Mathias Agopian <mathias@google.com> |
Use the context_priority extension when present. Change-Id: I12eadf1e32d576de5d811fba44afa73263e13eef
ndroid.mk
isplayHardware/DisplayHardware.cpp
|
c6f607dcdd6a3322619d3e3ef4a10d93c8c082f5 |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am cf6b2765: Merge "fix a bug where FLIP_H would do a 180 rotation" into gingerbread Merge commit 'cf6b2765ae7ea6305754e253264012b8f0498f7b' into gingerbread-plus-aosp * commit 'cf6b2765ae7ea6305754e253264012b8f0498f7b': fix a bug where FLIP_H would do a 180 rotation
|
20f29b4a2a6caf31352709863abaaee69155bb34 |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
Merge "fix a bug where FLIP_H would do a 180 rotation" into gingerbread
|
3c2c54c270d8ecefccc9a57b0f5b1d691588a258 |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix a bug where FLIP_H would do a 180 rotation Change-Id: Ie2cc4a8543a5625750c8596f87edcb66fcbca31f
ayerBase.cpp
|
2e109a8666b99825ca1d6c5373f16cf237c99f90 |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am d0528b74: Merge "deliver invalidate messages AFTER other messages" into gingerbread Merge commit 'd0528b74b6de87c415ea498095e142d52c68875b' into gingerbread-plus-aosp * commit 'd0528b74b6de87c415ea498095e142d52c68875b': deliver invalidate messages AFTER other messages
|
7b0ba1668872eb6336bd305f9893991c84a08462 |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
deliver invalidate messages AFTER other messages because invalidate messages were always handled first, they could prevent other messages to get through entirely. there is no real reason to handle invalidate messages first because the other messages are very uncommon and won't interfer with updates. Change-Id: Ib95cdf35a91407bd2f4d69dd082c5f546e1e0071
essageQueue.cpp
|
8d5ed611214d500f2761b45ce6477b158f0d0aba |
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am a7c76d83: Merge "fix a bug where timeouts would only be handled when a message was delivered" into gingerbread Merge commit 'a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c' into gingerbread-plus-aosp * commit 'a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c': fix a bug where timeouts would only be handled when a message was delivered
|
23a0920339a04c0fcfc3a2840f4e020040c2afbf |
08-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix a bug where timeouts would only be handled when a message was delivered Change-Id: I98c69b129e75e065e61f47e54f0f855d9401b0dc
essageQueue.cpp
|
954fdd27ca1420aadc51c2752072a81a2e9bcb3c |
08-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix a bug where timeouts would only be handled when a message was delivered Change-Id: Id3127b21c1a1a1afab32911a8edbb202360d7c9b
essageQueue.cpp
|
58959343dbdb6157fa5f5463262d4842b8954353 |
07-Oct-2010 |
Mathias Agopian <mathias@google.com> |
Fix a null dereference Change-Id: I3df446b90c1607782778749de7ba0f8c00698c33
isplayHardware/HWComposer.cpp
|
6263c831ec9da9a28ef008897bda7dcb7f775120 |
05-Oct-2010 |
Mathias Agopian <mathias@google.com> |
am 19058877: Merge "refactored screenshot code" into gingerbread Merge commit '19058877df9bf94f197a72855f810f7f6bf8d068' into gingerbread-plus-aosp * commit '19058877df9bf94f197a72855f810f7f6bf8d068': refactored screenshot code
|
df85c455c34a920d22a8e3f7459a1cc615efcd27 |
29-Sep-2010 |
Mathias Agopian <mathias@google.com> |
refactored screenshot code the core screenshot function now can capture the screen at any lower resolution performing bilinear filtering. we also now have some client code to interface with the screenshot service. it's now possible to request a screenshot at a lower resolution. Change-Id: I33689bba98507ab928d0898b21596d0d2fe4b953
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerBuffer.cpp
ayerBuffer.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/screencap/screencap.cpp
|
74c40c0a273dbfd7d10617c4cc1b0c066bfc812e |
29-Sep-2010 |
Mathias Agopian <mathias@google.com> |
refactored screenshot code the core screenshot function now can capture the screen at any lower resolution performing bilinear filtering. we also now have some client code to interface with the screenshot service. it's now possible to request a screenshot at a lower resolution. Change-Id: I5a3b0e431421800e3aad601d9af8f94adffbc71f
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerBuffer.cpp
ayerBuffer.h
urfaceFlinger.cpp
urfaceFlinger.h
ests/screencap/screencap.cpp
|
a3aefeb1c31618dcc897da22d2d2f741104e3fe3 |
25-Sep-2010 |
Mathias Agopian <mathias@google.com> |
am 495ad4f2: am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread Merge commit '495ad4f22096aa172d025c16c25497e7dad8f2bd' * commit '495ad4f22096aa172d025c16c25497e7dad8f2bd': simple test app for screen capture API add support for [1974164] Be able to take a screen shot on the device
|
c814f965de344cab63a99d7db5632c814573111a |
25-Sep-2010 |
Mathias Agopian <mathias@google.com> |
am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread Merge commit 'beabe75a842d521b005999460d3a6361ab32108e' into gingerbread-plus-aosp * commit 'beabe75a842d521b005999460d3a6361ab32108e': simple test app for screen capture API add support for [1974164] Be able to take a screen shot on the device
|
06e7056660d65d4b0bbe1bb2cbf3e779074dbd9f |
25-Sep-2010 |
Mathias Agopian <mathias@google.com> |
simple test app for screen capture API Change-Id: I1f7c453508ccfd4faaa8b1279968a358ce3f1e5a
ests/screencap/Android.mk
ests/screencap/screencap.cpp
|
1b0b30d04304392748a8a4ab5a69e52a19f51b3a |
24-Sep-2010 |
Mathias Agopian <mathias@google.com> |
add support for [1974164] Be able to take a screen shot on the device screenshots are taken using ISurfaceComposer::captureScreen() which returns the size of the screenshot and an IMemoryHeap containing the data. screenshots have limitations: - they will always fail if a secure window is up on screen - require GL_OES_framebuffer_object extension - in some situation, video planes won't been captured Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
LExtensions.cpp
LExtensions.h
urfaceFlinger.cpp
urfaceFlinger.h
|
8372785879d329f592f6883620b5a32d80d74691 |
24-Sep-2010 |
Mathias Agopian <mathias@google.com> |
dump HWC state in dumpsys Change-Id: Ifbb38ca1ac9685776250e01c8d02021b35af72cf
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
73d3ba9e50be1014aa21ec4bbdc874be394accb4 |
23-Sep-2010 |
Mathias Agopian <mathias@google.com> |
add a way to toggle the h/w composer at runtime to DISABLE the h/w composer: adb shell service call SurfaceFlinger 1008 i32 1 to ENABLE the h/w composer: adb shell service call SurfaceFlinger 1008 i32 0 the state is dumped in "dumpsys SurfaceFlinger" Change-Id: I23e2242d42c6e3fd5261a83332dd900b189e38ce
urfaceFlinger.cpp
urfaceFlinger.h
|
e44d21a247aac5192b8ef397d433a4aefb6ba53e |
21-Sep-2010 |
Mathias Agopian <mathias@google.com> |
fix [3018216] UI shrinks / stretches while using apps with IME Change-Id: Ie4c5d8a434b4489355ed8c52af96eb931b4d7167
ayer.cpp
|
9c2de1a4b59ee03f1fd3cc542c7b7a307b68e76c |
17-Sep-2010 |
Jamie Gennis <jgennis@google.com> |
Merge "Fix a SurfaceFlinger bug."
|
5dda7f7cf23a02fff2e35d7eb6bb7c9f0d620f95 |
17-Sep-2010 |
Jamie Gennis <jgennis@google.com> |
Fix a SurfaceFlinger bug. The bug caused SurfaceFlinger to constantly trigger reallocation of buffers that requested a fixed size. Change-Id: Ic993a60e6474e36a344c8b48d541a0d08b8c4faf
ayer.cpp
|
fe0a0af7bdab1e61fdb00f4705ccff5b46c19d8e |
17-Sep-2010 |
Mathias Agopian <mathias@google.com> |
am 793b2293: am 1bcb8b1a: Merge "surfaceflinger / GL extensions cleanup" into gingerbread Merge commit '793b2293797ea930078640c4827d3cbdf449c227' * commit '793b2293797ea930078640c4827d3cbdf449c227': surfaceflinger / GL extensions cleanup
|
c05246ae344f16f3892a1274ef75627772c7c9aa |
17-Sep-2010 |
Mathias Agopian <mathias@google.com> |
am 1bcb8b1a: Merge "surfaceflinger / GL extensions cleanup" into gingerbread Merge commit '1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69' into gingerbread-plus-aosp * commit '1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69': surfaceflinger / GL extensions cleanup
|
7f198b6bff54af3c8e8ac32b83ffc6488e773ac1 |
16-Sep-2010 |
Michael I. Gold <gold@nvidia.com> |
surfaceflinger / GL extensions cleanup Add correct enumerants for OES_EGL_image_external to glext.h. SurfaceFlinger now checks for the correct extension name. Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
LExtensions.cpp
ayerBlur.cpp
ayerDim.cpp
urfaceFlinger.cpp
extureManager.cpp
|
c479e18db0216f7096fefe85ffa71ab00329aef3 |
15-Sep-2010 |
Mathias Agopian <mathias@google.com> |
resolved conflicts for merge of 48a86240 to master Change-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5
|
5e4cf02dfe0e8dbabb49b49ed38120cac8bbb9a3 |
15-Sep-2010 |
Mathias Agopian <mathias@google.com> |
am b3ffc78f: Merge "Add logging of various important graphics events" into gingerbread Merge commit 'b3ffc78f3432344702e6f5232067ab624083cad2' into gingerbread-plus-aosp * commit 'b3ffc78f3432344702e6f5232067ab624083cad2': Add logging of various important graphics events
|
35b48d10bc9e064201d3d54d2d476314684a7a05 |
14-Sep-2010 |
Mathias Agopian <mathias@google.com> |
Add logging of various important graphics events There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
urfaceFlinger.cpp
|
f5f2712854599b4970643c6000fe6ae950a08ba9 |
09-Sep-2010 |
Antti Hatala <ahatala@nvidia.com> |
surfaceflinger: give hwcomposer a chance to release buffers Change-Id: I605fa779702022865dd58df3b36f37c2644ade36
isplayHardware/DisplayHardware.cpp
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
|
586a0deb76012c4347298c11df460631853b67f8 |
09-Sep-2010 |
Antti Hatala <ahatala@nvidia.com> |
surfaceflinger: composite HWC_SKIP_LAYER layers Change-Id: I363ede63287ae903d66d0d419343f4ecd81bcc00
urfaceFlinger.cpp
|
8392b504bdf63ac7820c79c7217a89f2b2411bd0 |
08-Sep-2010 |
Antti Hatala <ahatala@nvidia.com> |
surfaceflinger: unlock clients only after flip Change-Id: I039291a36f05bbaa02b29325d4012114abd784b9
urfaceFlinger.cpp
|
413f750501c4392e096c7bed27af0764cbadeb94 |
26-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 6d4346ce: am 4cffbb47: Merge "fix [2946787] Screen flicker on low resolution setting in camcorder." into gingerbread Merge commit '6d4346ce35a521d67f45d7c9658c450c0fc461d2' * commit '6d4346ce35a521d67f45d7c9658c450c0fc461d2': fix [2946787] Screen flicker on low resolution setting in camcorder.
|
9cca403ed0da6ac601a664e0731fad50843c0c2c |
26-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 4cffbb47: Merge "fix [2946787] Screen flicker on low resolution setting in camcorder." into gingerbread Merge commit '4cffbb47a28faa594c2217d1e84f9382e0b57cc4' into gingerbread-plus-aosp * commit '4cffbb47a28faa594c2217d1e84f9382e0b57cc4': fix [2946787] Screen flicker on low resolution setting in camcorder.
|
eff062c49e858d0dd94a1e57f6115bc84dba103e |
25-Aug-2010 |
Mathias Agopian <mathias@google.com> |
fix [2946787] Screen flicker on low resolution setting in camcorder. Change-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893
ayer.cpp
|
e34a3d1a294e1d83caa410f3006e474bef787e1a |
25-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 46820412: am 8eb16af2: Merge "don\'t try to lock a buffer that wasn\'t allocated with SW usage bits" into gingerbread Merge commit '468204124e95bbf74ae8cc000318ade29e311be6' * commit '468204124e95bbf74ae8cc000318ade29e311be6': don't try to lock a buffer that wasn't allocated with SW usage bits
|
2091772e7ce8ce5b7ff1ddb9921e60cbaa6bd5f0 |
25-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 8eb16af2: Merge "don\'t try to lock a buffer that wasn\'t allocated with SW usage bits" into gingerbread Merge commit '8eb16af29303cda190133a1d220b9ecd9341e261' into gingerbread-plus-aosp * commit '8eb16af29303cda190133a1d220b9ecd9341e261': don't try to lock a buffer that wasn't allocated with SW usage bits
|
f1b38247d4d9c2ddc7315a72b609a95e0ed8050f |
21-Aug-2010 |
Mathias Agopian <mathias@google.com> |
don't try to lock a buffer that wasn't allocated with SW usage bits Change-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b
ayer.cpp
|
4ad298c12c43563789fd2213428347caf2f74c64 |
25-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the orientation of an ANativeWindow" into gingerbread Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64' * commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64': fix [2931513] Add support for setting the orientation of an ANativeWindow
|
95acdcc7de8d99bf40d11c6f297415787bb32973 |
25-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 8395b462: Merge "fix [2931513] Add support for setting the orientation of an ANativeWindow" into gingerbread Merge commit '8395b4625b96f2133e2e4f595fdc69fbe222e4fc' into gingerbread-plus-aosp * commit '8395b4625b96f2133e2e4f595fdc69fbe222e4fc': fix [2931513] Add support for setting the orientation of an ANativeWindow
|
b661d66013b9803c50dc78ca0247ac39caef443a |
20-Aug-2010 |
Mathias Agopian <mathias@google.com> |
fix [2931513] Add support for setting the orientation of an ANativeWindow Also implement support for cropping. Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
ayer.cpp
ayerBase.cpp
ayerBase.h
ayerBlur.cpp
ayerBuffer.cpp
extureManager.h
|
89c2dd2cc27ead77da131fe27810c99a11a92ad7 |
11-Aug-2010 |
Jamie Gennis <jgennis@google.com> |
Change the framework to use the new camera preview path. This change makes the camera HAL interface take an ANativeWindow interface from which all the camera preview buffers will be allocated. The framework code running in application processes now passes a Surface object rather than an ISurface to the camera server via Binder when setting the preview surface. The camera server then forwards that Surface object (which implements the ANativeWindow interface) to the camera HAL, which uses it to communicate with SurfaceFlinger to allocate the camera preview buffers. Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
urfaceFlinger.cpp
|
3f45e44adf9d76c7b76d33aec4c6e93f794d470d |
23-Aug-2010 |
Andreas Huber <andih@google.com> |
Merge "Squashed commit of the following:"
|
8b42e8a5d87dcdc8ea31368ab88de49b72ab5432 |
16-Aug-2010 |
Andreas Huber <andih@google.com> |
Squashed commit of the following: commit 35cc68814a9537c31fde146e171e7b0bbdfe211e Author: Andreas Huber <andih@google.com> Date: Mon Aug 16 08:48:42 2010 -0700 Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else. commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 13:56:44 2010 -0700 The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise. commit 684972074b74318bdcb826ed9b5b0864d2d2e273 Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 09:34:35 2010 -0700 A first shot at supporting the new rendering APIs. Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
ndroid.mk
urfaceFlinger.cpp
|
f84f146159922eb1f5d9bec7ec9a71cda1e866b1 |
21-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am a90a1e55: am 545eab8a: Merge "remove unused pixel format" into gingerbread Merge commit 'a90a1e55c60604b930eecff03fe25429205ec7df' * commit 'a90a1e55c60604b930eecff03fe25429205ec7df': remove unused pixel format
|
8258339e47e827a3a26a4b54b0015b2fe6a01f8f |
19-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 545eab8a: Merge "remove unused pixel format" into gingerbread Merge commit '545eab8ae80b070177cc442931eadc8cd980de26' into gingerbread-plus-aosp * commit '545eab8ae80b070177cc442931eadc8cd980de26': remove unused pixel format
|
c04cffd5703607f31356c26016b6e3ec971f6511 |
19-Aug-2010 |
Mathias Agopian <mathias@google.com> |
remove unused pixel format Change-Id: I55bc3cc41385743c07f7e4de06335c922f746f73
extureManager.cpp
|
1339581c921eea51e885a8c5c237e66d3904bc51 |
18-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 26bcc7b4: Merge "revert hwcomposer HAL changes. DO NOT MERGE." into gingerbread Merge commit '26bcc7b44238ea54105ef5a6020fa5c37bb33f03' into gingerbread-plus-aosp * commit '26bcc7b44238ea54105ef5a6020fa5c37bb33f03': revert hwcomposer HAL changes. DO NOT MERGE.
|
000ca8fa9a1a92aa2f132ba41d11ece6d01cdadd |
18-Aug-2010 |
Mathias Agopian <mathias@google.com> |
revert hwcomposer HAL changes. DO NOT MERGE. This reverts commit: 94364b91a2894bf037b8beb027132fbb812e1434 f8e705dea48f77f1c2532fdbadd4997dd1851af0 b59beb5ca68d0228f60dda60d85e2d0226b33215 e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
3c7a766c66456476c774a627369e7f031660f06e |
14-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 6a73368b: Merge "fix a typo that prevented glTexImage2D codepath to work" into gingerbread Merge commit '6a73368be44f45a80cc4b65dc57b9ff529cb2d89' into gingerbread-plus-aosp * commit '6a73368be44f45a80cc4b65dc57b9ff529cb2d89': fix a typo that prevented glTexImage2D codepath to work
|
998831fbc3fc82beb0c490ee49d8748bbbb888e9 |
14-Aug-2010 |
Mathias Agopian <mathias@google.com> |
Merge "fix a typo that prevented glTexImage2D codepath to work" into gingerbread
|
f1c468e48160208afe4919f57de464369cd3cafc |
14-Aug-2010 |
Mathias Agopian <mathias@google.com> |
fix a typo that prevented glTexImage2D codepath to work Change-Id: I36a3bf9d1d2eacd9b14e00b0a6c53bf88bba381c
extureManager.cpp
|
38af31e3e25a16295caec8dea205d10075912662 |
13-Aug-2010 |
Erik Gilling <konkers@android.com> |
am 94364b91: surfaceflinger: don\'t check HWComposer numLayers unless one exists Merge commit '94364b91a2894bf037b8beb027132fbb812e1434' into gingerbread-plus-aosp * commit '94364b91a2894bf037b8beb027132fbb812e1434': surfaceflinger: don't check HWComposer numLayers unless one exists
|
ae957658688ce174a8d58434b4567d022c22a6cf |
13-Aug-2010 |
Erik Gilling <konkers@android.com> |
surfaceflinger: don't check HWComposer numLayers unless one exists Change-Id: I4b83f7bf7ba1318c70054117f14e759fe0ad105c
urfaceFlinger.cpp
|
5e9615eaff388e02e5b54c35796cc741e0652795 |
13-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am b7d1be01: Merge "Fix a couple issues with the new hwcomposer HAL" into gingerbread Merge commit 'b7d1be01ae44428b947823fc48c1c126dcaa9732' into gingerbread-plus-aosp * commit 'b7d1be01ae44428b947823fc48c1c126dcaa9732': Fix a couple issues with the new hwcomposer HAL
|
45721773e1a68e96da4b6cc04cef276bae7ca3e9 |
13-Aug-2010 |
Mathias Agopian <mathias@google.com> |
Fix a couple issues with the new hwcomposer HAL - we now clear the framebuffer upon request from the HAL - the HAL list size could get out of sync with reality - there was also an issue where sometime we could run past the list Change-Id: Ic3a34314aed24181f2d8cc787096af83c046ef27
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
urfaceFlinger.cpp
|
ea6dbaf3029783fba305fe6323c504accc3c2fd7 |
12-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 65f2490e: Merge "should fix sim build, hopefully" into gingerbread Merge commit '65f2490e1baa6eac5905cbc638e69581ebcd8dee' into gingerbread-plus-aosp * commit '65f2490e1baa6eac5905cbc638e69581ebcd8dee': should fix sim build, hopefully
|
f1352df47fe20aed23c216a78923c7d248f2bb91 |
12-Aug-2010 |
Mathias Agopian <mathias@google.com> |
should fix sim build, hopefully Change-Id: I5390bd34dcca36fef43b5169386fff1b04cc842b
isplayHardware/HWComposer.cpp
|
8ea0bbd9b06ec0ca8c9a4c80a9f845cca5331947 |
12-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 90dc48b1: Merge "call into hwcomposer HAL when present" into gingerbread Merge commit '90dc48b17f673b7e334e3254ea633450f994226c' into gingerbread-plus-aosp * commit '90dc48b17f673b7e334e3254ea633450f994226c': call into hwcomposer HAL when present
|
127fbb7943e25e8b4c19fcb0cc3a4ae8de67a42d |
12-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 24d7050c: Merge "don\'t handle the transparent region of a layer in draw()" into gingerbread Merge commit '24d7050ca605804efd5fde03f0d0d8d1d052c247' into gingerbread-plus-aosp * commit '24d7050ca605804efd5fde03f0d0d8d1d052c247': don't handle the transparent region of a layer in draw()
|
c1ee0bea391fedd41e6d4871d623b81dc456f2ee |
12-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 8e7515d9: Merge "get rid of our LayerVector implementation" into gingerbread Merge commit '8e7515d9c938f5addd08d97bccfccfa976e76c11' into gingerbread-plus-aosp * commit '8e7515d9c938f5addd08d97bccfccfa976e76c11': get rid of our LayerVector implementation
|
820863e7749c705f4ae4089e8b77eda022f6c2f6 |
12-Aug-2010 |
Mathias Agopian <mathias@google.com> |
am 025822a0: Merge "keep a list of visible sorted surfaces" into gingerbread Merge commit '025822a03a09337ec382e708c5a798fe805109ed' into gingerbread-plus-aosp * commit '025822a03a09337ec382e708c5a798fe805109ed': keep a list of visible sorted surfaces
|
a350ff98692b3a50cad5cc93f9f83221242ca86a |
11-Aug-2010 |
Mathias Agopian <mathias@google.com> |
call into hwcomposer HAL when present Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
ndroid.mk
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/HWComposer.cpp
isplayHardware/HWComposer.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
bc7e31a84b936a5a9ac295db56f0836c50c1ac7f |
11-Aug-2010 |
Mathias Agopian <mathias@google.com> |
don't handle the transparent region of a layer in draw() this is already taken into consideration in computeVisibleRegion and therefore not needed at draw time. Change-Id: I3fc7336d22f1147dfcd3a20fd71bf79b946d971f
ayerBase.cpp
|
f6679fc6f70939643901f29a9a69e40c603e6e5f |
11-Aug-2010 |
Mathias Agopian <mathias@google.com> |
get rid of our LayerVector implementation we now use SortedVector<> with a special compare implementation. Change-Id: I910459cf3b3c8993b55ad0786a8c348369262de5
ayerBase.cpp
ayerBase.h
urfaceFlinger.cpp
urfaceFlinger.h
|
4da751999358fffa4cefc4c8046dab72045925f6 |
11-Aug-2010 |
Mathias Agopian <mathias@google.com> |
keep a list of visible sorted surfaces Change-Id: Ib815eeff894f8a3b1e79fbbf8186d5d91bb60285
urfaceFlinger.cpp
urfaceFlinger.h
|
4952ac0498ef1bf1d61ff9a44e413cdf986c6457 |
11-Aug-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am bc881e66: Merge "frameworks/base: Swap width and height of temporary buffer only with orientation change" Merge commit 'bc881e66d15181494fdd5d0ece83e20ef325453b' into gingerbread-plus-aosp * commit 'bc881e66d15181494fdd5d0ece83e20ef325453b': frameworks/base: Swap width and height of temporary buffer only with
|
ad1c5cf963e85d2efe7b34c07e076dbf6b6ab7d0 |
06-Aug-2010 |
Omprakash Dhyade <odhyade@codeaurora.org> |
frameworks/base: Swap width and height of temporary buffer only with orientation change Current code swaps the width and height by assuming that aspect ratio of the buffer width and height will be same as that of the layout clip width and height. That is not always true. Change the check to orientation change. Change-Id: Ie387f3a7369025427484e4173cbde7a08df2b9d7
ayerBuffer.cpp
|
208cb0772429b9ac800010829ecc7b854bdc2d24 |
28-Jul-2010 |
Mathias Agopian <mathias@google.com> |
fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once. this situation happened when the last buffer needed to be resized (or allocated, the first time). the assumption was that the buffer was in use by SF itself as the current buffer (obviously, this assumption made no sense when the buffer had never been allocated, btw). the system would wait until some other buffer became the "front" buffer. we fix this problem by entirely removing the requirement that the buffer being resized cannot be the front buffer. instead, we just allocate a new buffer and replace the front buffer by the new one. the downside is that this uses more memory (an extra buffer) for a brief amount of time while the old buffer is being reallocated and before it has actually been replaced. Change-Id: I022e4621209474ceb1c671b23deb4188eaaa7285
ayer.cpp
ests/surface/Android.mk
ests/surface/surface.cpp
|
be48137beb68893870c26b7f8c59eac5d0bf517a |
23-Jul-2010 |
Mathias Agopian <mathias@google.com> |
move native services under services/ moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Icd7336f7289db35df9c8c1857a5122bb8a6f1c86
ndroid.mk
arrier.h
lurFilter.cpp
lurFilter.h
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerBlur.cpp
ayerBlur.h
ayerBuffer.cpp
ayerBuffer.h
ayerDim.cpp
ayerDim.h
ODULE_LICENSE_APACHE2
essageQueue.cpp
essageQueue.h
urfaceFlinger.cpp
urfaceFlinger.h
okenizer.cpp
okenizer.h
ransform.cpp
ransform.h
lz.cpp
lz.h
ests/Android.mk
ests/overlays/Android.mk
ests/overlays/overlays.cpp
ests/resize/Android.mk
ests/resize/resize.cpp
|
a1e6bc864fb821c1b470b7aad9b75c441f54eeb4 |
15-Jul-2010 |
Mathias Agopian <mathias@google.com> |
added BinderService<> template to help creating native binder services Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
urfaceFlinger.cpp
urfaceFlinger.h
|
81bac09fa6b01dd1495644d9c825c3666762fced |
15-Jul-2010 |
Mathias Agopian <mathias@google.com> |
move native services under services/ moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
ndroid.mk
arrier.h
lurFilter.cpp
lurFilter.h
isplayHardware/DisplayHardware.cpp
isplayHardware/DisplayHardware.h
isplayHardware/DisplayHardwareBase.cpp
isplayHardware/DisplayHardwareBase.h
LExtensions.cpp
LExtensions.h
ayer.cpp
ayer.h
ayerBase.cpp
ayerBase.h
ayerBlur.cpp
ayerBlur.h
ayerBuffer.cpp
ayerBuffer.h
ayerDim.cpp
ayerDim.h
ODULE_LICENSE_APACHE2
essageQueue.cpp
essageQueue.h
urfaceFlinger.cpp
urfaceFlinger.h
extureManager.cpp
extureManager.h
ransform.cpp
ransform.h
lz.cpp
lz.h
ests/Android.mk
ests/overlays/Android.mk
ests/overlays/overlays.cpp
ests/resize/Android.mk
ests/resize/resize.cpp
|