Commit Graph

48234 Commits

Author SHA1 Message Date
Elliott Hughes
9b57ad737b am 8facd1b2: Merge "Add a compatibility symbol for the MemoryBase constructor."
* commit '8facd1b2ea02796b575f123b420590d2b8354910':
  Add a compatibility symbol for the MemoryBase constructor.
2013-03-13 19:28:17 -07:00
Elliott Hughes
8facd1b2ea Merge "Add a compatibility symbol for the MemoryBase constructor." 2013-03-14 01:19:44 +00:00
Elliott Hughes
7f974ff2f3 Add a compatibility symbol for the MemoryBase constructor.
Third-party libraries are currently trying to use the
MemoryBase constructor but failing because we fixed the
definition of ssize_t. This is a stop-gap for users of
this private API until we can get them fixed.

Bug: 8253769
Change-Id: I8a19770f3252d88ee87023fde625cc6289924b0d
2013-03-13 18:19:20 -07:00
Jeff Sharkey
27f9e6d849 Support broadcast when dumpstate finishes.
Add flag that sends BUGREPORT_FINISHED broadcast when dumpstate
is finished, including the resulting filesystem paths.  Also reduces
directory creation to 0770.

Bug: 7005318
Change-Id: Id4c6b699a56f8acd859b7ab73368500e1a8f3c67
2013-03-13 16:59:27 -07:00
Mathias Agopian
6a531717cd size IMemoryHeap properly for screenshots
since we're using glReadPixels(), we only need to use
the width (as opposed to the stride) of the source
screenshot.

Bug: 8374664
Change-Id: I145c80f4fff5444df7c77c4f52e70a7203caddbd
2013-03-13 15:22:11 -07:00
Jeff Tinker
56c78c47d8 Updated MediaDrm API based on review input.
Change-Id: I06716d2616bbe7efaea6cbf9ba7bf303dfae1650
2013-03-13 13:35:36 -07:00
Mathias Agopian
35ffa6a868 Surface can now be created only from an IGraphicBufferProducer
it can't write itself to a parcel, nor can it be created from a
parcel.

Change-Id: I69165d5c54d6024b3e546e80d8b57e3dedda7893
2013-03-12 18:45:09 -07:00
Mathias Agopian
4d9b822e2c get rid of ISurface
ISurface was only used to get the IGraphicBufferProducer from
a Layer. It's now replaced by a BBinder subclass / IBinder and
is only used as a handle to the surface, to both refer to it
and manage its life-time.

Also cleaned-up a bit the ISurfaceComposer interface and
"create layer" code path.

Change-Id: I68d0e02d57b862cffb31d5168c3bc10cea0906eb
2013-03-12 17:11:48 -07:00
Jamie Gennis
f44e9f91f3 Merge "atrace: add the webview category" into jb-mr2-dev 2013-03-12 19:21:30 +00:00
Mathias Agopian
f795852b54 temporary: enable ASSERTs in RefBase
this is in an attempt to get more data on
bug 8328715.

Change-Id: I9333a67c2d7f67f4d9b2fc5eb1ad8a7b2d1c6dcb
2013-03-11 21:27:16 -07:00
Mathias Agopian
b7a5b05b53 Fix missing recents screenshots
We were using the "visible layer list" when taking screenshots,
which doesn't work when a layer is behind other opaque layers
and therefore hidden.

We fix this by using the full layer list, filtered by the
layerstack of the display we're looking at.

Bug: 7552304
Change-Id: I4b6f77e5511aea94f8d218975b6e22738e7e5d5b
2013-03-11 20:47:24 -07:00
Jamie Gennis
b2a89e3155 atrace: add the webview category
Change-Id: Iefb552cd275bb5784903e8bf328890ecd233e45b
2013-03-11 19:41:28 -07:00
Michael Wright
2aee1b01b7 Merge "Add TOUCH_NAVIGATION input source" into jb-mr2-dev 2013-03-12 01:15:48 +00:00
Mathias Agopian
d2d5a64aa2 workaround a deadlock when taking screenshots into a surface
When disconnecting from BufferQueue, we now drain the queue
except the head (which means in the screenshot case we won't
have to block, but we might not have a buffer to show, this
will appear as an error in the log).

Bug: 8362363
Change-Id: If80989aac3c917beea2ebddf3cbb502849d394da
2013-03-11 17:59:59 -07:00
Romain Guy
dbca4a0ee5 Merge "Add Thread::isRunning and Condition::signal(WakeUpType)" into jb-mr2-dev 2013-03-11 21:38:26 +00:00
Romain Guy
9447be65c3 Add Thread::isRunning and Condition::signal(WakeUpType)
The signal() method is useful to choose whether to wake up one or
all threads.

