Commit Graph

2402 Commits

Author SHA1 Message Date
Jamie Gennis
dbe9245e2e GLConsumer: start using EGL_ANDROID_image_crop
This change makes GLConsumer use the EGL_ANDROID_image_crop extension when
available on a device.  The crop rectangle is passed to the EGL driver when
creating EGLImages, allowing the crop to be performed by the driver rather than
using the texture transform matrix.

Bug: 10897141
Change-Id: I63e9a5d5c85067376abc420e3639154468346311
2013-10-02 17:34:35 +00:00
Mike Lockwood
63ff1c644f Cleanup Binder interface between sensorservice and BatteryStats
Change-Id: Ia507160a2534059afe93849c8efc8407a046b50e
2013-09-25 09:28:41 -07:00
Eino-Ville Talvala
3473e814a4 am 1160e89d: am d171da97: GLConsumer: Add query for current frame number.
* commit '1160e89d31810f2ba66f8ab502281579115b39b0':
  GLConsumer: Add query for current frame number.
2013-09-20 11:19:41 -07:00
Christopher Ferris
6de9653ac8 Merge "Remove unnecessary include." 2013-09-19 23:16:10 +00:00
Christopher Ferris
d142f4b787 Remove unnecessary include.
All these files are including utils/CallStack.h, but none of the code
uses any CallStack objects.

Change-Id: I38c3a346a3bd0ddbff368d0f7f8b3f3d78fc0432
2013-09-19 15:45:03 -07:00
Eino-Ville Talvala
1160e89d31 am d171da97: GLConsumer: Add query for current frame number.
* commit 'd171da973de3c6b30263011334fdcd916739144f':
  GLConsumer: Add query for current frame number.
2013-09-19 14:59:51 -07:00
Eino-Ville Talvala
d171da973d GLConsumer: Add query for current frame number.
Surface the underlying frame number of the current texture.

Bug: 10830400
Change-Id: Ide3a7da12ea0aac54588beb6bf00dbfe2cd37653
2013-09-19 13:36:07 -07:00
Mathias Agopian
0f0e845113 am a7e1660b: am c1c05de4: fix camera API 2.0 orientation
* commit 'a7e1660b257326f99261e7c9b2d58c9d2e68d0b0':
  fix camera API 2.0 orientation
2013-09-18 15:36:00 -07:00
Mathias Agopian
a7e1660b25 am c1c05de4: fix camera API 2.0 orientation
* commit 'c1c05de415854eb7a13a16b7e22a22de8515123a':
  fix camera API 2.0 orientation
2013-09-18 15:33:38 -07:00
Mathias Agopian
c1c05de415 fix camera API 2.0 orientation
we add a flag to ANativeWindow::setBufferTransform that means
"apply the inverse rotation of the display this buffer is displayed
onto to".

Bug: 10804238
Change-Id: Id2447676271950463e8dbcef1b95935c5c3f32b2
2013-09-17 23:45:22 -07:00
Mathias Agopian
2285c008fa am e803e609: am 799f5126: Fix build (tests)
* commit 'e803e6095e007563df939326fdd3ca5109619a42':
  Fix build (tests)
2013-09-17 16:01:38 -07:00
Mathias Agopian
e803e6095e am 799f5126: Fix build (tests)
* commit '799f51268006f319f6ae538dca670bfc7f522688':
  Fix build (tests)
2013-09-17 15:58:55 -07:00
Mathias Agopian
799f512680 Fix build (tests)
Change-Id: I5b233ef448e5e7eec3818c6586dfea138b28f7b6
2013-09-17 15:55:18 -07:00
Mathias Agopian
7229e98229 am 3f342c11: am 02b62df7: Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev
* commit '3f342c113360eacc1e9c1ff481cb03f700a50117':
  Make sure do disconnect from a BQ when its client dies.
2013-09-17 14:35:29 -07:00
Mathias Agopian
3f342c1133 am 02b62df7: Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev
* commit '02b62df7119b27c89d91d96938d8f4f5232b296b':
  Make sure do disconnect from a BQ when its client dies.
2013-09-17 14:33:09 -07:00
Mathias Agopian
02b62df711 Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev 2013-09-17 21:31:14 +00:00
Jesse Hall
cd9fd427ac am b8080d9a: am 2a36497e: Merge "Stop using default value for Surface producerControlledByApp parameter" into klp-dev
* commit 'b8080d9a3b760617c5dde7b1d2d63aa2bcecf3a7':
  Stop using default value for Surface producerControlledByApp parameter
2013-09-16 20:32:34 -07:00
Jesse Hall
b8080d9a3b am 2a36497e: Merge "Stop using default value for Surface producerControlledByApp parameter" into klp-dev
* commit '2a36497e45d4d96e35fed89cfdcb09b71459ac3c':
  Stop using default value for Surface producerControlledByApp parameter
2013-09-16 20:30:11 -07:00
Mathias Agopian
365857df8b Make sure do disconnect from a BQ when its client dies.
Bug: 5679534

