99b18b447dec188bcec37b415603b9dd400fc7e1 |
|
28-Mar-2014 |
Dan Stoza <stoza@google.com> |
BufferQueue: Add StreamSplitter Adds a StreamSplitter class, that takes one IGraphicBufferConsumer interface and multiple IGraphicBufferProducer interfaces and implements a one-to-many broadcast of GraphicBuffers (while managing fences correctly). Change-Id: I38ecdf3e311ac521bc781c30dde0cc382a4376a3
/frameworks/native/libs/gui/Android.mk
|
f0eaf25e9247edf4d124bedaeb863f7abdf35a3e |
|
21-Mar-2014 |
Dan Stoza <stoza@google.com> |
BufferQueue: Add producer buffer-released callback Add a callback to the producer side, onBufferReleased, which will be called every time the consumer releases a buffer back to the BufferQueue. This will enable a buffer stream splitter to work autonomously without having to block on dequeueBuffer. The binder object used for the callback replaces the generic IBinder token that was passed into IGraphicBufferProducer::connect to detect the death of the producer. If a producer does not wish to listen for buffer release events, it can pass in an instance of the DummyProducerListener class defined in IProducerListener.h, if it even cares about death events (BufferQueue doesn't enforce the token being non-NULL, though perhaps we should). Change-Id: I23935760673524abeafea2b58dccc3583b368710
/frameworks/native/libs/gui/Android.mk
|
289ade165e60b5f71734d30e535f16eb1f4313ad |
|
28-Feb-2014 |
Dan Stoza <stoza@google.com> |
Split BufferQueue into core + producer + consumer Change-Id: Idc39f1e511d68ce4f02202d35425a419bc0bcd92
/frameworks/native/libs/gui/Android.mk
|
a4e19521ac4563f2ff6517bcfd63d9b8d33a6d0b |
|
01-Aug-2013 |
Mathias Agopian <mathias@google.com> |
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
/frameworks/native/libs/gui/Android.mk
|
595264f1af12e25dce57d7c5b1d52ed86ac0d0c9 |
|
17-Jul-2013 |
Mathias Agopian <mathias@google.com> |
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
/frameworks/native/libs/gui/Android.mk
|
8a0cb4ee0b6c351de82987efb472fa38dfaf608a |
|
10-Apr-2013 |
Ying Wang <wangying@google.com> |
Add liblog Bug: 8580410 Change-Id: I2ca4fa00dde0b574df3619134836bcb9315bd506
/frameworks/native/libs/gui/Android.mk
|
ca08833d5ea99130797e10ad68a651b50e99da74 |
|
29-Mar-2013 |
Mathias Agopian <mathias@google.com> |
don't use compile-time configuration of libgui as much as possible We now detect at runtime which sync features to use, which allows us to remove a lot of the compile-time configuration options. There is still one option though, to disable KHR_fence_sync on some devices (which are more efficient without it). - added a backdoor to get the vendor's EGL strings the new logic is: - use always ANDROID_native_fence_sync if available - fallback to KHR_fence_sync if available and not disabled by the compile-time option - use KHR_wait_sync if available and either of the above is enabled Change-Id: I9c4b49d9ff1151faf902cc93bd53ea5f205aaabf
/frameworks/native/libs/gui/Android.mk
|
4d9b822e2c18142e55fe2611aa6cd7dc7d4a62c6 |
|
13-Mar-2013 |
Mathias Agopian <mathias@google.com> |
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
/frameworks/native/libs/gui/Android.mk
|
e3c697fb929c856b59fa56a8e05a2a7eba187c3d |
|
15-Feb-2013 |
Mathias Agopian <mathias@google.com> |
Refactoring: Rename SurfaceTextureClient to Surface Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
/frameworks/native/libs/gui/Android.mk
|
2adaf04fab35cf47c824d74d901b54094e01ccd3 |
|
18-Dec-2012 |
Andy McFadden <fadden@android.com> |
Rename ISurfaceTexture and SurfaceTexture The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: Ia03e468888025b5cae3c0ee1995434515dbea387
/frameworks/native/libs/gui/Android.mk
|
392edd88cb63d71a21a86a02cf9c56ac97637128 |
|
30-Nov-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: Move GraphicBufferAlloc to libgui This change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui. Change-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9
/frameworks/native/libs/gui/Android.mk
|
a573945df7d21cfb73aa9cdba41561105e2ffb01 |
|
28-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: enable fence support for exynos5 Change-Id: Iffc48412b8c951116a956a3ac7dab8d75eed13da Bug: 7238122
/frameworks/native/libs/gui/Android.mk
|
3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b |
|
03-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: fix up compile options This change adds debug info to SurfaceFlinger's dumpsys to indicate that the USE_WAIT_SYNC compile option was enabled, and it removes the ALLOW_DEQUEUE_CURRENT_BUFFER option. Bug: 7238122 Change-Id: I70e08e34c2ef58aa6d2f88229e781a119f84b5a9
/frameworks/native/libs/gui/Android.mk
|
4803b74e2a12a508f7bbfde6f6a962fe3299c61c |
|
25-Sep-2012 |
Andy McFadden <fadden@android.com> |
Show build config in dumpsys SurfaceFlinger This adds a line to the "dumpsys SurfaceFlinger" output that shows build-time configuration values. Example: Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \ [libgui USE_FENCE_SYNC] Bug 7206633 Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
/frameworks/native/libs/gui/Android.mk
|
42223f6fdd582dc4e87ad94c212adaed3341f154 |
|
10-Sep-2012 |
Jeff Boody <jboody@codeaurora.org> |
gui: conditionally set USE_NATIVE_FENCE_SYNC for msm8960 Change-Id: Ib7ad11597ef7c79162a0b0a49a1b8ae16d192c10 Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/native/libs/gui/Android.mk
|
e232fdca2a62dc5e81b550f5be8710e36174e7a6 |
|
21-Aug-2012 |
Eino-Ville Talvala <etalvala@google.com> |
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
/frameworks/native/libs/gui/Android.mk
|
1a4d883dcc1725892bfb5c28dec255a233186524 |
|
03-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
surfaceflinger: refactor FrambufferSurface This change refactors the FramebufferSurface class to inherit from the new ConsumerBase class. Bug: 6620200 Change-Id: I46ec942ddb019658e3c5e79465548b171b2261f2
/frameworks/native/libs/gui/Android.mk
|
72131d9ef13ffaf3af4ca2fe700426b82baac9fa |
|
05-Aug-2012 |
Mathias Agopian <mathias@google.com> |
remove unneeded dependencies in libhardware Change-Id: Ibb8d698d594216d0746b0e7270cf87d7e5acab2b
/frameworks/native/libs/gui/Android.mk
|
12bd497f280a69ae5fe7694ae3146008cacc0eb6 |
|
31-Jul-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: enable EGL_fence_sync usage for exynos5 Bug: 6876502 Change-Id: I2ec2800881dcba9e4f6ff32ffa1341a2de01f0a2
/frameworks/native/libs/gui/Android.mk
|
ef19414bd8b77a26f5751f3845be79025a8263fe |
|
14-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Transfer HWC release fences to BufferQueue After a HWC set, each SurfaceFlinger Layer retrieves the release fence HWC returned and gives it to the layer's SurfaceTexture. The SurfaceTexture accumulates the fences into a merged fence until the next updateTexImage, then passes the merged fence to the BufferQueue in releaseBuffer. In a follow-on change, BufferQueue will return the fence along with the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the fence to signal before returning. The releaseFence default value for BufferQueue::releaseBuffer() is temporary to avoid transient build breaks with a multi-project checkin. It'll disappear in the next change. Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9
/frameworks/native/libs/gui/Android.mk
|
c20bd43b8a376e40e82b398561739f1074196b13 |
|
23-May-2012 |
Jesse Hall <jessehall@google.com> |
am 138a8d75: am e1082496: Enable SurfaceTexture fence sync for the emulator * commit '138a8d7510e6ba8a402ffacc38c7cc5bfaa5e571': Enable SurfaceTexture fence sync for the emulator
|
e10824965c64663b8878b808206ee382c7ab6af8 |
|
21-May-2012 |
Jesse Hall <jessehall@google.com> |
Enable SurfaceTexture fence sync for the emulator The host-accelerated GL ES driver doesn't do the implicit synchronization required when fence sync isn't used. Bug: 6515813 Change-Id: I6a667f2db6b519f3557b5abda78775f767841dae
/frameworks/native/libs/gui/Android.mk
|
e41b318bc4708e1dee9364e73215ff0d51fb76a1 |
|
17-Apr-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Add a BufferQueue CPU consumer. Aimed for use cases where gralloc buffers need to be consumed by CPU users, such as camera image data streams. The CpuConsumer is a synchronous queue, which exposes raw pointers to the underlying graphics buffers to applications. Multiple buffers may be acquired at once, up to the limit set at time of construction. Change-Id: If1d99f12471438e95a69696e40685948778055fd
/frameworks/native/libs/gui/Android.mk
|
f71c4ae136f7749b9dfdaa2dd64d771868eeeb2d |
|
24-Mar-2012 |
Daniel Lam <dalam@google.com> |
Added a DummyConsumer for use with BufferQueue. The DummyConsumer is a consumer that can connect to BufferQueue that does nothing. It is required as BufferQueue checks if a consumer is connected. Also fixes a bug where SurfaceTexture was reusing old texture slots. Bug: 6172739 Change-Id: I5e7a118dd4d07807ba4c763200242b5ee7d3412b
/frameworks/native/libs/gui/Android.mk
|
6b091c53000c843211c218ce40287a7edca9bc63 |
|
23-Jan-2012 |
Daniel Lam <dalam@google.com> |
Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue. Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
/frameworks/native/libs/gui/Android.mk
|
bff957f0bd0b7d4085dabaefb0852d428a807134 |
|
23-Jan-2012 |
Daniel Lam <dalam@google.com> |
SurfaceTexture: use fence sync on omap4 & s5pc110 This change enables the use of the EGL_KHR_fence_sync extension in SurfaceTexture on omap4 and s5pc110 platforms. Change-Id: Icad5245bab445413ffb8a7c823c296b678bf3250
/frameworks/native/libs/gui/Android.mk
|
d0566bc26fcf6ca396118701fa11900b627f2c09 |
|
18-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Add support for sending VSYNC events to the framework use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09
/frameworks/native/libs/gui/Android.mk
|
439cf8576d3b846c0aa0944d84372259bf075d51 |
|
29-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Fix build. Revert "Add support for sending VSYNC events to the framework" This reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382. Change-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f
/frameworks/native/libs/gui/Android.mk
|
461afeb9fde149f9455acbadf1257d08d33e8eb3 |
|
18-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Add support for sending VSYNC events to the framework use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794
/frameworks/native/libs/gui/Android.mk
|
93a098fb6eb709aa404f1fb9febabddd2c35e785 |
|
22-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am 8390cf39: am 8646cd42: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1 * commit '8390cf39f8a4f74f7baa91d23cba06894a3fb9b5': enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
|
7c6eba666917308a64fadb0f0e08d7c041311976 |
|
15-Nov-2011 |
Mathias Agopian <mathias@google.com> |
enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices this flag should be enabled for all targets, but currently some have issues with it, so we're turning it on only for tested targets. this will hopefully resolve some performance issues. Bug: 5553562, 5631630 Change-Id: I54c7a9e2068586898ab13e405d95534669260537
/frameworks/native/libs/gui/Android.mk
|
1c46c42c165401566e037d3536480bd2c8c0f811 |
|
17-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am abdade71: am 69c17a11: Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"" into ics-mr1 * commit 'abdade71bc17153696fe2abe281c5a3b0c2e5abe': Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"
|
c21180ee67d645ebe0a0f381e18790609016f6c6 |
|
17-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" This reverts commit e7758be6da85728df6b4215f413660c67c5a9740. Seemed to cause failures un SurfaceTexture. Bug: 5627450
/frameworks/native/libs/gui/Android.mk
|
029f760674b90a1265249b0ea4c9d5d42e2b4454 |
|
15-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am 556a406c: am 3aa684ec: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1 * commit '556a406cf4dd8a7faa318e0d522d899f8b9da7dc': enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
|
251ce852cc1f29808ed9537dae00a9ef7e58edcf |
|
15-Nov-2011 |
Mathias Agopian <mathias@google.com> |
enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices this flag should be enabled for all targets, but currently some have issues with it, so we're turning it on only for tested targets. this will hopefully resolve some performance issues. Bug: 5553562 Change-Id: I939992b4cd0debea980dec0127c72be2dff33af8
/frameworks/native/libs/gui/Android.mk
|
5cae0d0699a169e468fff3e21165f35db12f2cde |
|
21-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Rename SensorChannel to BitTube
/frameworks/native/libs/gui/Android.mk
|
baa44b89ec159fd65230cbb8ebab62d63a513b0b |
|
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Remove the simulator target from all makefiles. Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
/frameworks/native/libs/gui/Android.mk
|
a67932fe6864ac346e7f78b86df11cf6c5344137 |
|
20-Apr-2011 |
Mathias Agopian <mathias@google.com> |
unify SurfaceTexture and Surface Add the concept of synchronous dequeueBuffer in SurfaceTexture Implement {Surface|SurfaceTextureClient}::setSwapInterval() Add SurfaceTexture logging fix onFrameAvailable
/frameworks/native/libs/gui/Android.mk
|
7fcb077c5522c56e266947e073c8750019e5a98a |
|
27-Apr-2011 |
Jamie Gennis <jgennis@google.com> |
libgui: enable tests in the 'tests' build. This change makes the libgui makefile recurse into the tests directory so that the tests get built by a top-level make when TARGET_BUILD_VARIANT=tests. Change-Id: I6f623cc4b86dfeb00b9d21823316dbd9def23110
/frameworks/native/libs/gui/Android.mk
|
d87f162026454f5a3e6437ed0c9ef51651a6b939 |
|
26-Mar-2011 |
Mathias Agopian <mathias@google.com> |
merge libsurfaceflinger_client into libgui this is the first step in unifying surfacetexture and surface. for this reason the header files were not moved, as most of them will eventually go away. NOTE: currently we keep libsurfaceflinger_client.so as an empty library to workaround prebuilt binaries wrongly linking against it. Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
/frameworks/native/libs/gui/Android.mk
|
8ba32fade11abb73f3fd47ea0953c9528eb5b91f |
|
20-Dec-2010 |
Jamie Gennis <jgennis@google.com> |
Add the SurfaceTexture C++ implementation. This change adds the C++ implementation of SurfaceTexture and related classes. The goal of this is for a SurfaceTexture to be passed to camera service or Stagefright in place of a Surface to allow camera preview or decoded video frames to be streamed to an OpenGL ES texture that an application can use. Change-Id: I55c83a7017f1ecb81c9c9e3252cbd118b914296c
/frameworks/native/libs/gui/Android.mk
|
589ce85ee4174829cfedce91b6b2509d2a4002eb |
|
14-Jul-2010 |
Mathias Agopian <mathias@google.com> |
first step at implementing the native sensor support in this commit: - implemented the C stub - implemented the binder interfaces involved - implemented most of the C++ client side missing: - SensorManager cannot connect to the SensorServer yet (because there is no SensorServer yet) Change-Id: I75010cbeef31c98d6fa62fd5d388dcef87c2636b
/frameworks/native/libs/gui/Android.mk
|