Change-Id: I062ab6d3ddd306a9fb735549ea140e2a76eed75a
2013-03-11 14:34:56 -07:00
Michael Wright
aadaca7169 Add TOUCH_NAVIGATION input source
Change-Id: Id76e2e85246269ba7b16bb9635e41593b45cac1c
2013-03-11 14:20:14 -07:00
Jean-Baptiste Queru
5c19de4d07 am 1d6e52d1: am 50d36d58: am 75bcd737: am 4ddcb758: (-s ours) am 9ef024ec: (-s ours) Reconcile with jb-mr1-release - do not merge
* commit '1d6e52d17e2df913e10925c5e3e652d3421ff320':
2013-03-11 13:44:33 -07:00
Jean-Baptiste Queru
1d6e52d17e am 50d36d58: am 75bcd737: am 4ddcb758: (-s ours) am 9ef024ec: (-s ours) Reconcile with jb-mr1-release - do not merge
* commit '50d36d58369cdf48bc6fcdba96b36c846be8587a':
2013-03-11 13:13:37 -07:00
Jean-Baptiste Queru
50d36d5836 am 75bcd737: am 4ddcb758: (-s ours) am 9ef024ec: (-s ours) Reconcile with jb-mr1-release - do not merge
* commit '75bcd737770f85114673c4411b8e2ecc0dd32bdf':
2013-03-11 13:00:44 -07:00
Jean-Baptiste Queru
75bcd73777 am 4ddcb758: (-s ours) am 9ef024ec: (-s ours) Reconcile with jb-mr1-release - do not merge
* commit '4ddcb75861cfb2835fcc20f2071222d2f55450ba':
2013-03-11 12:41:50 -07:00
jp abgrall
574d6902b7 am ba8abb51: Merge "Ensure dumpstate children die"
* commit 'ba8abb517d1eddebeda62bf907fa446e3c3b81f6':
  Ensure dumpstate children die
2013-03-11 12:28:06 -07:00
Jean-Baptiste Queru
4ddcb75861 am 9ef024ec: (-s ours) Reconcile with jb-mr1-release - do not merge
* commit '9ef024ec8ae0318c89cc65dc0591aa40695393fc':
2013-03-11 12:23:09 -07:00
Jean-Baptiste Queru
9ef024ec8a Reconcile with jb-mr1-release - do not merge 2013-03-11 12:19:30 -07:00
jp abgrall
ba8abb517d Merge "Ensure dumpstate children die" 2013-03-11 18:09:35 +00:00
John Michelau
e7b6cf13f9 Ensure dumpstate children die
Use prctl(PR_SET_PDEATHSIG, SIGKILL) in each forked child to ensure
it dies when dumpstate dies.

This is important for two cases:
- dumpstate runs a timer for each child process.  On expiration, it
  sends SIGTERM to kill the process.  Sometimes SIGTERM isn't enough
  to kill a hung process, so the child lives on.
- When dumpstate is killed by the user before completing, outstanding
  children continue to run and generate output.

Change-Id: I96e0dc918c26d56c9fee53611980ba2edd238712
2013-03-11 11:44:15 -05:00
Mathias Agopian
d577641411 make sure to call compositionComplete after taking a screenshot
older drivers which are doing implicit synchronization need this
or they could deadlock.

Bug: 8341885
Change-Id: Icd980a6be16071678d6151e34725b3c1c547d7ee
2013-03-08 13:54:46 -08:00
Mathias Agopian
7589b2a797 add two libgui tests
we check that the order in which we destroy GLConsumer wrt.
releasing the corresponding EGLSurface via eglMake(Un)Current
doesn't leak a buffer.

On at least 2 devices this test doesn't pass.

Change-Id: I63ab83951b4b0a977f38571158f948cbd9dc7cec
2013-03-08 13:22:03 -08:00
Mathias Agopian
6b2b700956 Merge changes Ibb3b6ff0,I2341e20c into jb-mr2-dev
* changes:
  rename binder services main thread to Binder_*
  limit number of extra binder threads in SF to 4
2013-03-08 20:28:43 +00:00
Jesse Hall
49385ec7c3 Merge "When disconnecting a surface, cancel don't queue the buffer" into jb-mr2-dev 2013-03-07 23:43:56 +00:00
Jesse Hall
86306b5876 Merge "Defer destroying surfaces until not current" into jb-mr2-dev 2013-03-07 23:41:45 +00:00
Mathias Agopian
e3e43b384e rename binder services main thread to Binder_*
When a binder service's main thread joins the thread pool
it retains its name (whatever the exec name was), which is
very confusing in systrace.

