Commit Graph

586 Commits

Author SHA1 Message Date
Dan Stoza
b3d0bdf0db BufferQueue: Remove Bn version of create*
It turns out that there's no reason to have both I* and Bn* versions
of the createBufferQueue method, so I removed the Bn* version.

Change-Id: I66aeb09e10458ae540ddf1f38d2d0154ea8f315b
2014-04-07 17:00:26 -07:00
Andy McFadden
fc9aeb8590 am 4215f434: am 6dbcebd0: Merge "Always release a buffer" into klp-modular-dev
* commit '4215f434187d518bf8c9807c9a18a7e0b617f7d2':
  Always release a buffer
2014-04-07 16:58:48 +00:00
Andy McFadden
4215f43418 am 6dbcebd0: Merge "Always release a buffer" into klp-modular-dev
* commit '6dbcebd0430e026fd5d99ba4b4f005bfaa9b8e2b':
  Always release a buffer
2014-04-07 16:52:13 +00:00
Etienne Le Grand
75b332037f am 4369a4eb: Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"
* commit '4369a4ebd5ae7567e7075bc82830b83178099ed5':
  Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"
2014-04-05 09:06:00 +00:00
Etienne Le Grand
30d6fd6b28 Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"
This reverts commit c57a019e11.

Change-Id: I3540565bc3e56a32cf3b176a29216cf68bb763b2
(cherry picked from commit 4369a4ebd5)
2014-04-05 06:13:41 +00:00
Etienne Le Grand
4369a4ebd5 Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"
This reverts commit c57a019e11.

Change-Id: I3540565bc3e56a32cf3b176a29216cf68bb763b2
2014-04-05 05:02:22 +00:00
Etienne Le Grand
33458f72e1 am 00f4dde1: am c57a019e: Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
* commit '00f4dde1aa88576811bca79bc8242e1fc1edb333':
  Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
2014-04-05 03:53:51 +00:00
Etienne Le Grand
00f4dde1aa am c57a019e: Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
* commit 'c57a019e117117c5a76c772970b26cd0f5db8c6a':
  Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
2014-04-05 01:52:28 +00:00
Etienne Le Grand
c57a019e11 Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
Change-Id: If0f3dbdb5d2e9378e1fed4614baee4e750d0c850
2014-04-04 16:31:09 -07:00
Andy McFadden
87a6784780 Always release a buffer
In GLConsumer's updateAndReleaseLocked(), we must release either
the previously-acquired buffer or the newly-acquired buffer.

Bug 13755224

Change-Id: I96adc255400ed008ba6e6ac1725ab3514c7cc8ba
2014-04-04 15:37:08 -07:00
Mark Salyzyn
cece164b23 native gui: 64-bit compile issues
Change-Id: I45f605ff3759fb7ae9f0a6425d557d195f93281e
2014-04-04 10:15:54 -07:00
Wonsik Kim
9cfa49c954 Merge "Declare ownership of native_handle_t object" 2014-04-02 06:13:57 +00:00
Dan Stoza
2443c7903c BufferQueue: Set attached buffers as requested
When a buffer is attached to the producer side, it needs to be marked
as having been requested so that it can be queued successfully.

Change-Id: I90a88b332c415a57921bd094ae635afdf65bff99
2014-03-24 15:03:46 -07:00
Wonsik Kim
0ec54e156b Declare ownership of native_handle_t object
Change-Id: I4e21ff8ea76cfafce943dc059c8f72b42397980e
2014-03-24 15:44:05 +09:00
Dan Stoza
1a0b861790 BufferQueue: Test remote producer and consumer
Adds a test that puts the BufferQueue into its own process and
connects to it over remote binder interfaces. This exposed the fact
that while IGBC was technically binderized, it didn't actually work
when flattened, so this change also fixes that.

