1495ceb88594bf3c5963ef65ee12953dc0354546 |
|
08-Aug-2014 |
Jesse Hall <jessehall@google.com> |
surfaceflinger: fix -Wmismatched-tags warnings warning: struct 'HWComposer' was previously declared as a class [-Wmismatched-tags] warning: class 'DisplayInfo' was previously declared as a struct [-Wmismatched-tags] Change-Id: I13db9f8aab3a957ce8ff8d64598dae1807d6fe7e (cherry picked from commit 646f54105018e99ef4a30ee41f01f7d1ab66c38e)
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
6c9e34a98a63033b80bd1c24c7aa1304f912f10a |
|
14-Jul-2014 |
Michael Lentine <mlentine@google.com> |
Modified SurfaceFlinger to implment setActiveConfig and getActiveConfig. This can be used to change the current display mode of the device. Change-Id: Icdc3fb58389b861dc77b68102083da6f7a96eccb Tested: None (cherry picked from commit 2651fa94635a96d653038fb389a0dd827338f8d3)
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
03414a1cfe6c1222fd7723949bd622f9cba145aa |
|
01-Jul-2014 |
Riley Andrews <riandrews@google.com> |
Turn on support for async cursor update in surfaceflinger. If available, surfaceflinger will use the hwc setCursorPositionAsync() api to change the position of supported cursor layers outside of the usual prepare/set loop. Change-Id: Ib3fc5c0c390b3489ddbba202379840a1d2748917
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
2c9b11f0291210c9b9513a1a0cce6afebd361b3b |
|
25-May-2014 |
Prashant Malani <pmalani@google.com> |
surfaceflinger: Replace blank/unblank with setPowerMode We replace the blank/unblank calls in surfaceFlinger with a more generic setPowerMode() routine. Some displays support different power modes (for example, with reduced color palettes). Depending on the use case we should be able to toggle these modes, so as to achieve incremental power savings. Initially, three power modes will be supported: - HWC_POWER_MODE_OFF - HWC_POWER_MODE_DOZE - HWC_POWER_MODE_NORMAL HWC_POWER_MODE_OFF will correspond to blanking the display, while HWC_POWER_MODE_NORMAL will correspond to unblanking. HWC_POWER_MODE_DOZE will put the display into a low power setting, if it is supported in hardware. If such a low power mode is not supported, it should be treated as a call to set the mode to HWC_POWER_MODE_NORMAL. As a consequence of adding the mPowerMode field, the mScreenAcquired is no longer required, and thus references to it are removed and replaced equivalent references to mPowerMode. We also add the glue code to connect the services invocation of setting a power mode and the HAL implementation in HWComposer. Bug: 13472578 Change-Id: I431595ecf16d2f2c94259272db3dd42f29636204 Signed-off-by: Prashant Malani <pmalani@google.com>
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
dd02391756dff240c178f7cba21d73d62821007e |
|
06-May-2014 |
Dan Stoza <stoza@google.com> |
Merge "Enable changing display configuration"
|
7f7da32569f8e0b3d383a40b95f8ac1d55afd801 |
|
03-May-2014 |
Dan Stoza <stoza@google.com> |
Enable changing display configuration This allows querying and switching display device configurations through the ISurfaceComposer/SurfaceComposerClient interface. Bug: 14320401 Change-Id: I8c22165698950e5da32204c1c4da92122f91a715
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
41d67d7ab4da1c393497a620a116a854b3c618e7 |
|
26-Apr-2014 |
Andy McFadden <fadden@android.com> |
Improve SurfaceFlinger PTS estimation Get the next refresh time from DispSync instead of guessing based on the current time. Change-Id: I8dc72a3217bfd4e9b4c905034194d1a298cad69a
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
399184a4cd728ea1421fb0bc1722274a29e38f4a |
|
04-Mar-2014 |
Jesse Hall <jessehall@google.com> |
Add sideband streams to BufferQueue and related classes Sideband streams are essentially a device-specific buffer queue that bypasses the BufferQueue system. They can be used for situations with hard real-time requirements like high-quality TV and video playback with A/V sync. A handle to the stream is provided by the source HAL, and attached to a BufferQueue. The sink HAL can read buffers via the stream handle rather than acquiring individual buffers from the BufferQueue. Change-Id: Ib3f262eddfc520f4bbe3d9b91753ed7dd09d3a9b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
bef42c50ebda2d63400f92611e1dd857c03bb38c |
|
22-Aug-2013 |
Mathias Agopian <mathias@google.com> |
handle several vsync signal correctly Change-Id: I34935d2197ce8e914fef2f110896e47b44225ad2
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
9e663de4fe1dcc872373ee530c60a375624671c3 |
|
16-Aug-2013 |
Jesse Hall <jessehall@google.com> |
Use new HWC display type/count constants. Change-Id: I774d0c68906ac6dc69268f708c30a6b0868b8816
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
6b44267a3beb457e220cad0666c039d3a765cdb2 |
|
10-Jul-2013 |
Mathias Agopian <mathias@google.com> |
fix SF buffer cropping When a buffer had a crop (meaning its content is scaled to the window size) and a window crop was defined, the resulting crop couldn't be expressed properly because h/w composer's API was limited to integers, since this is fixed in h/w composer 1.3, we take adventage of this to make sure we get the correct crop. this bug could result in the buffer being scaled by an incorrect ratio and be slightly offset; moreover, it would produce different results from the GL code path, which is always correct. Change-Id: I8e20e00b6e26177d14f4ab4d2cd581e26c818892
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
74d211ae26a0257c6075a823812e40b55aa1e653 |
|
22-Apr-2013 |
Mathias Agopian <mathias@google.com> |
clean-up/simplify all dump() APIs remove the scratch buffer parameter and use String8::appendFormat() instead. Change-Id: Ib96c91617c8e7292de87433d15cf6232b7d591b0
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
1c569c4d45f89ec05abf8f8fe3a560e68bf39a8e |
|
05-Apr-2013 |
Jesse Hall <jessehall@google.com> |
Tell HWComposer the dimensions of virtual displays HWComposer queries the HWC for dimensions of physical displays, but can't do that for virtual displays. The dimensions are used to set the display frame of the framebuffer target layer passed to HWC, and implicitly the dimensions of the virtual display. Bug: 8316155 Change-Id: I9cbd2530d2fa878f86128a1472def520b5d694a5
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
851cfe834295224cd64bdd499872b95b19c4de8c |
|
20-Mar-2013 |
Jesse Hall <jessehall@google.com> |
Isolate knowledge that fb target == output buffer HWComposer didn't allow the virtual display output buffer to be set directly, instead it always used the framebuffer target buffer. DisplayDevice was only providing the framebuffer release fence to DisplaySurfaces after a commit. This change fixes both of these, so both HWComposer and DisplayDevice should continue to work if VirtualDisplaySurface changes to use separate framebuffer and output buffers. It's also more correct since VirtualDisplaySurface uses the correct release fence when queueing the buffer to the sink. Bug: 8384764 Change-Id: I95c71e8d4f67705e23f122259ec8dd5dbce70dcf
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
13f01cbdbd34779a234bc674df79e23672fd5c0b |
|
20-Mar-2013 |
Jesse Hall <jessehall@google.com> |
Pass sp<Fence>s around instead of file descriptors Change-Id: Iac70584a2207940730e8f803a543e4e9a4000c47
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
ef64b75a936ffd194673dbce6766995f86b42ba9 |
|
18-Mar-2013 |
Jesse Hall <jessehall@google.com> |
Don't log an error on HWC1.1+ devices with no FB HAL Change-Id: I015e5a1a1f926181e51f82525f69beff71bd70cd
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
80e0a397a4712666661ecc629a64ec26e7f6aac3 |
|
15-Mar-2013 |
Jesse Hall <jessehall@google.com> |
Add BufferQueueInterposer and use it for virtual displays BufferQueueInterposer allows a client to tap into a IGraphicBufferProducer-based buffer queue, and modify buffers as they pass from producer to consumer. VirtualDisplaySurface uses this to layer HWC composition on top of GLES composition before passing the buffer to the virtual display consumer. Bug: 8384764 Change-Id: I61ae54f3d90de6a35f4f02bb5e64e7cc88e1cb83
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
13127d8921356dff794250e04208c3ed60b3a3df |
|
06-Mar-2013 |
Mathias Agopian <mathias@google.com> |
Get rid of LayerBase. The functionality of LayerBase and Layer is folded into Layer. There wasn't a need for this abstraction anymore. Change-Id: I66511c08cc3d89009ba4deabf47e26cd4cfeaefb
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
a9a1b006e48320f5c501473e51e6c4a5f7a17b88 |
|
28-Feb-2013 |
Jesse Hall <jessehall@google.com> |
Initialize DisplayData fences to NO_FENCE, not NULL Also fix another place that was checking for NULL fence rather than Fence::isValid(). Bug 8283950 Change-Id: Ie06db327eb416828d8dac139171d96d4470b2e35
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
9f8386e1118c10dd4927f62637ec7162569bdbdc |
|
30-Jan-2013 |
Mathias Agopian <mathias@google.com> |
Add support for plane-alpha in HWC Change-Id: I218e7dd5f23de535aabce61e993002ab6cb46cdd
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
51d22007386f171e1c696786ddce957e78fc4a03 |
|
14-Jan-2013 |
Jesse Hall <jessehall@google.com> |
Remove unused HWCLayer::setPerFrameDefaultState() Bug: 7977590 Change-Id: Ic49c4e38ef2ee6beaeb268c406347c882135bdf0
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
e64b38fad2cc6686fb6691aaf65c735f505a49a5 |
|
20-Nov-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceFlinger: track the HWC retire fences"
|
2ec3e0748bff8d75baade2ddda9fbfa21a3b7d3f |
|
12-Nov-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: track the HWC retire fences This change adds functionality to the HWComposer class to track the retire fences returned by each hwc set call. It adds the HWComposer::getDisplayFence method to allow other parts of SurfaceFlinger to get a fence that will signal when the most recent flip takes effect on a display. Change-Id: I676e0f98440fc58ed70908aa1a1e2ee3e7bf9eb2
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
ee932d0ad1a16cc93b4bd9eaf9cb3cc756fb2dfc |
|
14-Nov-2012 |
Mathias Agopian <mathias@google.com> |
Reset compositionType to HWC_FRAMEBUFFER before calling prepare() Honor the documentation. this broke in JB-MR1. Change-Id: I841a93b409fc940374bc748c4e143d82a192669c
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
cb55857bbde34a06c19dde3db5064d1717a0173e |
|
05-Oct-2012 |
Mathias Agopian <mathias@google.com> |
fix dumpsys Layer name when using multiple displays Bug: 7288401 Change-Id: I14beeef58fac5270cef3b611e18c163060efe6c3
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
f5a33928349bebc8eebc9f466618997e98c24e68 |
|
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
we now correctly set-up connected screens during boot Change-Id: Ie8b1a3b97ad1821cc970e43abe96c8cec7135b66
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
148994e5f33ce240ff24ceb5bc0500b7f2001959 |
|
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
We now report hotplug events to the framework Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
da27af9832a0170f1fc40ef3f21371c4d30d21b3 |
|
14-Sep-2012 |
Mathias Agopian <mathias@google.com> |
add support hwc 1.1 Bug: 7124069 Change-Id: I53d705105c4ad8954d3f50ee4f4c8b7ec936b871
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
1bd20e0f9ecd27cc5ad2bdf08b01837ecc10c357 |
|
29-Aug-2012 |
Jesse Hall <jessehall@google.com> |
HWC 1.1: hook up hotplug event, use new display config queries Change-Id: I2fd359e5fc7e1948072c6bc6b6fe47ea5e8025c1
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
f435863467ab407f2a482604beed5fa6f0144c62 |
|
23-Aug-2012 |
Mathias Agopian <mathias@google.com> |
teach HWC about multiple displays Change-Id: I5e72a83d419a729835cb0e1ec45557b4d3fb56b1
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
30bcc61431d8e3bef779472dd52a7b156dcaba09 |
|
23-Aug-2012 |
Mathias Agopian <mathias@google.com> |
remove support for HWC < 1.0 Change-Id: If7e676a6e3524afeb9af3875125d2131d95db38b
/frameworks/native/services/surfaceflinger/DisplayHardware/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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
bbd164a3c790a0649dffd2f015e6f47692c72e1c |
|
21-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Update for cleanups in hwc interface Change-Id: I363fd8b085167a1af6c14b68012bda5c62bfe59f
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
8f971ff6661c875e7adb3f14731e1579c3c80c62 |
|
22-Aug-2012 |
Jesse Hall <jessehall@google.com> |
Pass the correct number of displays based on HWC version Change-Id: I27372f5d3102ad56f6d67722d631ae18d37f8330
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
8b736f138cfd9b239a2c7073347a13c489534ae1 |
|
14-Aug-2012 |
Mathias Agopian <mathias@google.com> |
xdpi / ydpi were reported as 0 Bug: 6975723 Change-Id: Ia7fa37ec11e2308804f5034959a37e508d292d31
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
b685c542836b93c99cd85053e07696406ea37adb |
|
31-Jul-2012 |
Jesse Hall <jessehall@google.com> |
Changes to support multi-display HWC Change-Id: I07efff54f2980dcb013935747b03e099b8f1181b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
03e407270c7ad76632f982c886d0776bed9e9b4c |
|
27-Apr-2012 |
Mathias Agopian <mathias@google.com> |
set vsync power hint Change-Id: I28c2faf9ff584df3e74392712971cbcf75eb9e98
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
e2c4f4ec23b735dd2a03f4ea8b08b288a1bb04e8 |
|
11-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Added vsync debugging information in dumpsys log Change-Id: I20ef05a73d89caaf6a70dc9ca25ada6e6a1f6ff9
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
2965b26022f95051f65b09d7eac47cbe923855c9 |
|
09-Apr-2012 |
Mathias Agopian <mathias@google.com> |
VSYNC handling cleanup Change-Id: I1376bf864c4e03c11fb6d1333a8b7cfdda08c9e4
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
31d2843b45ebdb69ec3355111b7567363fd2a6b7 |
|
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Add HWC vsync hook. Currently unused. Change-Id: I849d56f375813a044c5e2d0b25f791476a60fa01
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
22da60c3e64cd57535cbba063c07127814a2b52f |
|
09-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Improve SF dumpsys output wrt HWC Change-Id: Ibdb7930fa3b521bfd3f44750ed98cfd75f9a01fe
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
8372785879d329f592f6883620b5a32d80d74691 |
|
24-Sep-2010 |
Mathias Agopian <mathias@google.com> |
dump HWC state in dumpsys Change-Id: Ifbb38ca1ac9685776250e01c8d02021b35af72cf
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
f5f2712854599b4970643c6000fe6ae950a08ba9 |
|
09-Sep-2010 |
Antti Hatala <ahatala@nvidia.com> |
surfaceflinger: give hwcomposer a chance to release buffers Change-Id: I605fa779702022865dd58df3b36f37c2644ade36
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
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
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|
a350ff98692b3a50cad5cc93f9f83221242ca86a |
|
11-Aug-2010 |
Mathias Agopian <mathias@google.com> |
call into hwcomposer HAL when present Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h
|