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
|