Change-Id: If447e8673df83fe0b1d6210641e0a48522501a53
2013-09-16 16:15:21 -07:00
Jesse Hall
83cafffeac Stop using default value for Surface producerControlledByApp parameter
Bug: 10785749
Change-Id: Ifbf9340e5eabe621a69e990ec3e05ac51f8db66a
2013-09-16 15:39:55 -07:00
Kenny Root
06ef81bd70 resolved conflicts for merge of 1852eb4f to klp-dev-plus-aosp
Change-Id: I7217c0e859b384a042c02fe339e745996c6ef49e
2013-09-12 11:51:34 -07:00
Kenny Root
c668871ac3 Use canonical UniquePtr.h file
Change-Id: Icc75bca078ffaf0c09b88ce5e897d666d1054063
2013-09-11 23:25:08 -07:00
Mathias Agopian
24695a1cff am 7c4f2365: am 90ed3e8d: fix a few problems with BitTube
* commit '7c4f236532692b847b9b103df6490549656ae993':
  fix a few problems with BitTube
2013-09-11 17:24:11 -07:00
Mathias Agopian
7c4f236532 am 90ed3e8d: fix a few problems with BitTube
* commit '90ed3e8d7883d9c80fb8bf11b1c593bd8b2b39d0':
  fix a few problems with BitTube
2013-09-11 15:06:10 -07:00
Kenny Root
0ae966033d Remove copy of UniquePtr.h
The UniquePtr.h file is no longer in libcore/... so there is no need to
have this extra copy of it anymore.

Change-Id: I4ec4f86d2844e524b50441c3a9100a50a6a45b1a
2013-09-11 14:29:20 -07:00
Mathias Agopian
90ed3e8d78 fix a few problems with BitTube
BitTube used to send objects one at a time and didn't
handle errors properly.

We now send all the objects in one call, which means they
have to be read as a single batch as well. This changes the
BitTube API.

Update SensorService to the new API.

Also added an API to set the size of the send buffer.

Bug: 10641596
Change-Id: I77c70d35e351fdba0416fae4b7ca3b1d56272251
2013-09-10 21:10:53 -07:00
Mike Lockwood
cbe36fe1ec Add support for sending and receiving ParcelFileDescriptors from native Binder code
Change-Id: I7f308e28ebac0755628e19c9b4d0d7399341b435
2013-09-05 08:43:22 -07:00
Aravind Akella
91e0ff5739 am e29df8b9: am a5552de9: Merge "Sensor batching. Changes to the native code." into klp-dev
* commit 'e29df8b929128621c8ef90091696d414eb235276':
  Sensor batching. Changes to the native code.
2013-09-03 17:45:18 -07:00
Aravind Akella
e29df8b929 am a5552de9: Merge "Sensor batching. Changes to the native code." into klp-dev
* commit 'a5552de96f0cff9fb1947d8d21556bfeccf9cd03':
  Sensor batching. Changes to the native code.
2013-09-03 17:43:44 -07:00
Aravind Akella
724d91d778 Sensor batching. Changes to the native code.
Bug: 10109508
Change-Id: I7333f3aac76125a8226a4c99c901fb904588df04
2013-09-03 17:04:36 -07:00
Mathias Agopian
9b7176b428 am d213910a: am 9b5534b0: Merge changes I8283a989,I64add89a into klp-dev
* commit 'd213910ab0acc956ee66bd3a0079a6393e7c695c':
  switch to use mat4
  vector and matrix classes for graphics use
2013-08-30 18:33:08 -07:00
Mathias Agopian
d213910ab0 am 9b5534b0: Merge changes I8283a989,I64add89a into klp-dev
* commit '9b5534b0e5e1510f56e6a2c58ad0816167603ebd':
  switch to use mat4
  vector and matrix classes for graphics use
2013-08-30 18:31:38 -07:00
Mathias Agopian
9b5534b0e5 Merge changes I8283a989,I64add89a into klp-dev
* changes:
  switch to use mat4
  vector and matrix classes for graphics use
2013-08-31 01:30:10 +00:00
Jesse Hall
83ae7708cd am 2d28c372: am 87967c18: Merge "Force async behavior for the virtual display output BufferQueue" into klp-dev
* commit '2d28c37269ca55b2be896ca67271994ebbc2bc84':
  Force async behavior for the virtual display output BufferQueue
2013-08-30 14:25:07 -07:00
Jesse Hall
2d28c37269 am 87967c18: Merge "Force async behavior for the virtual display output BufferQueue" into klp-dev
* commit '87967c186995d1500875c495cba8f04f7cff76cc':
  Force async behavior for the virtual display output BufferQueue
2013-08-30 14:19:13 -07:00
Jesse Hall
8db92553e9 Force async behavior for the virtual display output BufferQueue
Bug: 10551087
Change-Id: I40bbb2b87d64420939a0ea309254f281437dab56
2013-08-29 16:09:11 -07:00
Mathias Agopian
595ea77f6b vector and matrix classes for graphics use
- this implements vec2, vec3, vec4, which are float vectors
of size 2, 3 and 4 respectively.

