OSDN Git Service
Mathias Agopian [Sat, 1 Sep 2012 00:51:25 +0000 (17:51 -0700)]
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
Mathias Agopian [Fri, 31 Aug 2012 23:20:23 +0000 (16:20 -0700)]
minor SharedBuffer clean-up
Change-Id: If38b7ce85806ae628c00f2c938de4e3f75142543
Mathias Agopian [Fri, 31 Aug 2012 22:41:24 +0000 (15:41 -0700)]
Add a way to retrieve a Region as a SharedBuffer
Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
Mathias Agopian [Fri, 31 Aug 2012 21:31:40 +0000 (14:31 -0700)]
change how we store Region data internally
We used to keep the bounds of the region as a
separate rectangle. Instead we now store it as the last
element of the Vector<> of Rects.
This has the benefit of being slightly more efficient when
copying regions and reduces the overhead of small regions,
but more importantly will allow us to export the underlaying
SharedBuffer (eventually).
Change-Id: I80790e4fb1a09a747a5616000cfef852ac4ce9e9
Mathias Agopian [Fri, 31 Aug 2012 19:45:33 +0000 (12:45 -0700)]
don't generate a new Region when translating by 0,0
since regions are copy-on-write, this prevents to
duplicate the region entirely and offseting by 0,0 is
fairly common.
Change-Id: I9b8c286315a2e00dda01c2456397d72b5e12006b
Mathias Agopian [Fri, 31 Aug 2012 21:25:22 +0000 (14:25 -0700)]
make sure Parcel handles 0-sized LightFlatenables
Change-Id: Ib30a1c0228f8a938abaa0c7c8a6ba32ffd971121
Dianne Hackborn [Fri, 31 Aug 2012 21:15:50 +0000 (14:15 -0700)]
No longer need "original calling uid".
Change-Id: Ifc4a89dd088609a5a8553f6ac6553174e09e8222
Jesse Hall [Thu, 30 Aug 2012 20:42:23 +0000 (13:42 -0700)]
If there is no hwc, call eglSwapBuffers for the main display
Bug:
7068568
Change-Id: I6a0309613fe3619d065b9047af6c3fb32b510d97
Jesse Hall [Fri, 31 Aug 2012 19:57:06 +0000 (12:57 -0700)]
Merge "HWC 1.1: hook up hotplug event, use new display config queries" into jb-mr1-dev
Jesse Hall [Wed, 29 Aug 2012 17:47:52 +0000 (10:47 -0700)]
HWC 1.1: hook up hotplug event, use new display config queries
Change-Id: I2fd359e5fc7e1948072c6bc6b6fe47ea5e8025c1
Jamie Gennis [Fri, 31 Aug 2012 01:35:50 +0000 (18:35 -0700)]
SurfaceTexture: fix a few tests
Change-Id: Ic74fe8791361f8fe91ad7149720fafd4cc154ac1
Jamie Gennis [Thu, 30 Aug 2012 20:28:23 +0000 (13:28 -0700)]
libgui: add some error checks
This change adds a few error checks both in the framework and in some tests.
Change-Id: I2baf2676942a0dc15866e75852a775a0091ed16d
Jamie Gennis [Wed, 29 Aug 2012 00:18:50 +0000 (17:18 -0700)]
BufferQueue: add a check for the max acquired bufs
This change adds an error check to ensure that consumers don't acquire more
buffers than the maximum that they set.
Change-Id: I026643564bde52732e4ee6146972b207ddbbba77
Jamie Gennis [Tue, 28 Aug 2012 01:48:37 +0000 (18:48 -0700)]
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
Jamie Gennis [Fri, 31 Aug 2012 01:23:26 +0000 (18:23 -0700)]
Merge "BufferQueue: simplify max buffer count handling" into jb-mr1-dev
Jamie Gennis [Fri, 31 Aug 2012 01:21:10 +0000 (18:21 -0700)]
Merge "BufferQueue: clean up buffer counting" into jb-mr1-dev
Wink Saville [Fri, 31 Aug 2012 00:31:47 +0000 (17:31 -0700)]
Merge "Revert "A vendor ril depends on a native screen shot code."" into jb-mr1-dev
Jesse Hall [Thu, 30 Aug 2012 21:24:52 +0000 (14:24 -0700)]
Merge "Handle new device api version encoding" into jb-mr1-dev
Wink Saville [Thu, 30 Aug 2012 18:53:55 +0000 (11:53 -0700)]
Revert "A vendor ril depends on a native screen shot code."
This reverts commit
9b5782baf0a8a2d7afc7129453beb5df7abe7650.
A new ril for toro, hack no longer needed.
Mathias Agopian [Thu, 30 Aug 2012 00:30:36 +0000 (17:30 -0700)]
fix a crasher when setting a display to a null surface
Bug:
7076303
Change-Id: I843dd4ee4a603b8ad51bc1ad14e429db15050bec
Mathias Agopian [Thu, 30 Aug 2012 00:24:53 +0000 (17:24 -0700)]
Merge "we were sometimes not setting fences properly" into jb-mr1-dev
Mathias Agopian [Wed, 29 Aug 2012 23:59:24 +0000 (16:59 -0700)]
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
Jamie Gennis [Sat, 25 Aug 2012 03:26:34 +0000 (20:26 -0700)]
BufferQueue: simplify max buffer count handling
This change reworks how the maximum buffer count is computed.
Change-Id: I7d3745814b9bd6f6f447f86bfea8eb7729914ebf
Jamie Gennis [Sat, 25 Aug 2012 00:25:13 +0000 (17:25 -0700)]
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
Andreas Huber [Wed, 29 Aug 2012 20:32:15 +0000 (13:32 -0700)]
Merge "initial checkin of a preliminary HDCP API for vendors to implement." into jb-mr1-dev
Andreas Huber [Wed, 29 Aug 2012 20:26:55 +0000 (13:26 -0700)]
initial checkin of a preliminary HDCP API for vendors to implement.
Change-Id: If98277efdec1bc8f1e9f4af1ca73324e4c3d469b
Jesse Hall [Wed, 29 Aug 2012 17:39:38 +0000 (10:39 -0700)]
Handle new device api version encoding
Change-Id: I3d36058bd5d31c23b3cc4a7eb5aa033b6f3c1955
Wink Saville [Tue, 28 Aug 2012 23:22:55 +0000 (16:22 -0700)]
Merge "A vendor ril depends on a native screen shot code." into jb-mr1-dev
Wink Saville [Tue, 28 Aug 2012 23:20:50 +0000 (16:20 -0700)]
A vendor ril depends on a native screen shot code.
Add a temporary shim until the vendor fixes the ril.
Bug:
7073467
Change-Id: Ia95a58bd90677c03406c988d1c29ae785f8662f2
Mathias Agopian [Tue, 28 Aug 2012 21:20:00 +0000 (14:20 -0700)]
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
Mathias Agopian [Tue, 28 Aug 2012 01:54:24 +0000 (18:54 -0700)]
we were not always clearing the screen properly
Change-Id: I269dd866e965aebd9b3c4667095818202982f4a3
Mathias Agopian [Tue, 28 Aug 2012 01:45:34 +0000 (18:45 -0700)]
Merge "Eradicate DisplayID." into jb-mr1-dev
Jeff Brown [Tue, 28 Aug 2012 01:03:45 +0000 (18:03 -0700)]
am
f456d32d: (-s ours) am
d7007cd4: Merge "Forward compatibility patch."
* commit '
f456d32d3c3aea966b5fba43e6d34f72df06c60d':
Forward compatibility patch.
Jeff Brown [Tue, 28 Aug 2012 00:57:26 +0000 (17:57 -0700)]
am
d7007cd4: Merge "Forward compatibility patch."
* commit '
d7007cd4bb2016a09ae8e8f746118f81fdd27f02':
Forward compatibility patch.
Mathias Agopian [Mon, 27 Aug 2012 23:28:24 +0000 (16:28 -0700)]
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
Jeff Brown [Tue, 28 Aug 2012 00:26:05 +0000 (17:26 -0700)]
Merge "Forward compatibility patch."
Jeff Brown [Tue, 28 Aug 2012 00:06:39 +0000 (17:06 -0700)]
Compatibility work around for bad graphics driver dependency.
This is a compatibility shim for one product whose drivers
are depending on SurfaceComposerClient::getDisplayInfo(
int, DisplayInfo*) when it really shouldn't.
Revert this patch when the problem has been resolved.
Bug:
7065398
Change-Id: I6542691b81fd1b1e1d79500a62e82d40a3d51db7
Jeff Brown [Tue, 28 Aug 2012 00:17:08 +0000 (17:17 -0700)]
Merge "Remove unused "layer" argument from show()." into jb-mr1-dev
Jeff Brown [Tue, 28 Aug 2012 00:16:36 +0000 (17:16 -0700)]
Merge "Banish DisplayID from the SurfaceFlinger API." into jb-mr1-dev
Jeff Brown [Mon, 27 Aug 2012 23:12:46 +0000 (16:12 -0700)]
Forward compatibility patch.
Change-Id: I8e8af0c6035aaac5e5097f1cfb198250475627ee
Jeff Brown [Mon, 27 Aug 2012 05:49:35 +0000 (22:49 -0700)]
Remove unused "layer" argument from show().
Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba
Jeff Brown [Sat, 25 Aug 2012 03:00:51 +0000 (20:00 -0700)]
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
Jean-Baptiste Queru [Mon, 27 Aug 2012 15:17:48 +0000 (08:17 -0700)]
am
9801575a: am
908c8ff5: Merge "Fixed clang build error for libgui"
* commit '
9801575a65f2f9d0bdc924ec0a4bbfb6ef071bbe':
Fixed clang build error for libgui
Jean-Baptiste Queru [Mon, 27 Aug 2012 15:15:12 +0000 (08:15 -0700)]
am
908c8ff5: Merge "Fixed clang build error for libgui"
* commit '
908c8ff55482b723eddec54c6308e54a136a3e49':
Fixed clang build error for libgui
Jean-Baptiste Queru [Mon, 27 Aug 2012 14:55:26 +0000 (07:55 -0700)]
Merge "Fixed clang build error for libgui"
Mathias Agopian [Fri, 24 Aug 2012 23:55:29 +0000 (16:55 -0700)]
Revert "put back the unused virtuals in Vector<>"
This reverts commit
1648d4c13ba2eff3ea14cd87ee94028458a39f97.
Bug:
6977192
Change-Id: Idbb6b239aaed4fb1c054ce943f6ba06ede3492bb
Andy McFadden [Fri, 24 Aug 2012 17:16:42 +0000 (10:16 -0700)]
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
Jamie Gennis [Fri, 24 Aug 2012 03:19:38 +0000 (20:19 -0700)]
surfaceflinger: fix display id selection
This change fixes display ID selection so that it never chooses negative
numbers as display IDs.
Change-Id: I5af1acc7b1270b371595e096b18e2a6ad250c7ba
Jamie Gennis [Fri, 24 Aug 2012 18:11:06 +0000 (11:11 -0700)]
Merge "SurfaceTexture: inherit from ConsumerBase (try 2)" into jb-mr1-dev
Andy McFadden [Fri, 24 Aug 2012 17:12:22 +0000 (10:12 -0700)]
Revert "Added display initialization method"
Something doesn't seem right (again).
This reverts commit
53ade0853ca003c9e917b5e7d34e1b1338d7b87d.
Change-Id: Id5786997ca9dd2a447363e8ac95213ea37468504
Andy McFadden [Fri, 24 Aug 2012 00:36:41 +0000 (17:36 -0700)]
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.)
Mathias Agopian [Thu, 23 Aug 2012 00:16:19 +0000 (17:16 -0700)]
teach HWC about multiple displays
Change-Id: I5e72a83d419a729835cb0e1ec45557b4d3fb56b1
Mathias Agopian [Wed, 22 Aug 2012 22:39:48 +0000 (15:39 -0700)]
remove support for HWC < 1.0
Change-Id: If7e676a6e3524afeb9af3875125d2131d95db38b
Mathias Agopian [Wed, 22 Aug 2012 06:34:09 +0000 (23:34 -0700)]
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
Mathias Agopian [Thu, 23 Aug 2012 22:27:09 +0000 (15:27 -0700)]
Merge "simplify further vsync handling" into jb-mr1-dev
Mathias Agopian [Tue, 21 Aug 2012 22:47:28 +0000 (15:47 -0700)]
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
Tareq A. Siraj [Thu, 26 Jul 2012 20:04:24 +0000 (16:04 -0400)]
Fixed clang build error for libgui
Fixed the order of the statements in ANDROID_SINGLETON_STATIC_INSTANCE
macro so that the templated static member variable initialization
comes before the instantiation of the Singleton class. This
fixes the clang compile error.
Change-Id: Ic47d17e152b657f2dff3191ccc3770753fdf002b
Author: Tareq A. Siraj <tareq.a.siraj@intel.com>
Reviewed-by: Edwin Vane <edwin.vane@intel.com>
Jesse Hall [Thu, 23 Aug 2012 16:15:53 +0000 (09:15 -0700)]
Merge "Update for cleanups in hwc interface" into jb-mr1-dev
Ramanan Rajeswaran [Wed, 22 Aug 2012 21:25:48 +0000 (14:25 -0700)]
Merge "Revert "Added display initialization method"" into jb-mr1-dev
Ramanan Rajeswaran [Wed, 22 Aug 2012 21:23:50 +0000 (14:23 -0700)]
Revert "Added display initialization method"
This reverts commit
3f3956236aac97b6aa25fa89f0983d5e9d065fdb
Change-Id: Ia2a15d9a5db88add6019edf9d955cef1f73d432d
Jesse Hall [Tue, 21 Aug 2012 19:05:09 +0000 (12:05 -0700)]
Update for cleanups in hwc interface
Change-Id: I363fd8b085167a1af6c14b68012bda5c62bfe59f
Jesse Hall [Wed, 22 Aug 2012 18:50:00 +0000 (11:50 -0700)]
Pass the correct number of displays based on HWC version
Change-Id: I27372f5d3102ad56f6d67722d631ae18d37f8330
Jamie Gennis [Wed, 22 Aug 2012 00:03:18 +0000 (17:03 -0700)]
ui/Fence: change the TIMEOUT_NEVER value to -1
Change-Id: I3ef0a4c06f80990b53a8bf2eda6edbfcbefd0f34
Eino-Ville Talvala [Tue, 21 Aug 2012 23:46:05 +0000 (16:46 -0700)]
Merge "Add BufferItemConsumer, a simple BufferQueue consumer." into jb-mr1-dev
Jamie Gennis [Wed, 8 Aug 2012 01:03:04 +0000 (18:03 -0700)]
SurfaceTexture: inherit from ConsumerBase (try 2)
This change makes SurfaceTexture inherit from ConsumerBase. It removes all of
the functionality from SurfaceTexture that is now provided by the base class.
This includes fixes for two bugs that were found after checking this change in
the first time and then reverting it.
Change-Id: Ie2d9f4f27cfef26fdac341de3152e842b01a58d2
Eino-Ville Talvala [Tue, 21 Aug 2012 20:37:35 +0000 (13:37 -0700)]
Add BufferItemConsumer, a simple BufferQueue consumer.
BufferItemConsumer allows for acquiring BufferQueue's BufferItems,
which contain all the data and metadata the BufferQueue has for a
given graphics buffer.
This consumer is useful when direct access to the native buffer_handles
is needed by the client.
Also includes a minor cleanup of CpuConsumer's use of 'virtual'.
Bug:
6243944
Change-Id: If7dc4192b15ac499555f1eda42a85140f2434795
Andy McFadden [Mon, 20 Aug 2012 22:39:23 +0000 (15:39 -0700)]
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
Mathias Agopian [Tue, 21 Aug 2012 03:07:34 +0000 (20:07 -0700)]
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
Mathias Agopian [Tue, 21 Aug 2012 00:03:29 +0000 (17:03 -0700)]
put back the unused virtuals in Vector<>
some binaries are using these private APIs and broke
(as they should!) with this change. Temporarily restore the
virtuals to work around this.
Bug:
6977550
Change-Id: I7c37f24b16e4d586b89205c493db5169cf87e024
Mathias Agopian [Mon, 20 Aug 2012 23:48:07 +0000 (16:48 -0700)]
Merge "get rid of mirrorItemAt() which isn't used anywhere" into jb-mr1-dev
Eino-Ville Talvala [Mon, 20 Aug 2012 23:18:10 +0000 (16:18 -0700)]
Merge "CpuConsumer: inherit from ConsumerBase" into jb-mr1-dev
Eino-Ville Talvala [Mon, 20 Aug 2012 22:44:40 +0000 (15:44 -0700)]
CpuConsumer: inherit from ConsumerBase
Change-Id: I55178b1d673ffa0fbc6e63ef47642c64d4d03228
Mathias Agopian [Mon, 20 Aug 2012 21:21:29 +0000 (14:21 -0700)]
get rid of mirrorItemAt() which isn't used anywhere
Change-Id: Id6f2dbeed21cabc127d39538c0ff464077ada83f
Jamie Gennis [Mon, 20 Aug 2012 21:33:23 +0000 (14:33 -0700)]
Merge "Revert "SurfaceTexture: inherit from ConsumerBase"" into jb-mr1-dev
Jamie Gennis [Mon, 20 Aug 2012 21:33:15 +0000 (14:33 -0700)]
Merge "Revert "SurfaceTexture: call ConsumerBase::freeBufferLocked"" into jb-mr1-dev
Jamie Gennis [Mon, 20 Aug 2012 21:28:53 +0000 (14:28 -0700)]
Revert "SurfaceTexture: inherit from ConsumerBase"
This reverts commit
ed059a8d754770c3cf28b78dba30f7a6ba475dbe
Change-Id: I72542c2595771a40c2c88251e0d6eb54e305b99b
Jamie Gennis [Mon, 20 Aug 2012 21:28:21 +0000 (14:28 -0700)]
Revert "SurfaceTexture: call ConsumerBase::freeBufferLocked"
This reverts commit
f8d33c652b930abbfb0722f3a2928cbc2ea71078
Change-Id: I1ff2e1cc85824a8fac1051f573d2931db81af511
Mathias Agopian [Mon, 20 Aug 2012 21:20:17 +0000 (14:20 -0700)]
Merge "Fix deadlock in SF." into jb-mr1-dev
Jamie Gennis [Mon, 20 Aug 2012 19:39:37 +0000 (12:39 -0700)]
Merge "SurfaceTexture: call ConsumerBase::freeBufferLocked" into jb-mr1-dev
Jamie Gennis [Mon, 20 Aug 2012 18:30:44 +0000 (11:30 -0700)]
SurfaceTexture: call ConsumerBase::freeBufferLocked
This change fixes SurfaceTexture::freeBufferLocked so that it calls the base
class implementation.
Change-Id: I45d76fb2eb02c1fa6e4e917823ead83e2086bd15
Jean-Baptiste Queru [Mon, 20 Aug 2012 17:22:33 +0000 (10:22 -0700)]
resolved conflicts for merge of
21938749 to jb-mr1-dev
Change-Id: I17da10797736f3772a143e2015fe25df0bb3eb3f
Jean-Baptiste Queru [Mon, 20 Aug 2012 16:42:32 +0000 (09:42 -0700)]
am
6e820eec: am
6f89ebde: Merge "EGL: do not use sparse files for shader"
* commit '
6e820eec21917f8e25c40dbc8b972468535af0e8':
EGL: do not use sparse files for shader
Jean-Baptiste Queru [Mon, 20 Aug 2012 16:40:11 +0000 (09:40 -0700)]
am
349149b5: Merge "Fix error trap in SurfaceTexture Client"
* commit '
349149b52a424c212e33d165bc146bc0337ea4c4':
Fix error trap in SurfaceTexture Client
Jean-Baptiste Queru [Mon, 20 Aug 2012 16:40:11 +0000 (09:40 -0700)]
am
6f89ebde: Merge "EGL: do not use sparse files for shader"
* commit '
6f89ebded650406818b5fc5e9eaf096a06a2798c':
EGL: do not use sparse files for shader
Jean-Baptiste Queru [Mon, 20 Aug 2012 15:55:04 +0000 (08:55 -0700)]
Merge "Fix error trap in SurfaceTexture Client"
Jean-Baptiste Queru [Mon, 20 Aug 2012 15:54:42 +0000 (08:54 -0700)]
Merge "EGL: do not use sparse files for shader"
Mathias Agopian [Fri, 17 Aug 2012 22:06:02 +0000 (15:06 -0700)]
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
Jamie Gennis [Fri, 17 Aug 2012 22:35:17 +0000 (15:35 -0700)]
Merge "SurfaceTexture: inherit from ConsumerBase" into jb-mr1-dev
Mathias Agopian [Thu, 16 Aug 2012 23:28:27 +0000 (16:28 -0700)]
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
Mathias Agopian [Sat, 11 Aug 2012 01:50:38 +0000 (18:50 -0700)]
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
Mathias Agopian [Fri, 17 Aug 2012 03:57:39 +0000 (20:57 -0700)]
display states can't share the dirty flags
Change-Id: Ifade9f2f1a0df9a36aede77a6cf5eee4be534f98
Mathias Agopian [Fri, 17 Aug 2012 03:52:17 +0000 (20:52 -0700)]
binder interfaces can't be compared directly
we always need to compare their binder
Change-Id: I70d554ebc5009fe81e87923235f91451f32e1a30
Jamie Gennis [Wed, 8 Aug 2012 01:03:04 +0000 (18:03 -0700)]
SurfaceTexture: inherit from ConsumerBase
This change makes SurfaceTexture inherit from ConsumerBase. It removes all of
the functionality from SurfaceTexture that is now provided by the base class.
Change-Id: I4a881df42810a14ee32d4ef7c8772a8f2510f4c7
Siva Velusamy [Thu, 16 Aug 2012 23:26:59 +0000 (16:26 -0700)]
Merge "gltrace: flush trace buffer on createContext & makeCurrent" into jb-mr1-dev
Siva Velusamy [Thu, 16 Aug 2012 21:41:20 +0000 (14:41 -0700)]
gltrace: flush trace buffer on createContext & makeCurrent
Certain apps (e.g. chrome) seem to create contexts which are unused
for long periods of time. If tracing is stopped before those contexts
are used, then the debugger never gets to know that these contexts
were created. Flushing the trace after these calls ensures that
the debugger knows about all created/used contexts.
Change-Id: I01baa11aa56ac89eddce3c2851e4bf01076984d1
Mathias Agopian [Wed, 15 Aug 2012 23:14:33 +0000 (16:14 -0700)]
oopsie, missed a spot when fixing b/
6970310
Change-Id: Ia320fddc7cc4b0666a4fee678af710ecf5f83ff5
Mathias Agopian [Wed, 15 Aug 2012 20:46:03 +0000 (13:46 -0700)]
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
Jeff Brown [Sat, 28 Jul 2012 01:07:41 +0000 (18:07 -0700)]
Use new PowerManager API.
Change-Id: I66165d9954e2d1da9204216382a05a873f1393f4
Jeff Brown [Wed, 15 Aug 2012 08:08:54 +0000 (01:08 -0700)]
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
Jesse Hall [Mon, 13 Aug 2012 21:47:01 +0000 (14:47 -0700)]
Don't crash when recovering from WM death
Bug:
6956162
Change-Id: I27244b960c77187b4c4cd7297989c4c872e94a3a