Change-Id: I728cdb662a4273ddd3440ed6040a12560313fe68
2014-03-21 11:16:54 -07:00
Wonsik Kim
8ce5c1cc8d Merge "Fill in sideband stream caveat" 2014-03-19 00:41:23 +00:00
Dan Stoza
75555b2eaf Merge "BufferItemConsumer: Use IGBC instead of BQ" 2014-03-18 17:55:06 +00:00
Dan Stoza
14226716f2 Merge "Remove deprecated BufferQueue constructor" 2014-03-18 16:56:15 +00:00
Wonsik Kim
0ee14ca23d Fill in sideband stream caveat
Change-Id: I20db8aea8f13acf31b42db08d90b338da8a5209c
2014-03-17 17:46:53 +09:00
Jesse Hall
49bfda1fbd Fix broken build for more tests
Change-Id: I7bdd12a833233724805d01d993541ee05caa9bf6
2014-03-13 15:09:17 -07:00
Jesse Hall
73ed82f809 Merge "Add sideband streams to BufferQueue and related classes" 2014-03-13 20:28:17 +00:00
Dan Stoza
6d5a7bb970 Remove deprecated BufferQueue constructor
Bug: 13415624
Change-Id: I52f58a4d22296d9fc3cdbd4ad53eb10a785db3ce
2014-03-13 11:39:09 -07:00
Dan Stoza
fe50d2a0a1 BufferItemConsumer: Use IGBC instead of BQ
Change-Id: Id1756ac62954ba412f2c23c5fa6e5d760c299347
2014-03-13 11:12:04 -07:00
Dan Stoza
f522af7eb6 BufferQueue: Allow returning interfaces as I*/Bn*
This adds a second createBufferQueue method that returns
sp<IGraphicBuffer*> interfaces instead of sp<BnGraphicBuffer*>, since
most clients don't actually need the Binderized versions (but some
might).

Change-Id: Iaf4f719c96ddb6f704afc75cf52be22588173e32
2014-03-12 10:17:20 -07:00
Jesse Hall
399184a4cd Add sideband streams to BufferQueue and related classes
Sideband streams are essentially a device-specific buffer queue that
bypasses the BufferQueue system. They can be used for situations with
hard real-time requirements like high-quality TV and video playback
with A/V sync. A handle to the stream is provided by the source HAL,
and attached to a BufferQueue. The sink HAL can read buffers via the
stream handle rather than acquiring individual buffers from the
BufferQueue.

Change-Id: Ib3f262eddfc520f4bbe3d9b91753ed7dd09d3a9b
2014-03-11 12:23:14 -07:00
Dan Stoza
9f3053de78 BufferQueue: Allow detaching/reattaching buffers
Adds detachBuffer and attachBuffer calls to both the producer and
consumer sides of BufferQueue. Buffers may be detached while dequeued
by the producer or acquired by the consumer, and when attached, enter
the dequeued and acquired states, respectively.

Bug: 13173343
Change-Id: Ic152692b0a94d99e0135b9bfa62747dab2a54220
2014-03-10 16:45:38 -07:00
Andy McFadden
c0c6a0cd4c Merge "FramebufferNativeWindow.h is obsolete" 2014-03-06 15:31:39 +00:00
Andy McFadden
2e336496c3 FramebufferNativeWindow.h is obsolete
This adds a deprecation #warning to the header.

Change-Id: Ia32f16e491cb01d435ec8846dda3d9a7d1a9cfc5
2014-03-05 15:42:53 -08:00
Dan Stoza
c1ef3efecb Merge "Change BufferQueue into producer/consumer wrapper" 2014-03-05 18:55:13 +00:00
Dan Stoza
3e96f1982f Change BufferQueue into producer/consumer wrapper
Now that BufferQueue has been split into core + producer + consumer,
rewrite BufferQueue to be a thin layer over a producer and consumer
interface. Eventually, this layer will be deprecated in favor of
only using either the producer or consumer interface, as applicable.

Change-Id: I340ae5f5b633b244fb594615ff52ba50b9e2f7e4
2014-03-04 15:58:03 -08:00
Igor Murashkin
8be494eb09 am 1738d4fc: am 462fb3a8: Merge "gui: Fix return code assert in CpuConsumer_test."
* commit '1738d4fca78b7678d09d5c8898e1f80fa63b4a6d':
  gui: Fix return code assert in CpuConsumer_test.
2014-03-04 22:35:04 +00:00
Igor Murashkin
1738d4fca7 am 462fb3a8: Merge "gui: Fix return code assert in CpuConsumer_test."
* commit '462fb3a8d597fffef3d5534544428d5cee9d8c16':
  gui: Fix return code assert in CpuConsumer_test.
2014-03-04 21:10:33 +00:00
Igor Murashkin
462fb3a8d5 Merge "gui: Fix return code assert in CpuConsumer_test." 2014-03-04 21:05:41 +00:00
Dan Stoza
4a07dc8d21 Merge "Split BufferQueue into core + producer + consumer" 2014-03-04 20:03:59 +00:00
Dan Stoza
289ade165e Split BufferQueue into core + producer + consumer
Change-Id: Idc39f1e511d68ce4f02202d35425a419bc0bcd92
2014-03-04 09:33:14 -08:00
Igor Murashkin
0f1889efe7 gui: Surface::dequeueBuffer no locker holds mutex while blocking in binder
- This also fixes a hang in the camera service when trying to shut down
  if the producer is infinitely blocked while trying to get a new buffer.