the code allows easy instantiation of vectors of a different
type via the tvec{2|3|4}<T> template classes.

- this also implements mat4 which is a float 4x4 matrix. the
tmat44<T> template class allows easy instantiation of a
4x4 matrix of a different value_type.

The vector types have some minimal support for the
glsl style swizzled access; for instance:

  vec4 u;
  vec3 v = u.xyz;

only .x, .xy, .xyz and their .stpq / .rgba equivalent are
supported.

most operators are supported on both vector and matrices:
arithmetic, unary, compound assignment and comparison
(bit-wise operators NOT supported).

- operations available on vectors include:
dot, length, distance, normalize and cross

- operations available on matrices include:
transpose, inverse, trace

- and a few utilities to create matrices:
ortho, frustum, lookAt

Change-Id: I64add89ae90fa78d3f2f59985b63495575378635
2013-08-26 20:41:13 -07:00
Jeff Brown
14641f7f30 am 464febc4: Remove input flinger stubs. (DO NOT MERGE)
* commit '464febc44908fb4a8fca9e513ba8469750dde838':
  Remove input flinger stubs.  (DO NOT MERGE)
2013-08-22 19:34:04 -07:00
Jeff Brown
464febc449 Remove input flinger stubs. (DO NOT MERGE)
Bug: 10446930
Change-Id: I4dd46f539cd2a2e324dfc83b45ba2787f7404a4a
2013-08-22 18:40:07 -07:00
Eino-Ville Talvala
169636c62b am b6aea00c: Merge "Surface: Fix controlledByApp parameter" into klp-dev
* commit 'b6aea00c7843705fdc6d265d7e15b3df52e86009':
  Surface: Fix controlledByApp parameter
2013-08-22 12:26:51 -07:00
Eino-Ville Talvala
7895e90e29 Surface: Fix controlledByApp parameter
Bug: 10425641
Change-Id: I1a47e2ce4ecbdb8e67030a5d9ddf6604c5e2497d
2013-08-21 12:05:42 -07:00
Andy McFadden
f94705f5fb am 8b308ed7: Fix build
* commit '8b308ed70ed782f68c8075aac2a6b66bbfcdb9af':
  Fix build
2013-08-19 09:51:16 -07:00
Andy McFadden
8b308ed70e Fix build
Neglected the "checkbuild"-built tests.

Change-Id: I202692f1a6d1e306c88e820c959d07d16e7c6a00
2013-08-19 08:56:07 -07:00
Andy McFadden
30290a557e am 90f59bf9: Merge "Re-enable frame dropping for non-auto timestamps" into klp-dev
* commit '90f59bf9eba79b27629505bc2709d84e7c811c8b':
  Re-enable frame dropping for non-auto timestamps
2013-08-19 07:29:11 -07:00
Andy McFadden
3c25621ad7 Re-enable frame dropping for non-auto timestamps
This change adds an entire field to note whether the timestamp was
auto-generated by Surface or supplied by the application.

The value is used when deciding whether or not to drop frames based
on buffer presentation timestamps.  If a desired presentation time
was set explicitly, BufferQueue will use that value to decide if a
frame should be dropped.  If the timestamp was generated by Surface
at the time the buffer was queued, the timestamp is ignored.

Bug 10151804

Change-Id: Ibd571a7578351063b813cbdad2ddbeed70655ba5
2013-08-16 15:15:16 -07:00
Igor Murashkin
0ba1a16bbb am e60a0b1e: Merge "gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired" into klp-dev
* commit 'e60a0b1e6a29d79b4d0ec0374446cb829bcadee4':
  gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired
2013-08-16 14:07:10 -07:00
Igor Murashkin
a5b7513711 gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired
- Return NOT_ENOUGH_DATA instead of INVALID_OPERATION when too many
  buffers have already been locked.
- INVALID_OPERATION is nominally used when something irrecoverable happens,
  but in this case the client just needs to call unlockBuffer to go back into a
  good state.

Bug: 10333400
Change-Id: I3a034d77de85741429f832a90eedd670afa1dc94
2013-08-14 20:17:17 -07:00
Mathias Agopian
70986f0034 am c6bae007: Fix build. optional tests were broken.
* commit 'c6bae007e6e29b585fc1207f84b378a480006173':
  Fix build. optional tests were broken.
2013-08-14 16:33:04 -07:00
Mathias Agopian
c6bae007e6 Fix build. optional tests were broken.
Change-Id: Iba9f5cb57f134559e1f9c55e293578d9f5d8cb96
2013-08-14 16:27:19 -07:00
Mathias Agopian
b881700ab1 am 56f825e7: Merge "SurfaceFlinger now uses GLES 2.x when available" into klp-dev
* commit '56f825e7ab9f83706a74dcd4825c7bc839e49ae4':
  SurfaceFlinger now uses GLES 2.x when available