we now rename that thread just like its friends in the
thread pool.

Change-Id: Ibb3b6ff07304b247cfc6fb1694e72350c579513e
2013-03-07 15:34:28 -08:00
Mathias Agopian
649b976a00 limit number of extra binder threads in SF to 4
it should be enough and it makes debugging easier.

Bug: 6609290
Change-Id: I2341e20cfcfde184fe1ed9b925215f8fa3481ced
2013-03-07 15:32:47 -08:00
Jesse Hall
5f555569e7 When disconnecting a surface, cancel don't queue the buffer
This isn't really right either, but avoids having an extra buffer that
the consumer has to drain which it might not be expecting.

To be correct, disconnecting a surface from a context should retain
the current buffer and continue using it when reconnected. The buffer
should only be canceled when the surface is destroyed. That will wait
for a later change.

Bug: 8320762
Change-Id: I5efa39c741193ca4f5612ea9de001ccbb683b345
2013-03-07 15:21:26 -08:00
Jesse Hall
78141e3acc Defer destroying surfaces until not current
Bug: 8320762
Change-Id: I1320cf87923bcc5b795a86a13193363a49e29653
2013-03-07 15:10:59 -08:00
Jean-Baptiste Queru
6c337e7a66 resolved conflicts for merge of bfb2aa46 to jb-mr2-dev 2013-03-07 11:35:19 -08:00
Jean-Baptiste Queru
bfb2aa4652 Merge "Tweaks for forward compatibility" 2013-03-07 19:08:08 +00:00
Mathias Agopian
3cd153a033 another attempt to fix the build
Change-Id: Ie0245db97170cca9a2cd8783b0fd512daf0d30a6
2013-03-06 22:37:33 -08:00
Mathias Agopian
84b470d78f attempt to fix build
Change-Id: Ifb186d2f157ad02f593bf9b681aab53575f183ce
2013-03-06 21:34:39 -08:00
Mathias Agopian
1f758231c2 Merge changes I7f696e42,I51c6df3c into jb-mr2-dev
* changes:
  Make GraphicBuffer a RefBase
  Fix RefBase debugging. O_CREAT must specify the mode.
2013-03-07 04:52:24 +00:00
Mathias Agopian
2be4e8ff23 workaround to fix screenshot leak on N4
Bug: 8322020

Change-Id: Ie60af0eb431866b8d64b2674ae7bd8b5ee05f5d6
2013-03-06 20:44:16 -08:00
Mathias Agopian
e041716ba1 Make GraphicBuffer a RefBase
- this gives us access to RefBase's refcounting debugging
- it doesn't cost much because GraphicBuffer already has a vtable

Change-Id: I7f696e421fea14b14bfaeb83880689b83e96af4d
2013-03-06 18:50:52 -08:00
Mathias Agopian
dbf146f1d6 Fix RefBase debugging. O_CREAT must specify the mode.
Change-Id: I51c6df3cfd59b20ca73c3edee86bc2f74dbde1b1
2013-03-06 17:52:34 -08:00
Mathias Agopian
438ca07b6b Merge changes I66511c08,Ia051949f,Ic7451365,I5b571a4c into jb-mr2-dev
* changes:
  Get rid of LayerBase.
  Make LayerDim a regular Layer instead of a LayerBase
  fold LayerBaseClient into LayerBase
  Remove support for ScreenshotLayer
2013-03-07 01:47:34 +00:00
Jean-Baptiste Queru
d82bea798e Tweaks for forward compatibility
Change-Id: I136fcbbc14072ee5f5281d09445f28d083ed3ce1
2013-03-06 15:26:54 -08:00
Mathias Agopian
13127d8921 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
2013-03-05 19:52:30 -08:00
Mathias Agopian
2f73af9212 Make LayerDim a regular Layer instead of a LayerBase
this is in preparation to get rid of LayerBase entirely

Change-Id: Ia051949fc5205fd87371331145356ee11598a597
2013-03-05 19:52:30 -08:00
Mathias Agopian
b79f61d41e fold LayerBaseClient into LayerBase
Change-Id: Ic745136522df59c42f0885fd969e75ea55d09f01
2013-03-05 19:52:30 -08:00
Mathias Agopian
089a15298e Remove support for ScreenshotLayer
Change-Id: I5b571a4cf3faa77d2c4aca916fa4bd00a1065bb9
2013-03-05 19:52:29 -08:00
Jeff Sharkey
175264b09c Return NO_MEMORY when glReadPixels() fails.
Change-Id: Ic66134ef457e8442ae9135e9ec50e3d02932a253
2013-03-05 18:00:01 -08:00