History log of /frameworks/native/libs/gui/GLConsumer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e1e1e75173d557466e824782c61802a8415c7073 14-Jun-2016 Craig Donner <cdonner@google.com> Merge "Revert "GLConsumer: add build-time disable of gpu protected content"" into nyc-dev
4df76b2f5f7e8be128b5ec7a2d8d03845effaea0 14-Jun-2016 Craig Donner <cdonner@google.com> Revert "GLConsumer: add build-time disable of gpu protected content"

This reverts commit dea97b7aa2b5cfbb7d42f30bcbf86a01778b609b.

Bug: 28545166

Change-Id: I4b069e14c2b99e190ebdea6df1ed83827ffe17b6
/frameworks/native/libs/gui/GLConsumer.cpp
39e4428c8196a99bb882ee8c1e16ad697372a9fb 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "libgui: Prevent segfaulting in abandoned ConsumerBase" into nyc-dev
876c150be2164a20d3fc6da44f0e668e00960dda 05-May-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Add debug dump if about to segfault"" into nyc-dev
65d9f6d63ab3bad1d835df14c662028a748eb3c5 04-May-2016 Pablo Ceballos <pceballos@google.com> libgui: Prevent segfaulting in abandoned ConsumerBase

mConsumer will be null if the ConsumerBase has been abandoned. Prevent
it from being dereferenced in those cases.

Bug 27718219

Change-Id: I9a3ecadb0655ec61cd2fd15ee98b3e1bef078cff
/frameworks/native/libs/gui/GLConsumer.cpp
73f2c8b123abf245f21ed17db6b2ee5f7f762563 04-May-2016 Pablo Ceballos <pceballos@google.com> Revert "Add debug dump if about to segfault"

This reverts commit 6366a10fd8223c91f1a3422620800cd6ac67ef90.

Bug 27674961
/frameworks/native/libs/gui/GLConsumer.cpp
dea97b7aa2b5cfbb7d42f30bcbf86a01778b609b 04-May-2016 Jesse Hall <jessehall@google.com> GLConsumer: add build-time disable of gpu protected content

Some drivers incorrectly claim support for EGL_EXT_protected_content.
Until we've been able to verify that devices which claim support
actually implement it properly, require that GPU access to protected
content be manually enabled per-device.

Bug: 28545166
Change-Id: Ic10e47a99c38737ce1c39439fe9347d628aec491
/frameworks/native/libs/gui/GLConsumer.cpp
188b9f00358d1f9f880b6d9deadc0b54f07b888e 29-Apr-2016 Craig Donner <cdonner@google.com> Merge "Support EGL_EXT_protected_content in GLConsumer." into nyc-dev
aec8697fcaa8bb30e335f7850cffdd0364c35532 29-Apr-2016 Craig Donner <cdonner@google.com> Support EGL_EXT_protected_content in GLConsumer.

When the consumer creates an EGLImage, it must now pass
EGL_PROTECTED_CONTENT_EXT to eglCreateImageKHR for protected buffers to be
mapped onto the GPU. This allows us to no longer need QCOM specific flags in
a few places (already removed).

Bug: 27536318
Change-Id: I1c49886d2dcbdceaf5fa9a33288753115651b4f2
/frameworks/native/libs/gui/GLConsumer.cpp
1a61da5e28fa16ad556a58193c8bbeb32a5f636d 28-Apr-2016 John Reck <jreck@google.com> Return the transform to apply in getLastQueuedBuffer

Bug: 28428955
Change-Id: Id48f7d3bf3f5deb074cf0a6a52a41caac875db41
/frameworks/native/libs/gui/GLConsumer.cpp
59d12e90ae09171fc8b50fd8fd02e3247c04840c 28-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Rename single buffer mode to shared buffer mode" into nyc-dev
6366a10fd8223c91f1a3422620800cd6ac67ef90 22-Mar-2016 Pablo Ceballos <pceballos@google.com> Add debug dump if about to segfault

Bug 27674961