2013-08-14 15:45:21 -07:00
Mathias Agopian
3f84483382 SurfaceFlinger now uses GLES 2.x when available
Bug: 8679321

Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
2013-08-13 16:07:45 -07:00
Jesse Hall
771ed8d71b am fc43e16a: Merge "Graphics:Add error check when create GraphicBuffer"
* commit 'fc43e16a5693bca0edfc82c650fb606971e47138':
  Graphics:Add error check when create GraphicBuffer
2013-08-13 12:06:31 -07:00
Lingyun Zhu
2aff702548 Graphics:Add error check when create GraphicBuffer
Change-Id: Ib0ca59bf1dfe4ae0266c29c91c1dbe3d02c0904e
Author: Lingyun Zhu <lingyun.zhu@intel.com>
Signed-off-by: Lingyun Zhu <lingyun.zhu@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 50141
2013-08-13 11:51:48 -07:00
Mathias Agopian
45155969dc make sure GLConsumer::releaseTexImage() works after detachFromContext()
Change-Id: I27e0bc57e927d47b2b98113ee37b5396bcc72019
2013-08-12 23:45:28 -07:00
Mathias Agopian
9870c9b66c make GLConsumer's debug texture static
this is so that we don't burn a gralloc handle and a bit
of memory per GLConsumer.

Change-Id: I30c3e7ec45d7f1b5426aca8e06c7716870877706
2013-08-08 17:46:48 -07:00
Jesse Hall
6c913be9ca Add ISurfaceComposer::destroyDisplay
Bug: 10191053
Change-Id: Ia89286f95421344a60ffedaaca5825c4e3cd7f9e
2013-08-08 13:12:29 -07:00
Mathias Agopian
45263e2475 don't hardcode debug texture dimensions
Change-Id: I356333801d246a8cafb3e977a77dc7325e8b822d
2013-08-07 13:35:20 -07:00
Mathias Agopian
5f51ed9499 fix tests more
Change-Id: I05c3dd6a22440844f8bd071f4c2b620b2bd8c720
2013-08-06 16:47:04 -07:00
Mathias Agopian
3dce3360e7 fix tests
Change-Id: I0f4d613481eda2c44a2d631a81d75de7e52e7a62
2013-08-06 16:42:05 -07:00
Mathias Agopian
3ca76f416b remove support for glReadPixels screenshot path
this was only needed on some chipset we're not
supporting in KLP.

Change-Id: I2e8fc07f135030bd61d2e241a8e426f1a4316425
2013-08-06 16:07:33 -07:00
Mathias Agopian
126b9c8e95 Fix build. 3rd attempt
Change-Id: I4317b34fd07890ea7cf9db51be42d72ef21aca89
2013-08-06 15:19:15 -07:00
Mathias Agopian
db89edc94b All consumers now take an IGraphicBufferConsumer instead of a BufferQueue
this means they only have access to the consumer end of
the interface. we had a lot of code that assumed consumers
where holding a BufferQueue (i.e.: both ends), so most of
this change is untangling in fix that

Bug: 9265647
Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
2013-08-06 20:05:36 +00:00
Eino-Ville Talvala
687821c05b Merge "BufferQueue: Support query of consumer usage bits" 2013-08-05 21:10:45 +00:00
Andy McFadden
d9ba9707b0 Merge "Roll back recent change" 2013-08-02 22:34:13 +00:00
Andy McFadden
4b49e08385 Roll back recent change
Disable dropping of frames based on timestamp.  Resume auto-
generating timestamps in Surface.

Bug 10151804

Change-Id: I15de26158e1d7ef22a5b150e685a126dc48ae2b4
2013-08-02 15:31:45 -07:00
Mathias Agopian
c1c39f8807 Merge "Binderize the consumer side of BufferQueue" 2013-08-02 20:35:26 +00:00
Andy McFadden
86cd09d388 Merge "Drop frames based on presentation timestamp" 2013-08-02 16:53:11 +00:00
Mathias Agopian
a4e19521ac Binderize the consumer side of BufferQueue
While currently untested, this should allow to move the
BuffereQueue in the consumer process and have everything
work as usual.

Bug: 9265647

Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
2013-08-01 17:20:08 -07:00
Andy McFadden
14fab7dd79 Drop frames based on presentation timestamp
If there are two or more buffers pending that are ready for
immediate presentation, drop all but the last one.

Any code that didn't explicitly specify timestamps for buffers
was using the default value (auto-generated "now").  As a result,
surfaceflinger would drop frames whenever more than one buffer
was queued.  We now use zero as the auto-generated timestamp,
and we don't set the timestamp in eglBeginFrame().

Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
2013-08-01 15:58:08 -07:00
Mathias Agopian
ba93b3f8e4 log an error when dequeueBuffer gets a NULL Fence
Bug: 9858745
Change-Id: If35d6a7d770bf0a42d55bc55880a9ddb721fcfd0
2013-08-01 15:48:40 -07:00
Mathias Agopian
87f9b87796 remove unused code form GraphicBuffer
Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
2013-07-31 20:10:10 -07:00
Alex Ray
b304edb0b1 remove libutils
libutils is being moved from frameworks/native/ to system/core/ in order
to facilitate native C++ platform (non-frameworks) code.

