summaryrefslogtreecommitdiffstats
path: root/include/gui/BufferItemConsumer.h
Commit message (Collapse)AuthorAgeFilesLines
* BufferItemConsumer: Use IGBC instead of BQDan Stoza2014-03-131-3/+3
| | | | Change-Id: Id1756ac62954ba412f2c23c5fa6e5d760c299347
* gui: Remove BufferQueue::MIN_UNDEQUEUED_BUFFERSIgor Murashkin2013-11-181-1/+2
| | | | Change-Id: I7c0cc36046dbbdb9c0e85acfe5027293d1131275
* All consumers now take an IGraphicBufferConsumer instead of a BufferQueueMathias Agopian2013-08-061-2/+0
| | | | | | | | | | 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
* BufferQueue improvements and APIs changesMathias Agopian2013-07-181-1/+3
| | | | | | | | | | | | | | | | | | | | 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
* always pass the BufferQueue explicitely to consumersMathias Agopian2013-07-121-1/+3
| | | | Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
* Pay attention to buffer timestampsAndy McFadden2013-07-101-1/+2
| | | | | | | | | | | | | | 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
* BufferItemConsumer: add functions to set default buffer format/sizeIgor Murashkin2013-04-161-0/+8
| | | | | Bug: 8629088 Change-Id: I06f2e26a70d6dbcfcd70b08b4461e8e401f6e83f
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-181-1/+1
| | | | | | | | | | 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
* Add BufferItemConsumer, a simple BufferQueue consumer.Eino-Ville Talvala2012-08-211-0/+91
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