Change-Id: I82242d2c1b7cc9646d233bab896f718652e9ce2c
/frameworks/native/libs/gui/GLConsumer.cpp
3559fbf93801e2c0d9d8fb246fb9b867a361b464 17-Mar-2016 Pablo Ceballos <pceballos@google.com> Rename single buffer mode to shared buffer mode

Change-Id: Id43d0737d9367981644e498942ebc0077d61038c
/frameworks/native/libs/gui/GLConsumer.cpp
a4c2c3ba1ed2d741edfa652bf8f2bab229389e8e 23-Feb-2016 Dan Stoza <stoza@google.com> Merge changes I8cc3ce7d,Ie1a7bfd2,Id472ed4e into nyc-dev

* changes:
libgui: Allow for pending releases in GLConsumer
SF: HWC2 C++ shim
SF: HWC2On1Adapter
3ce460440b0ab0b6d6407c9d8735b19f6e3b8408 18-Nov-2015 Dan Stoza <stoza@google.com> libgui: Allow for pending releases in GLConsumer

Adds the ability for GLConsumer to record a pending release instead of
releasing the buffer immediately. This will be used by SurfaceFlinger
to latch a new buffer without having to immediately release the old
one, since it needs to get a fence from HWC before releasing.

Change-Id: I8cc3ce7d5ff80e2ea4b4d681b028db042352d229
/frameworks/native/libs/gui/GLConsumer.cpp
ff95aabbcc6e8606acbd7933c90eeb9b8b382a21 14-Jan-2016 Pablo Ceballos <pceballos@google.com> Add interface for controlling single buffer auto refresh

- Adds a boolean to BufferQueue that controls whether or not auto
refresh is enabled in SurfaceFlinger when in single buffer mode.
- Adds plumbing up to ANativeWindow.
- When enabled, it will cache the shared buffer slot in Surface in
order to prevent the Binder transaction with SurfaceFlinger.

Bug 24940410

Change-Id: I83142afdc00e203f198a32288f071d926f8fda95
/frameworks/native/libs/gui/GLConsumer.cpp
c2e7788721489c5a2ef681fd0bfa591d2ce41175 17-Dec-2015 Robert Carr <racarr@google.com> Expose setScalingMode from Surface.

While we are here fix a validation error causing
NATIVE_WINDOW_SCALING_MODE_NO_SCALE_CROP to never be applied.
Furthermore, we remove GLConsumer logic causing the scaling mode to
be reinitialized when buffers change.

Bug: 26010823
Change-Id: I1bf1e4fdc2eded67ff401783cf24f920e4684326
/frameworks/native/libs/gui/GLConsumer.cpp
33fcc2ecf707bfa15360d6d3ec95c778423d3032 21-Nov-2015 Pablo Ceballos <pceballos@google.com> Don't generate EGL fence in single buffer mode

Don't do sync operations or generate an EGLFence in SurfaceFlinger's
GLConsumer if re-using the same slot for consecutive buffers.

Bug 24940410

Change-Id: I1d42c6e1ebb3be241d3e332e726c898e8671cc8d
/frameworks/native/libs/gui/GLConsumer.cpp
ccdfd60d79a8b7f1ed6401d0f2e8e29166a10584 08-Oct-2015 Pablo Ceballos <pceballos@google.com> BQ: Add support for single buffer mode

- Adds a single buffer mode to BufferQueue. In this mode designate the
first dequeued buffer as the shared buffer. All calls to dequeue()
and acquire() will then return the shared buffer, allowing the
producer and consumer to share it.
- Modify the buffer slot state tracking. Add a new SHARED state for
the shared buffer in single buffer mode. Also track how many times
a buffer has been dequeued/queued/acquired as it's possible for a
shared buffer to be both dequeued and acquired at the same time, or
dequeued/acquired multiple times. This tracking is needed to know
when to drop the buffer out of the SHARED state after single buffer
mode has been disabled.
- Add plumbing for enabling/disabling single buffer mode from Surface.

Bug 24940410