Change-Id: I44089fb960591a40b8a9c30faabb10459d107d71
2013-07-31 13:48:57 -07:00
Brian Carlstrom
8776c34ca2 Fix BlobCache_test
Change-Id: I5b20aeb4dcff80f1e18e1165b8461d20034dc1ac
2013-07-31 01:08:36 -07:00
Mathias Agopian
e142428a9c Make Flattenable not virtual
Fallout from the Flattenable change, update all its uses.

Additionnaly, fix/tighten size checks when (un)flatten()ing
things.

Removed the assumption by some flattenables (e.g.: Fence)
that the size passed to them would be exact (it can
and will be larger in some cases)

The code in Parcel is a bit complicated so that we don't
have to expose the full implementation (and also to
keep the code smallish).

Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
2013-07-30 21:19:13 -07:00
Mathias Agopian
1d76781b7a Make Flattenable not virtual (libutils)
Making an object Flattenable doesn't force it to
become virtual anymore. For instance, Fence and GraphicBuffer
are now non-virtual classes.

Also change Flatennable protocol a bit so that it updates
its parameters (pointers, sizes) to make it easier
to implement a flattenable in terms of other flattenables.

Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
2013-07-30 21:19:02 -07:00
Eino-Ville Talvala
f7c6087bcc BufferQueue: Support query of consumer usage bits
Bug: 9592202
Change-Id: I61a17758200e61adaca695b426db3df0f6637d4c
2013-07-30 21:38:34 +00:00
Mathias Agopian
ad678e18b6 single buffer mode for BufferQueue
Bug: 9891035
Change-Id: Id1ab5f911a6dc4c1d8235e65775b3d3635231ad4
2013-07-26 18:45:02 -07:00
Mathias Agopian
bf5b849ec7 fix build
Change-Id: I04df8ec96510b16e84054089f7c02609d8fe2b0c
2013-07-26 17:26:16 -07:00
Mathias Agopian
c2414bb098 get rid of HAL pixelformats 5551 and 4444
Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
2013-07-26 15:43:33 -07:00
Mathias Agopian
5773d3f5b2 get rid of PixelFormatInfo and simplify things
Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
2013-07-25 19:24:31 -07:00
Mathias Agopian
9642dba110 Merge "Fix a race in BufferQueue" 2013-07-25 02:17:52 +00:00
Todd Poynor
a7b0f04aaf defaultServiceManager wait for service manager ready
If the service manager is not ready when we attempt to create a local
proxy, fail and retry.

Change-Id: I7d7300bc07cd70608793479aa3da282d066da7f6
2013-07-24 16:18:12 -07:00
Alex Ray
a49a4a2e55 Merge "libutils: give BasicHashtableImpl a virtual destructor" 2013-07-24 20:00:36 +00:00
Alex Ray
194bc4ff7b libutils: give BasicHashtableImpl a virtual destructor
Change-Id: I4ec590b060d732af5fe525670becbe778684247b
2013-07-24 00:21:57 -07:00
Mathias Agopian
6bac363cbd Fix a race in BufferQueue
BufferQueue::dequeueBuffer() could incorrectly return
WOULD_BLOCK while in "cannot block" mode if it happened
while a consumer acquired the last allowed buffer
before releasing the old one (which is a valid thing
to do).

Change-Id: I318e5408871ba85e068ea9ef4dc9b578f1bb1043
2013-07-23 21:55:32 -07:00
Colin Cross
4afb57b5db add static dependency on liblog
Change-Id: Ibf8733142d52e4ffac2e3b26932d7196fb79c5a7
2013-07-23 18:07:47 -07:00
Alex Ray
0e0f10b561 Merge "libbinder: add libutils dependency" 2013-07-23 21:49:38 +00:00
Michael Wright
f52ca32724 Merge "Add controller numbers for gamepads / joysticks" 2013-07-23 20:52:42 +00:00
Alex Ray
894e178476 libbinder: add libutils dependency
Change-Id: I30c7291b04788c98faa43843a51b026b8a01932c
2013-07-23 13:43:00 -07:00
Mathias Agopian
325123238a Merge "fix log messages and bogus error message" 2013-07-23 01:06:00 +00:00
Mathias Agopian
207c1e287c fix log messages and bogus error message
also assert when releasing a buffer and it has
been queued

Change-Id: I6f78d9ceb406ec85ff46c7b6d0c047b14063e3d0
2013-07-22 18:00:53 -07:00
Zhijun He
6bbe39de66 Merge "Fix AppOsManager missing mutex unlock." 2013-07-23 00:15:28 +00:00
Zhijun He
20d0380594 Fix AppOsManager missing mutex unlock.
Need unlock the mutex after finish the getToken operation.

