OSDN Git Service

android-x86/frameworks-native.git
11 years agoReduce failure uncertainty
Andy McFadden [Tue, 11 Sep 2012 22:15:13 +0000 (15:15 -0700)]
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: 71455217147557
Change-Id: I548f6a9caa9f0bd5710aaecea0e1c6c7c8f2f281

11 years agoReshuffle FramebufferSurface
Andy McFadden [Mon, 10 Sep 2012 21:08:09 +0000 (14:08 -0700)]
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

11 years agoAdd stack dump from drmserver process to bugreports
James Dong [Mon, 10 Sep 2012 23:08:48 +0000 (16:08 -0700)]
Add stack dump from drmserver process to bugreports

This would be helpful tracking down ANR issues in drmserver

o related-to-bug: 7132419

Change-Id: I7eceaa0c29af26bd0092110be6bddf8f4c063545

11 years agoSurfaceTexture: use eglWaitSync
Jamie Gennis [Mon, 10 Sep 2012 00:48:42 +0000 (17:48 -0700)]
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

11 years agoEGL: Add the EGL_ANDROID_wait_sync extension
Jamie Gennis [Mon, 10 Sep 2012 00:46:17 +0000 (17:46 -0700)]
EGL: Add the EGL_ANDROID_wait_sync extension

Change-Id: Ie9a78e07fcaf27c5c13797141ad3c692217607fb

11 years agoMerge "SurfaceTexture: use EGL-created native fences" into jb-mr1-dev
Jamie Gennis [Sun, 9 Sep 2012 20:00:16 +0000 (13:00 -0700)]
Merge "SurfaceTexture: use EGL-created native fences" into jb-mr1-dev

11 years agoSurfaceTexture: use EGL-created native fences
Jamie Gennis [Thu, 6 Sep 2012 21:54:19 +0000 (14:54 -0700)]
SurfaceTexture: use EGL-created native fences

This change adds support for using Android fences that come from EGLSyncKHR
objects as the release fence for a buffer.

Change-Id: Ice192ce2ec001020f909a2018afdf0f17b24dec9

11 years agoEnsure that viewport and frame are initialized.
Jeff Brown [Sun, 9 Sep 2012 07:07:17 +0000 (00:07 -0700)]
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

11 years agoFix display projection.
Jeff Brown [Fri, 7 Sep 2012 19:55:10 +0000 (12:55 -0700)]
Fix display projection.

Change-Id: I0f253dc3759b99e05ff8344b0f513d8c289702e7

11 years agolibgui: move fence handling into ConsumerBase
Jamie Gennis [Thu, 6 Sep 2012 03:09:05 +0000 (20:09 -0700)]
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

11 years agoEGL: add the native_fence_sync extension
Jamie Gennis [Thu, 6 Sep 2012 21:52:00 +0000 (14:52 -0700)]
EGL: add the native_fence_sync extension

This change adds support for the EGL_ANDROID_native_fence_sync extension to the
Android EGL layer.  It also fixes a couple minor issues with the extension spec.

Change-Id: Ic8829d21f37b701f33aa9c72c3d25e88e03fa3cd

11 years agoEGL_ANDROID_native_fence_sync: fix the version
Jamie Gennis [Thu, 6 Sep 2012 02:45:44 +0000 (19:45 -0700)]
EGL_ANDROID_native_fence_sync: fix the version

Change-Id: Ib43b8fec8f37bb847d7bcdbf7607fd56f19a0563

11 years agofix a problem where all hwc layers would have the SKIP flags set
Mathias Agopian [Wed, 5 Sep 2012 23:00:56 +0000 (16:00 -0700)]
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

11 years agoMerge "Always reset layer acquireFenceFd after commit" into jb-mr1-dev
Jesse Hall [Wed, 5 Sep 2012 20:54:52 +0000 (13:54 -0700)]
Merge "Always reset layer acquireFenceFd after commit" into jb-mr1-dev

11 years agoMerge "EGL_ANDROID_fence_sync: make it more generic" into jb-mr1-dev
Jamie Gennis [Wed, 5 Sep 2012 20:48:50 +0000 (13:48 -0700)]
Merge "EGL_ANDROID_fence_sync: make it more generic" into jb-mr1-dev

11 years agoAlways reset layer acquireFenceFd after commit
Jesse Hall [Wed, 5 Sep 2012 20:03:10 +0000 (13:03 -0700)]
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