Change-Id: I3fc550c74bacb5523c049a227111356257386853
/frameworks/native/libs/gui/GLConsumer.cpp
ff12cba77b5b88f3978070bb970d7721225271ee 16-Sep-2015 Pablo Ceballos <pceballos@google.com> Merge "BQ: Modify consumer buffer count interfaces"
4aa427b964f22e3cf10381f8fc27e7042c322b9c 14-Sep-2015 Pablo Ceballos <pceballos@google.com> Merge "native: Rename mBuf to mSlot"
19e3e06e3c65a7c001a6fe0971744ba5ff536515 20-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: Modify consumer buffer count interfaces

- Rename setDefaultMaxBufferCount() to setMaxBufferCount(). Modify it
to be hard maximum on the number of buffers that can't be overwritten
by the producer.
- Enforce the maximum buffer count in setMaxAcquiredBufferCount(),
setMaxDequeuedBufferCount(), and setAsyncMode().
- Remove mOverrideMaxBufferCount as it's no longer needed since
overriding is no longer possible.
- Expose setMaxAcquiredBufferCount() in GLConsumer.
- Remove disableAsyncBuffer(), it was only being used for single buffer
mode. Single buffer mode is now achievable with setMaxBufferCount().

Bug 13174928

Change-Id: Ia33799f42751272a711fbd8559f7602ce9f18e4f
/frameworks/native/libs/gui/GLConsumer.cpp
60d6922a011fe18c111b8d30fb6ef1f655b6b15e 07-Aug-2015 Pablo Ceballos <pceballos@google.com> libsgui: Change Rect default constructor

The current Rect default constructor initializes to all zeroes. Change
it to initialize to an invalid Rect.

Modify all of the existing invocations of the default constructor to
maintain the existing behavior.

Bug 18173359

Change-Id: Ibbad076f1550a94f56d7b1cf5350071f2022e09a
/frameworks/native/libs/gui/GLConsumer.cpp
47650f4f66a49e1815ad08ca4fb12a661d133abc 05-Aug-2015 Pablo Ceballos <pceballos@google.com> native: Rename mBuf to mSlot

Remove the union in BufferItem.

Bug: 19769719
Change-Id: I4e496b5aafce0fc5206dc7551a741f9c262c2cd0
/frameworks/native/libs/gui/GLConsumer.cpp
ec4cb387502d5bd09e49b55605cf679fe3a0207a 10-Jun-2015 Dan Stoza <stoza@google.com> GLConsumer: Fix crop math

When we have excess pixels that need to be removed from (for example)
the left and right sides, we currently do something like:

left += excess / 2;
right -= excess / 2;

If excess is odd, however, this removes 1 too few pixels since the odd
pixel gets rounded down twice. This changes the math to effectively:

left += excess / 2;
right -= (excess - excess / 2);

Which removes the correct total number of pixels.

Bug: 19611086
Change-Id: I8d1ad9fe7ba67c149794c148663d12acbccccef0
/frameworks/native/libs/gui/GLConsumer.cpp
a4650a50a0b35e9e4342d6600b6eb24fd94bb8e5 12-May-2015 Dan Stoza <stoza@google.com> Fix PTS handling for buffer replacement

This changes the way that SurfaceFlinger's shadow buffer management
works such that instead of tracking the size of the shadow queue in the
BufferQueue, SF tracks the last frame number it has seen, and passes
that into the acquireBuffer call. BufferQueueConsumer then ensures that
it never returns a buffer newer than that frame number, even if that
means that it must return PRESENT_LATER for an otherwise valid buffer.

Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
/frameworks/native/libs/gui/GLConsumer.cpp
54716317b5752010134edc64421a3f492bd608ab 13-Mar-2015 Dan Stoza <stoza@google.com> libgui: Remove IGBC::BufferItem

Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
I187b3a7d05196b6289596afac8fb9a9d4aebff76
I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc

Change-Id: Id1fa56d092188f2cb712768d5d2fc6a9027fb73c
/frameworks/native/libs/gui/GLConsumer.cpp
dd26416fe135f93ef2c8570738f8e1ca5e2ca3a3 12-Mar-2015 Dan Stoza <stoza@google.com> libgui: Prepare for IGBC::BufferItem removal