Bug: 13250382
Change-Id: I32ca82162bb8645b97dbe084e13e05ca05529a42
2014-03-03 11:42:27 -08:00
Dan Stoza
fb83d84694 Merge "Fix calls to captureScreen" 2014-02-20 02:43:37 +00:00
Dan Stoza
8d7599633f Fix calls to captureScreen
Change-Id: Ic0ff47afa29f143131906082dff79d4e907b7143
2014-02-19 18:35:30 -08:00
Andy McFadden
44c35ec4a9 Allow "opaque" flag to be updated. DO NOT MERGE
Moves the "opaque layer" from Layer to Layer::State.  This allows
it to be updated as part of a transaction.

Bug 12387406

Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
2014-02-18 15:55:42 -08:00
Dan Stoza
c701401f8c Allow disabling layer rotation during screenshots
Add the ability to ignore layers' transformation matrices during
screenshot capture, which will allow the window manager to capture
unrotated images for recents during the device rotation animation.

Bug: 11805195
Change-Id: I854d87bc84ca06ef9a054a454af1c080ee66fbb8
2014-02-14 23:10:42 +00:00
Andy McFadden
d592f32df9 Merge "Allow "opaque" flag to be updated" 2014-01-30 21:42:02 +00:00
Andy McFadden
4125a4ffaf Allow "opaque" flag to be updated
Moves the "opaque layer" from Layer to Layer::State.  This allows
it to be updated as part of a transaction.

Bug 12387406

Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
2014-01-29 17:36:49 -08:00
Dan Stoza
b8072d84ba libgui: Fix segfault in SRGB tests
Make the test exit cleanly if the output buffer is never mapped.

Bug: 12761226
Change-Id: If789f02198851a17b11ee06f612f9ba7e06da754
2014-01-29 15:02:14 -08:00
Dan Stoza
6a5d35dd5c libgui: Add a test for SRGB surfaces
Add SRGBTest.RenderToSRGBSurface, which validates that passing the
SRGB colorspace attributes to eglCreateWindowSurface actually
results in an SRGB surface by comparing the output values to those
of a standard RGB surface.

Change-Id: I3d5fef8070ed8fa2357ddd1c5fcc849ae3fbd12a
2014-01-07 16:43:39 -08:00
Dan Stoza
3ed4e0b365 libgui: Add a test suite for SRGB testing
This is the start of an SRGB test suite. Currently it has a test for
SRGB texture reads in GLES3.

Change-Id: I553ee2691dc92b98cae7a003084d4e2823d40d95
2013-12-12 10:58:56 -08:00
Dan Stoza
cb1fcdedaa libgui: Split SurfaceTexture tests into more files
Extract the many different test fixtures and suites in SurfaceTexture_test.cpp
into separate files. No real functional changes, just tweaking headers to keep
things building (and adding a few copyright headers I forgot last time).

Change-Id: Id801bd5d617f0cc61d22508fb9b71b41694bdecf
2013-12-09 09:52:02 -08:00
Alistair Strachan
8f76b6bedf gui: Fix return code assert in CpuConsumer_test.
The CpuConsumer error code was changed recently from INVALID_OPERATION to
NOT_ENOUGH_DATA, however the CpuConsumer_test was not updated. This change
fixes the return code checked by CpuConsumer_test so the test no longer
fails.

Change-Id: Ie548ddcb313fa34c130ac63355090cb44ac15ebf
2013-12-04 14:57:22 -08:00
Dan Stoza
f3730fb8f7 libgui: Fix a couple of minor bugs, extract GLTest
Fix a couple of minor bugs in existing tests, and extract the GLTest class into
its own files.

Change-Id: I7d9570a0d3dbc9c5d7f9b13f2017607af42744b3
2013-11-26 15:48:53 -08:00
Igor Murashkin
7ea777f097 gui: Add tests for IGraphicBufferProducer
* Basic tests only. Needs more complicated queue/dequeue tests.
* Also needs consumer-side tests to really be thorough.

Change-Id: I1099dd56d65b6e9dfa15377726d6054ce657c0ca
2013-11-21 14:06:13 -08:00
Igor Murashkin
4be18a3566 gui: Remove BufferQueue::MIN_UNDEQUEUED_BUFFERS
Change-Id: I7c0cc36046dbbdb9c0e85acfe5027293d1131275
2013-11-18 12:36:15 -08:00