11 years agominor cleanup
Mathias Agopian [Wed, 5 Sep 2012 04:04:09 +0000 (21:04 -0700)]
minor cleanup

Change-Id: Ied80e14878e92a506930f7a5a55adde8f260ec70

11 years agoMerge "display projection API now has a single function instead of 3" into jb-mr1-dev
Mathias Agopian [Wed, 5 Sep 2012 03:27:48 +0000 (20:27 -0700)]
Merge "display projection API now has a single function instead of 3" into jb-mr1-dev

11 years agothe visibleRegion was never set in hwcomposer
Mathias Agopian [Wed, 5 Sep 2012 03:25:39 +0000 (20:25 -0700)]
the visibleRegion was never set in hwcomposer

Bug: 7089478
Change-Id: I13b031b23ce908d33f431a04e1cf87831b551260

11 years agoEGL_ANDROID_fence_sync: make it more generic
Jamie Gennis [Wed, 5 Sep 2012 02:49:51 +0000 (19:49 -0700)]
EGL_ANDROID_fence_sync: make it more generic

This change updates the extension spec to refer to generic "native fence sync
objects" rather than "Android fence sync objects."

Change-Id: I15a79f08571586431845b54c58c8420b652f40ef

11 years agodisplay projection API now has a single function instead of 3
Mathias Agopian [Wed, 5 Sep 2012 02:30:46 +0000 (19:30 -0700)]
display projection API now has a single function instead of 3

Change-Id: I9bf46d372b77d547486d4bbe6f1953ec8c65e98f

11 years agoimplement display viewport and frame
Mathias Agopian [Tue, 4 Sep 2012 22:05:38 +0000 (15:05 -0700)]
implement display viewport and frame

note: viewport clipping is not implemented yet

Change-Id: I7fde7c4de075d409d95c48bb20ba8ee017f6f00a

11 years agoMerge "BufferQueue: add a setMaxAcquiredBufferCount check" into jb-mr1-dev
Jamie Gennis [Tue, 4 Sep 2012 21:58:50 +0000 (14:58 -0700)]
Merge "BufferQueue: add a setMaxAcquiredBufferCount check" into jb-mr1-dev

11 years agoMerge "libgui: add BufferQueue test infrastructure" into jb-mr1-dev
Jamie Gennis [Tue, 4 Sep 2012 21:55:58 +0000 (14:55 -0700)]
Merge "libgui: add BufferQueue test infrastructure" into jb-mr1-dev

11 years agoMerge "libgui: disable CpuConsumer tests" into jb-mr1-dev
Jamie Gennis [Tue, 4 Sep 2012 21:55:37 +0000 (14:55 -0700)]
Merge "libgui: disable CpuConsumer tests" into jb-mr1-dev

11 years agoMerge "Add support for "-rtl" in resources" into jb-mr1-dev
Fabrice Di Meglio [Tue, 4 Sep 2012 21:55:02 +0000 (14:55 -0700)]
Merge "Add support for "-rtl" in resources" into jb-mr1-dev

11 years agoBufferQueue: add a setMaxAcquiredBufferCount check
Jamie Gennis [Fri, 31 Aug 2012 01:36:22 +0000 (18:36 -0700)]
BufferQueue: add a setMaxAcquiredBufferCount check

This change adds a check to verify the validity of the value passed to
setMaxAcquiredBufferCount.

Change-Id: I39730557aa58261e678bd6e4fce11bab78e98362

11 years agoMerge "Add timeout when waiting for HW vsync" into jb-mr1-dev
Andy McFadden [Tue, 4 Sep 2012 16:38:39 +0000 (09:38 -0700)]
Merge "Add timeout when waiting for HW vsync" into jb-mr1-dev

11 years agoadd libsurfaceflinger_ddmconnection for PDK build
Keun young Park [Fri, 31 Aug 2012 17:53:36 +0000 (10:53 -0700)]
add libsurfaceflinger_ddmconnection for PDK build

- the library is dlopened from libsurfaceflinger
- the library built only when libnativehelper exists

Bug: 7089510
Change-Id: Ib3ea1029d7e8f6e055f4b759d0bf68f5123fa8a1

11 years agothe visible region sent to HWC was garbage
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

11 years agominor SharedBuffer clean-up
Mathias Agopian [Fri, 31 Aug 2012 23:20:23 +0000 (16:20 -0700)]
minor SharedBuffer clean-up

Change-Id: If38b7ce85806ae628c00f2c938de4e3f75142543

11 years agoAdd a way to retrieve a Region as a SharedBuffer
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