Switches some dependencies from IGraphicBufferConsumer::BufferItem to
android::BufferItem and adds some methods to facilitate incrementally
changing client code to do the same.

Change-Id: I699ed0a6837076867ca756b28d1ffb2238f7a0d9
/frameworks/native/libs/gui/GLConsumer.cpp
94d5ac480286d5e4d856bb968263e6991a62002d 06-Mar-2015 Eino-Ville Talvala <etalvala@google.com> Merge "Add dataSpace to buffer queues; remove old format enums."
abf952c1b121405ebb6720a779817b7850fb43b9 04-Mar-2015 Dan Stoza <stoza@google.com> GLConsumer: Fix unsigned subtraction during crop

Since some variables had been switched from signed to unsigned, there
was a section of code that was guaranteed to be incorrect because it
effectively did 'if (a < b) { c = a - b; }'. This change fixes it.

Bug: 19346631
Change-Id: I9cdd6c9a0179801addebb5d6dc1fbaddf8f53c62
/frameworks/native/libs/gui/GLConsumer.cpp
5b75a513e431c097ae704cba2f7affa6bfaecec9 20-Feb-2015 Eino-Ville Talvala <etalvala@google.com> Add dataSpace to buffer queues; remove old format enums.

- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Change-Id: I070bd2e7c56506055c419004c29e2e3feac725df
/frameworks/native/libs/gui/GLConsumer.cpp
d723bd7669b4fc88dc282d8bf8ba5ecb2849d22f 18-Nov-2014 Dan Stoza <stoza@google.com> libgui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I034abec27bf4020d84af60d7acc1939c59986dd6
/frameworks/native/libs/gui/GLConsumer.cpp
2bb72707833686ae5b0fd7df5005ad812de57445 21-Oct-2014 Michael Lentine <mlentine@google.com> am 15b2ecf5: am dcc959be: Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev

* commit '15b2ecf599414c86cb198f3ffc126b50f88b5aa0':
Adding eglInitialize and eglTerminate image creation and deletion.
15b2ecf599414c86cb198f3ffc126b50f88b5aa0 21-Oct-2014 Michael Lentine <mlentine@google.com> am dcc959be: Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev

* commit 'dcc959beb77099d319a94e3985da2f4ea4064e7b':
Adding eglInitialize and eglTerminate image creation and deletion.
78be65e7bf6898c6afa55c9016f331ab1aa2503a 02-Oct-2014 Michael Lentine <mlentine@google.com> Adding eglInitialize and eglTerminate image creation and deletion.

Previously it was possible to have the driver's eglTerminate called beofre
eglDestroyImageKHR in GLConsumer. This was because we didn't increment the
refcount for the lifetime of the image. This could lead to a crash or a deadlock
when multiple threads called terminate and destroy simultaneously.

Bug: 17700483
Change-Id: I7010d0f1b3db875332e95630b5e098a5564ba755
/frameworks/native/libs/gui/GLConsumer.cpp
58a81ba5066134f8c546d47c7cd3914fd903d9ce 09-Sep-2014 Dan Albert <danalbert@google.com> am 5273a978: resolved conflicts for merge of 86aeb9ef to lmp-dev-plus-aosp

* commit '5273a978337cbee2c1aae2f4d5c1b0e9d8dd6e1c':
Make string literal concatenation play nice with C++11.
5273a978337cbee2c1aae2f4d5c1b0e9d8dd6e1c 09-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 86aeb9ef to lmp-dev-plus-aosp

Change-Id: I82fe2b385156d9bdb9e7183e308d7b2a4167b6ce
8b49125f10e3fd991c631e12856ce1ebf5a56d7e 09-Sep-2014 Dan Albert <danalbert@google.com> Make string literal concatenation play nice with C++11.

In C++11 mode, "foo"MACRO_THAT_EXPANDS_TO_STRING gets lexed as a user
defined literal. Add space around the macro.