Change-Id: Icd83b383913d06e4d60976857aa314c3008ebea1
2013-07-22 17:13:12 -07:00
Michael Wright
0415d63b1a Add controller numbers for gamepads / joysticks
Change-Id: I5294aabbadb836a6a4c7ce76a670abcf50c1f885
2013-07-22 16:37:28 -07:00
Mathias Agopian
bdce817047 Merge changes Ic45929f3,Ic63f4f96,I1e703d36,I691f9507
* changes:
  make sure to reset the framenumber when a buffer is marked FREE
  Make ANW.setSwapInterval(0) work again
  BuffferQueue disconnect is now always asynchrnous
  BufferQueue improvements and APIs changes
2013-07-20 01:02:47 +00:00
Mathias Agopian
26a6f37cc0 make sure to reset the framenumber when a buffer is marked FREE
Change-Id: Ic45929f35553de209801f74e8006fb1bf0b25b45
2013-07-19 17:38:01 -07:00
Mathias Agopian
7cdd786fa8 Make ANW.setSwapInterval(0) work again
we can now queue/dequeue a buffer in asynchrnous mode by using the
async parameter to these calls. async mode is only specified
with those calls (it is not modal anymore).

as a consequence it can only be specified when the buffer count
is not overidden, as error is returned otherwise.

Change-Id: Ic63f4f96f671cb9d65c4cecbcc192615e09a8b6b
2013-07-19 17:38:01 -07:00
Michael Wright
e5bb2a45e0 Merge "Add input device property for buttons under touchpads" 2013-07-19 22:45:38 +00:00
Mathias Agopian
a3fbda3cef BuffferQueue disconnect is now always asynchrnous
we tag queued buffers with the "bufferqueue cannot block" flag
and use that bit to discard a buffer in the queue by new ones
comming in. this allows us to remove the buffer queue drain in
disconnect while maintaining the right behaviour if it gets
connected again (since each buffer remembers how it was enqueued).

Change-Id: I1e703d363a687b70b19ba49cef32213116e8bd3f
2013-07-18 22:28:18 -07:00
Mathias Agopian
595264f1af BufferQueue improvements and APIs changes
this is the first step of a series of improvements to
BufferQueue. A few things happen in this change:

- setSynchronousMode() goes away as well as the SynchronousModeAllowed flag
- BufferQueue now defaults to (what used to be) synchronous mode
- a new "controlled by app" flag is passed when creating consumers and producers
  those flags are used to put the BufferQueue in a mode where it
  will never block if both flags are set. This is achieved by:
  - returning an error from dequeueBuffer() if it would block
  - making sure a buffer is always available by replacing
    the previous buffer with the new one in queueBuffer()
    (note: this is similar to what asynchrnous mode used to be)

Note: in this change EGL's swap-interval 0 is broken; this will be
fixed in another change.

Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
2013-07-18 22:28:18 -07:00
Dianne Hackborn
913b63d235 Follow framework change to track started ops by proc.
Change-Id: Ibbce3bf6556f45751c74bab045b46377e56bff9b
2013-07-17 17:26:15 -07:00
Jean-Baptiste Queru
384f55fff0 Merge "Tweaks for forward compatibility" into stage-aosp-master 2013-07-16 20:11:18 +00:00
Jean-Baptiste Queru
b6a0ca7276 Tweaks for forward compatibility
Change-Id: Id6a96521b3fd5bd2a034fe89cfa4d3a179a66328
2013-07-16 09:38:03 -07:00
Ying Wang
6fda52bc7d always pass the BufferQueue explicitely to consumers
to fix tests build.

Change-Id: I70b9cf5b0d76df709e474181eeb7c42a54ecf43a
2013-07-15 22:20:35 -07:00
Mathias Agopian
7f069d79e7 Merge "always pass the BufferQueue explicitely to consumers" 2013-07-16 02:17:58 +00:00
Jeff Brown
7556c37b1c Merge "Completely remove skia dependency from libinput." 2013-07-16 01:49:55 +00:00
Jeff Brown
313eff7bb7 Completely remove skia dependency from libinput.
Including the tests...

Change-Id: I6ec8f1a5ae7e7514831d7e3b430b3b37b0841b92
2013-07-15 18:49:00 -07:00
michaelwr
174c26045c Merge "Add a keycode to switch audio tracks (2/2)" 2013-07-16 01:38:36 +00:00
Jeff Brown
5a2f68e5a5 Fix PDK build.
Quick hack to remove Skia dependency from libinput.

Change-Id: Ibaf2e312236f5e3f7251fa903ce381456a77467c
2013-07-15 17:31:13 -07:00
Jeff Brown
40c9e0a398 Add skeleton of input flinger.
Change-Id: I7f25080e446d4d3d9de9b18fe432a09bc751e0d9
2013-07-15 16:03:14 -07:00
Jeff Brown
ada11c5e67 Make getCallingUid/Pid const.
Change-Id: I1853b21eaa45d85274189dfd72f73fec48d0d6b7
2013-07-15 15:08:39 -07:00
Mathias Agopian
8f938a5338 always pass the BufferQueue explicitely to consumers
Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
2013-07-12 22:06:26 -07:00
Jaekyun Seok
8d06dcf9c6 Add a keycode to switch audio tracks (2/2)
A key to switch audio tracks is general on media devices like blu-ray.