11 years agochange how we store Region data internally
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

11 years agodon't generate a new Region when translating by 0,0
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

11 years agomake sure Parcel handles 0-sized LightFlatenables
Mathias Agopian [Fri, 31 Aug 2012 21:25:22 +0000 (14:25 -0700)]
make sure Parcel handles 0-sized LightFlatenables

Change-Id: Ib30a1c0228f8a938abaa0c7c8a6ba32ffd971121

11 years agolibgui: add BufferQueue test infrastructure
Jamie Gennis [Fri, 31 Aug 2012 22:32:45 +0000 (15:32 -0700)]
libgui: add BufferQueue test infrastructure

This change adds some infrastructure for testing the BufferQueue class.  It
also includes a test that tests the new check in BufferQueue::acquireBuffer
that prevents the consumer from acquiring more than one buffer beyond the max
acquired buffer count that was set.

Change-Id: I38554ad3f9a53d2ddeba7ef0deee35ec2e2f9775

11 years agoAdd timeout when waiting for HW vsync
Andy McFadden [Thu, 30 Aug 2012 23:34:41 +0000 (16:34 -0700)]
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

11 years agolibgui: disable CpuConsumer tests
Jamie Gennis [Fri, 31 Aug 2012 21:44:50 +0000 (14:44 -0700)]
libgui: disable CpuConsumer tests

This change disables the CpuConsumer tests because they require a Gralloc
format that is not supported on all devices.

Change-Id: Ifaa618062c1dae53d9fcb9e16ba92c480d3dbd0c

11 years agoNo longer need "original calling uid".
Dianne Hackborn [Fri, 31 Aug 2012 21:15:50 +0000 (14:15 -0700)]
No longer need "original calling uid".

Change-Id: Ifc4a89dd088609a5a8553f6ac6553174e09e8222

11 years agoIf there is no hwc, call eglSwapBuffers for the main display
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

11 years agoMerge "HWC 1.1: hook up hotplug event, use new display config queries" into jb-mr1-dev
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

11 years agoHWC 1.1: hook up hotplug event, use new display config queries
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

11 years agoSurfaceTexture: fix a few tests
Jamie Gennis [Fri, 31 Aug 2012 01:35:50 +0000 (18:35 -0700)]
SurfaceTexture: fix a few tests

Change-Id: Ic74fe8791361f8fe91ad7149720fafd4cc154ac1

11 years agolibgui: add some error checks
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

11 years agoBufferQueue: add a check for the max acquired bufs
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

11 years agoBufferQueue: use max acquired buffer count
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

11 years agoMerge "BufferQueue: simplify max buffer count handling" into jb-mr1-dev
Jamie Gennis [Fri, 31 Aug 2012 01:23:26 +0000 (18:23 -0700)]
Merge "BufferQueue: simplify max buffer count handling" into jb-mr1-dev

11 years agoMerge "BufferQueue: clean up buffer counting" 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

11 years agoMerge "Revert "A vendor ril depends on a native screen shot code."" 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

11 years agoMerge "Handle new device api version encoding" 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

11 years agoRevert "A vendor ril depends on a native screen shot code."
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.

11 years agofix a crasher when setting a display to a null surface
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

11 years agoMerge "we were sometimes not setting fences properly" into jb-mr1-dev
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

11 years agowe were sometimes not setting fences properly
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

11 years agoBufferQueue: simplify max buffer count handling
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

11 years agoBufferQueue: clean up buffer counting
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

11 years agoMerge "initial checkin of a preliminary HDCP API for vendors to implement." into...
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

11 years agoinitial checkin of a preliminary HDCP API for vendors to implement.
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

11 years agoHandle new device api version encoding
Jesse Hall [Wed, 29 Aug 2012 17:39:38 +0000 (10:39 -0700)]
Handle new device api version encoding

Change-Id: I3d36058bd5d31c23b3cc4a7eb5aa033b6f3c1955

11 years agoMerge "A vendor ril depends on a native screen shot code." into jb-mr1-dev
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

11 years agoA vendor ril depends on a native screen shot code.
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

11 years agothe layer list per display could contain non-visible layers
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

11 years agowe were not always clearing the screen properly
Mathias Agopian [Tue, 28 Aug 2012 01:54:24 +0000 (18:54 -0700)]
we were not always clearing the screen properly

Change-Id: I269dd866e965aebd9b3c4667095818202982f4a3