Change-Id: I2741f5be9c0b1562e0f413d1309ef9d687e89b41
/frameworks/native/libs/gui/GLConsumer.cpp
46a1f6b40e1f7677cd41cd30f729ff66c7c21517 06-Aug-2014 Jesse Hall <jessehall@google.com> GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT

Change-Id: I4dcb57a0db9ee3c5222cd453c9213859384212b0
/frameworks/native/libs/gui/GLConsumer.cpp
2d14a0ed4f5861bfa67e9db138ffdc70d2d5e6e4 26-Aug-2014 Eric Penner <epenner@google.com> GLConsumer: Fix eglTerminate/eglInit edge case.

If a display is terminated and then initialized, we can't detect
this using the display itself (it has the same value), but all
EglImages still become invalid for the display. This patch detects
this during image binding and forces creation of a new EglImage.

Bug: 10430249
Change-Id: I75101c50962f21263dca3ec6e241a2e5a3c23dad
/frameworks/native/libs/gui/GLConsumer.cpp
5c3d243fcca6d0678bcbb0461bbbe0b63f35212c 12-Jul-2014 Eric Penner <epenner@google.com> GLProducer: Reference count images rather than buffers.

In most cases, EGLImages can be created one-to-one with graphic
buffers in slots, but that was difficult due to some special
cases:
- ReleaseTexImage binds a custom 'unslotted' debug image.
- When all slots are freed, we still need to hang on to one.

These cases were handled by keeping an additional reference to
the 'current' buffer (mCurrentTextureBuf), but we would create
new images since we can't reference count them in the same way.
This patch uses the same semantics, except that it reference
counts the image (an EglImage wrapper class) rather than just
buffer. The wrapper class also detects the cases when we need
a new EGLImage, and only creates them in those rare cases.

Change-Id: I2915761dbe49d2a9bda1f59e60f857543634636b
/frameworks/native/libs/gui/GLConsumer.cpp
ab57491de3a89a2d454d3060d36adef71741a7ae 25-Jun-2014 Dan Stoza <stoza@google.com> GLConsumer: Allow creation in detached mode

Adds a constructor that doesn't require a GLES texture name and sets
up the GLConsumer in detached mode.

Bug: 15616428
Change-Id: Idc9ea2e59baa24bbd959da9fffe0fb71c0aa9818
/frameworks/native/libs/gui/GLConsumer.cpp
87a678478005026d950bedec49ee80b693777b95 05-Apr-2014 Andy McFadden <fadden@android.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
dbe9245e2e362b12e184cd33b9a27b0901f81244 24-Sep-2013 Jamie Gennis <jgennis@google.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
d171da973de3c6b30263011334fdcd916739144f 19-Sep-2013 Eino-Ville Talvala <etalvala@google.com> GLConsumer: Add query for current frame number.

Surface the underlying frame number of the current texture.

Bug: 10830400
Change-Id: Ide3a7da12ea0aac54588beb6bf00dbfe2cd37653
/frameworks/native/libs/gui/GLConsumer.cpp
3f84483382be2d528918cc1a6fbc6a7d68e0b181 08-Aug-2013 Mathias Agopian <mathias@google.com> SurfaceFlinger now uses GLES 2.x when available

Bug: 8679321

Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
/frameworks/native/libs/gui/GLConsumer.cpp
45155969dc747d09d267cd1f22baf0eaf886a801 09-Aug-2013 Mathias Agopian <mathias@google.com> make sure GLConsumer::releaseTexImage() works after detachFromContext()

Change-Id: I27e0bc57e927d47b2b98113ee37b5396bcc72019
/frameworks/native/libs/gui/GLConsumer.cpp
9870c9b66cc73ee31aabba23aa06deaf673ee5ef 09-Aug-2013 Mathias Agopian <mathias@google.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
45263e2475ac6a885dbd78eff7d4e44f374e5237 07-Aug-2013 Mathias Agopian <mathias@google.com> don't hardcode debug texture dimensions