Bug: 9728155
Change-Id: I13ebbc64321f3cf10370f9a605f3d94ea0d16d6d
2013-07-12 17:23:45 +09:00
Michael Wright
931fd6dee7 Add input device property for buttons under touchpads
Bug: 8990644
Change-Id: I6df5fb9e11199173d62523928082db428af55394
2013-07-11 15:24:09 -07:00
Elliott Hughes
7b4d5355fb am 54d97c88: am 9da67a94: am 67481607: Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""
* commit '54d97c88b57d2c341f0629c9648d4400a34e4f41':
  Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
2013-07-11 10:16:47 -07:00
Andy McFadden
1585c4d9fb Pay attention to buffer timestamps
When acquiring a buffer, SurfaceFlinger now computes the expected
presentation time and passes it to the BufferQueue acquireBuffer()
method.  If it's not yet time to display the buffer, acquireBuffer()
returns PRESENT_LATER instead of a buffer.

The current implementation of the expected-present-time computation
uses approximations and guesswork.

Bug 7900302

Change-Id: If9345611c5983a11a811935aaf27d6388a5036f1
2013-07-10 15:38:40 -07:00
Elliott Hughes
54d97c88b5 am 9da67a94: am 67481607: Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""
* commit '9da67a9427f695128b5da61c8f987fd9198a5e05':
  Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
2013-07-09 15:35:33 -07:00
Elliott Hughes
9da67a9427 am 67481607: Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""
* commit '674816078588d0951c3c9bdaf26ecc9e9b3f2e0a':
  Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
2013-07-09 15:30:48 -07:00
Elliott Hughes
6748160785 Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."" 2013-07-09 22:27:17 +00:00
Elliott Hughes
2dccfdcd26 Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
This reverts commit ddd286301b, because the third-party library in question has now been fixed.

Change-Id: Ic195a913f90b36268ed9d6e60be520decb4e198d
2013-07-09 22:15:42 +00:00
Glenn Kasten
06b6aed2f1 Merge "mv libcpustats from frameworks/native to frameworks/av" 2013-07-08 15:40:51 +00:00
Todd Poynor
8d96cab8bf binder: add polling / single-threaded operation
This is currently safe to do only for processes that disallow any binder
threads to be created: setThreadPoolMaxThreadCount(0).

Change-Id: I8a27f3cf26f4d51edb7f222af487ac256cbcab65
2013-07-04 00:19:09 +00:00
keunyoung
80b5cf9934 do not build libinput in PDK
- skia is not available in PDK, and it causes build break.

bug: 9528927
Change-Id: I89663e4a4bd52858506e3b52fbf8ca85d9992363
2013-07-02 10:45:21 -07:00
Jeff Brown
5912f95d26 Move input library code from frameworks/base.
Change-Id: I4983db61b53e28479fc90d9211fafff68f7f49a6
2013-07-01 20:11:26 -07:00
Glenn Kasten
abd070ee43 mv libcpustats from frameworks/native to frameworks/av
OK to lose history

Change-Id: I18bfd988f19d037e480c27134eea21c8edcbfbf3
2013-06-18 09:38:41 -07:00
Jeff Tinker
fc1f308ca1 am de836890: am ef07386e: Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
* commit 'de836890abc7b5381e285833052375cbb85730cb':
  Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
2013-06-11 20:11:43 -07:00
Jeff Tinker
de836890ab am ef07386e: Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
* commit 'ef07386e2fca73680214ececc3c9c0ecbb0f6d88':
  Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
2013-06-11 20:09:27 -07:00
Jeff Tinker
ef07386e2f Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
Adds logging to help determine what is happening to the /dev/binder
fd and dump the process state when it happens.

bug: 8912673
Change-Id: I2aa0c66fc499e91e0bf9ee4ae20404bec35adc82
2013-06-11 18:03:01 -07:00
Zhijun He
b4b63704c0 CpuConsumer: Add set buffer size and format functions.
Add setDefaultBufferSize() and setDefaultBufferFormat(). ImageReader JNI need
them.

Bug: 9254294
Change-Id: I7d2464d43b0ca73fbb834ed22cecbfbb30eef60c
2013-06-10 13:34:01 -07:00
Michael Wright
ae4d9dd0da Merge "Added bitwise-or and bitwise-and to BitSet" 2013-05-31 03:31:49 +00:00
Michael Wright
24beb02a7a Added bitwise-or and bitwise-and to BitSet
Change-Id: I9bbf41f9d2d4a2593b0e6d7d8be7e283f985bade
2013-05-30 18:40:04 -07:00
Jeff Sharkey
05431a94d4 Merge "Bring back overloading to print String8/16." 2013-05-30 21:33:36 +00:00
Jeff Brown
af0f8c0a56 am 255405eb: am 86b2ecdd: Merge "fix mem leak on error handling"
* commit '255405eb19e6a3fa7f7bb4de9b07beacdf65ece9':
  fix mem leak on error handling