11 years agoMerge "Eradicate DisplayID." into jb-mr1-dev
Mathias Agopian [Tue, 28 Aug 2012 01:45:34 +0000 (18:45 -0700)]
Merge "Eradicate DisplayID." into jb-mr1-dev

11 years agoam f456d32d: (-s ours) am d7007cd4: Merge "Forward compatibility patch."
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.

11 years agoam d7007cd4: Merge "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.

11 years agoEradicate DisplayID.
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

11 years agoMerge "Forward compatibility patch."
Jeff Brown [Tue, 28 Aug 2012 00:26:05 +0000 (17:26 -0700)]
Merge "Forward compatibility patch."

11 years agoCompatibility work around for bad graphics driver dependency.
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

11 years agoMerge "Remove unused "layer" argument from show()." into jb-mr1-dev
Jeff Brown [Tue, 28 Aug 2012 00:17:08 +0000 (17:17 -0700)]
Merge "Remove unused "layer" argument from show()." into jb-mr1-dev

11 years agoMerge "Banish DisplayID from the SurfaceFlinger API." 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

11 years agoForward compatibility patch.
Jeff Brown [Mon, 27 Aug 2012 23:12:46 +0000 (16:12 -0700)]
Forward compatibility patch.

Change-Id: I8e8af0c6035aaac5e5097f1cfb198250475627ee

11 years agoRemove unused "layer" argument from show().
Jeff Brown [Mon, 27 Aug 2012 05:49:35 +0000 (22:49 -0700)]
Remove unused "layer" argument from show().

Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba

11 years agoBanish DisplayID from the SurfaceFlinger API.
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

11 years agoam 9801575a: am 908c8ff5: Merge "Fixed clang build error for libgui"
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

11 years agoam 908c8ff5: Merge "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

11 years agoMerge "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"

11 years agoRevert "put back the unused virtuals in Vector<>"
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

11 years agoAdded display initialization method
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

11 years agosurfaceflinger: fix display id selection
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

11 years agoMerge "SurfaceTexture: inherit from ConsumerBase (try 2)" into jb-mr1-dev
Jamie Gennis [Fri, 24 Aug 2012 18:11:06 +0000 (11:11 -0700)]
Merge "SurfaceTexture: inherit from ConsumerBase (try 2)" into jb-mr1-dev

11 years agoRevert "Added display initialization method"
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

11 years agoAdded display initialization method
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.)

11 years agoteach HWC about multiple displays
Mathias Agopian [Thu, 23 Aug 2012 00:16:19 +0000 (17:16 -0700)]
teach HWC about multiple displays

Change-Id: I5e72a83d419a729835cb0e1ec45557b4d3fb56b1

11 years agoremove support for HWC < 1.0
Mathias Agopian [Wed, 22 Aug 2012 22:39:48 +0000 (15:39 -0700)]
remove support for HWC < 1.0

Change-Id: If7e676a6e3524afeb9af3875125d2131d95db38b

11 years agoHWComposer now has its own concept of display IDs
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

11 years agoMerge "simplify further vsync handling" into jb-mr1-dev
Mathias Agopian [Thu, 23 Aug 2012 22:27:09 +0000 (15:27 -0700)]
Merge "simplify further vsync handling" into jb-mr1-dev

11 years agosimplify further vsync handling
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

11 years agoFixed clang build error for libgui
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>
11 years agoMerge "Update for cleanups in hwc interface" into jb-mr1-dev
Jesse Hall [Thu, 23 Aug 2012 16:15:53 +0000 (09:15 -0700)]
Merge "Update for cleanups in hwc interface" into jb-mr1-dev

11 years agoMerge "Revert "Added display initialization method"" 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

11 years agoRevert "Added display initialization method"
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

11 years agoUpdate for cleanups in hwc interface
Jesse Hall [Tue, 21 Aug 2012 19:05:09 +0000 (12:05 -0700)]
Update for cleanups in hwc interface

Change-Id: I363fd8b085167a1af6c14b68012bda5c62bfe59f

11 years agoPass the correct number of displays based on HWC version
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

11 years agoui/Fence: change the TIMEOUT_NEVER value to -1
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

11 years agoMerge "Add BufferItemConsumer, a simple BufferQueue consumer." into jb-mr1-dev
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

11 years agoSurfaceTexture: inherit from ConsumerBase (try 2)
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

11 years agoAdd BufferItemConsumer, a simple BufferQueue consumer.
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

11 years agoAdded display initialization method
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

11 years agofix various issues in SF's EventThread
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