Change-Id: I356333801d246a8cafb3e977a77dc7325e8b822d
/frameworks/native/libs/gui/GLConsumer.cpp
db89edc94bd2a78226b407f9f7261e202e7fa325 02-Aug-2013 Mathias Agopian <mathias@google.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
ad678e18b66f495efa78dc3b9ab99b579945c9e2 24-Jul-2013 Mathias Agopian <mathias@google.com> single buffer mode for BufferQueue

Bug: 9891035
Change-Id: Id1ab5f911a6dc4c1d8235e65775b3d3635231ad4
/frameworks/native/libs/gui/GLConsumer.cpp
c2414bb0989763641ca57cf72c11ef6d86565a23 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of HAL pixelformats 5551 and 4444

Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
/frameworks/native/libs/gui/GLConsumer.cpp
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/GLConsumer.cpp
8f938a53385a3c6d1c6aa24b3f38437bb2cc47ae 13-Jul-2013 Mathias Agopian <mathias@google.com> always pass the BufferQueue explicitely to consumers

Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
/frameworks/native/libs/gui/GLConsumer.cpp
1585c4d9fbbba3ba70ae625923b85cd02cb8a0fd 28-Jun-2013 Andy McFadden <fadden@android.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
c5d7b7d323bba8772a9005f7d300ad983a04733a 03-May-2013 Lajos Molnar <lajos@google.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
2381033ad001960c606d13e3a4198e5da3672ec7 17-May-2013 Mathias Agopian <mathias@google.com> 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
ea74d3b78d607cde17790a7bb83e6f68ffd34cfd 17-May-2013 Mathias Agopian <mathias@google.com> 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
/frameworks/native/libs/gui/GLConsumer.cpp
bdcf1fe2ba4f6fe2eb63a5ec8246b1582b638e04 24-Apr-2013 Mathias Agopian <mathias@google.com> Merge changes I0d9f18d1,Ib96c9161

* changes:
Add a --color option to dumpsys SurfaceFlinger
clean-up/simplify all dump() APIs
74d211ae26a0257c6075a823812e40b55aa1e653 22-Apr-2013 Mathias Agopian <mathias@google.com> clean-up/simplify all dump() APIs

remove the scratch buffer parameter and use
String8::appendFormat() instead.

Change-Id: Ib96c91617c8e7292de87433d15cf6232b7d591b0
/frameworks/native/libs/gui/GLConsumer.cpp
e692ab9a6be63193c5b52a6562d85d06c40463b8 22-Apr-2013 Mathias Agopian <mathias@google.com> fix uninitialized variables in GLConsumer

mDefaultWidth, mDefaultHeight and mCurrentScallingMode are now
initialized to the same default value that BufferQueue uses.

Change-Id: I0d4da2022b06419d12745716d8ddbd48c8869953
/frameworks/native/libs/gui/GLConsumer.cpp
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/GLConsumer.cpp
2bb716871cf8bfadfff1193ed798da3bffc1f8ec 28-Mar-2013 Mathias Agopian <mathias@google.com> replace eglWaitSyncANDROID by eglWaitSyncKHR

Change-Id: I22f1b3588011c88389e249f738f1e6915cc97e72
/frameworks/native/libs/gui/GLConsumer.cpp
13f01cbdbd34779a234bc674df79e23672fd5c0b 20-Mar-2013 Jesse Hall <jessehall@google.com> Pass sp<Fence>s around instead of file descriptors

Change-Id: Iac70584a2207940730e8f803a543e4e9a4000c47
/frameworks/native/libs/gui/GLConsumer.cpp
1df8c345854155cbbcb9f80de9d12d66ea70ac08 20-Dec-2012 Jamie Gennis <jgennis@google.com> libgui: disallow NULL Fence pointers

This change eliminates the uses of a NULL sp<Fence> indicating that no waiting
is required. Instead we use a non-NULL but invalid Fence object for which the
wait methods will return immediately.

Bug: 7892871
Change-Id: I5360aebe3090422ef6920d56c99fc4eedc642e48
/frameworks/native/libs/gui/GLConsumer.cpp
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/GLConsumer.cpp