2013-05-30 14:23:58 -07:00
Jeff Sharkey
8cb8925921 Bring back overloading to print String8/16.
Change-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121
2013-05-30 14:04:28 -07:00
Jeff Brown
255405eb19 am 86b2ecdd: Merge "fix mem leak on error handling"
* commit '86b2ecdd311fca2e1e4a3504bf96bb23c5630492':
  fix mem leak on error handling
2013-05-29 19:01:17 -07:00
Hyejin Kim
3f727c0ea3 fix mem leak on error handling
Change-Id: I40d8e371c46184aa701fa676246201a9d8f6e27d
2013-05-28 18:39:02 -07:00
Lajos Molnar
9e3cb55b8f BufferQueue: remove freeAllBuffersExceptHeadLocked()
Now that we are having separate buffer-instances for the buffer-
queue, we can free all buffers; we don't have to keep the head
alive.

Change-Id: I023e9161a2501d99333f8868ce438afa914ec50f
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
2013-05-23 22:21:13 +00:00
Lajos Molnar
c5d7b7d323 BufferQueue: track buffer-queue by instance vs. by reference
Instead of representing the buffer-queue as a vector of buffer
indices, represent them as a vector of BufferItems (copies).
This allows modifying the buffer slots independent of the queued
buffers.

As part of this change, BufferSlot properties that are only
been relevant in the buffer-queue have been removed.

Also, invalid scalingMode in queueBuffer now returns an error.

ConsumerBase has also changed to allow reuse of the same
buffer slots by different buffers.

Change-Id: If2a698fa142b67c69ad41b8eaca6e127eb3ef75b
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
2013-05-23 22:17:54 +00:00
Nick Kralevich
058219f51d Merge "Remove unnecessary header file." 2013-05-17 21:58:50 +00:00
Nick Kralevich
06a582e8b5 Remove unnecessary header file.
In b2cac4ff37, the last
reference to property_get was removed, but the include
file remained. Remove it.

This is causing me unrelated problems.

Change-Id: I87bbfbfa5871f6da4a1b00037a225f67bbd75881
2013-05-17 11:06:39 -07:00
Mathias Agopian
2381033ad0 am e6eef6c1: am ea74d3b7: make the warning timout of Fence::waitForever() implicit and longer
* commit 'e6eef6c136b007f3a7e1e19884875b855c0c5f95':
  make the warning timout of Fence::waitForever() implicit and longer
2013-05-17 10:18:45 -07:00
Mathias Agopian
ea74d3b78d make the warning timout of Fence::waitForever() implicit and longer
- timeout is now 3 seconds instead of 1
- simplifies the API a bit
- allows us to change/tweak this timeout globaly

Bug: 8988871

Change-Id: I8d3c6ec43a372f602fb3f29856710339f86c0ec9
2013-05-16 18:15:57 -07:00
Mathias Agopian
f3e85d4327 take the "transparent region" into account for blending
until now it was only used to discard a layer entirely.
we're now reducing the size of the layer if it is still
visible, if possible.

this works for instance when a surfaceView is used and
only the menu bar is displayed over it.

Change-Id: I3f5527c5cd1e69ecc968272c8948f1513ada8c55
2013-05-10 18:35:43 -07:00
Mathias Agopian
6c7f25afb7 reformat Rect.{cpp|h}
Change-Id: I45b1f6646541a1abacce1e70df00a770e47b820e
2013-05-10 18:03:31 -07:00
Mathias Agopian
a6cb0397da remove reserved virtual slots
these consume small amount of space (plt) in every library that
links against libutils.

Change-Id: I1b6b3dd9098aa5a051243f7a5dbf91cd7dcb8b2c
2013-05-09 14:57:05 -07:00
Eino-Ville Talvala
d487ca1ab3 am 87ab83d9: am f743e3db: Merge "Add support for HAL_PIXEL_FORMAT_YCbCr_420_888" into jb-mr2-dev
* commit '87ab83d96b9d826e94a7169a6205bcf9c2ee633a':
  Add support for HAL_PIXEL_FORMAT_YCbCr_420_888
2013-05-09 10:19:01 -07:00
Eino-Ville Talvala
f743e3db27 Merge "Add support for HAL_PIXEL_FORMAT_YCbCr_420_888" into jb-mr2-dev 2013-05-09 17:13:22 +00:00
Mathias Agopian
8050299f5b new String8, String16 ctors to initialize empty static strings with static linkage
when libutils is statically linked, the ordering of the static
initializer is not guaranteed and therefore it's unsafe to use
empty static strings: e.g.:

static String8 sThisStaticStringIsNotSafe;

instead, this new constructor can be used:

static String8 sThisStaticStringIsSafe(kEmptyString);

Change-Id: Ia3daf1cab1c97d021c0ee9c2b394b5e27e8d6c0d
2013-05-08 18:13:07 -07:00
Mathias Agopian
002e1e58df libutils clean-up
Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
2013-05-07 18:28:11 -07:00
Todd Poynor
b4f1a027cb Merge "String8: ensure static init done prior to empty string reference" 2013-05-07 23:30:22 +00:00