764c197c6fc2bf10b038c33b320a4e95594d52d8 |
|
20-Nov-2012 |
Mathias Agopian <mathias@google.com> |
fix typo that broke all the builds Bug: 7584338 Change-Id: Ieb8c27a544ac583af9aa1e0376e33a673d2d9673
/frameworks/native/libs/gui/BufferQueue.cpp
|
2a8c49eb5dd51b2e60c9a78bea00870867d91c03 |
|
16-Nov-2012 |
Mathias Agopian <mathias@google.com> |
fix an out-of-bounds memory access in this particular case, this OOB is always harmless (and that's why it didn't get fixed from MR1), however, it interfers with valgrind debugging. Change-Id: Ic977e03287e59c4b124a89146c9023bd0cb540a8
/frameworks/native/libs/gui/BufferQueue.cpp
|
1efe099a51e2231bd938a6afcf66e6584deec0f2 |
|
05-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: alloc without holding the lock This change makes BufferQueue::dequeueBuffer release its mutex before allocating new buffers. This should alleviate lock contention in SurfaceFlinger where SF's main thread can get blocked waiting for an allocation operation to complete. Bug: 7335075 Change-Id: I1b000539cc616a695afab2e9c68507db69e57b13
/frameworks/native/libs/gui/BufferQueue.cpp
|
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/BufferQueue.cpp
|
6905205c8d130b6ea3a813c1b9283492ed183367 |
|
15-Sep-2012 |
Andy McFadden <fadden@android.com> |
Fix transform hints The hints were being set a little too late, so the pre-rotation stuff wasn't quite working. Bug 7054997 Change-Id: Id8d5c626db7a76f768ba762a145b315878ee08e6
/frameworks/native/libs/gui/BufferQueue.cpp
|
c68f2ecfa02037144d1a3856f637a77f523cf416 |
|
31-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: add a setMaxAcquiredBufferCount check This change adds a check to verify the validity of the value passed to setMaxAcquiredBufferCount. Change-Id: I39730557aa58261e678bd6e4fce11bab78e98362
/frameworks/native/libs/gui/BufferQueue.cpp
|
5e5efde7874a9fab650fd4b724ceef46db850470 |
|
29-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: add a check for the max acquired bufs This change adds an error check to ensure that consumers don't acquire more buffers than the maximum that they set. Change-Id: I026643564bde52732e4ee6146972b207ddbbba77
/frameworks/native/libs/gui/BufferQueue.cpp
|
72f096fb1ad0a0deadbfac5f88627461905d38e8 |
|
28-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: use max acquired buffer count This change makes BufferQueue derive the min undequeued buffer count from a max acquired buffer count that is set by the consumer. This value may be set at any time that a producer is not connected to the BufferQueue rather than at BufferQueue construction time. Change-Id: Icf9f1d91ec612a079968ba0a4621deffe48f4e22
/frameworks/native/libs/gui/BufferQueue.cpp
|
e191e6c34829aec406a9cfe3e95211f884a311ff |
|
25-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: simplify max buffer count handling This change reworks how the maximum buffer count is computed. Change-Id: I7d3745814b9bd6f6f447f86bfea8eb7729914ebf
/frameworks/native/libs/gui/BufferQueue.cpp
|
31a353da225af5329735451c761b430d82dfda1b |
|
25-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: clean up buffer counting This change is a clean up of some of the handling of the maximum number of buffers that are allowed at once. It mostly renames a few member variables and methods, but it includes a couple small refactorings. Change-Id: I9959310f563d09583548d4291e1050a7bbc7d87d
/frameworks/native/libs/gui/BufferQueue.cpp
|
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/BufferQueue.cpp
|
b42b1ac1587aebda5e2f334d95b620271fafba4e |
|
28-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Return fence from acquireBuffer Change-Id: Iab22054c1dc4fd84affab3cc5bbdcd5a1e689666
/frameworks/native/libs/gui/BufferQueue.cpp
|
c777b0b3b9b0ea5d8e378fccde6935765e28e329 |
|
28-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Pass fences with buffers from SurfaceTextureClient Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
/frameworks/native/libs/gui/BufferQueue.cpp
|
f78575400977f644cf0b12beb2fa5fc278b6ed4c |
|
15-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Pass fences from BufferQueue to SurfaceTextureClient ISurfaceTexture::dequeueBuffer now returns the buffer's fence for the client to wait on. For BufferQueue, this means passing it through Binder so it can be returned to the SurfaceTextureClient. Now SurfaceTextureClient is responsible for waiting on the fence in dequeueBuffer instead of BufferQueue: one step closer to the goal. Change-Id: I677ae758bcd23acee2d784b8cec11b32cccc196d
/frameworks/native/libs/gui/BufferQueue.cpp
|
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/BufferQueue.cpp
|
3e87601170141229d661df93e2f59e1ced73474b |
|
08-Jun-2012 |
Mathias Agopian <mathias@google.com> |
Implement SurfaceFlinger's ANW on top of BufferQueue SF now has its own implementation of ANW for the framebuffer and it uses BufferQueue. FramebufferNativeWindow is now only used by stand-alone apps. Change-Id: Iddeb24087df62bd92b0f78e391dda9b97ddc859c
/frameworks/native/libs/gui/BufferQueue.cpp
|
f899e4113a5b5545cd91b4625514d0ab0d33751c |
|
19-May-2012 |
Mathias Agopian <mathias@google.com> |
Remove misleading and wrong ALOGW Bug: 6476587 Change-Id: I4345f1100db02786bb50ad83ca7b559cad301706
/frameworks/native/libs/gui/BufferQueue.cpp
|
b7a6b96301c00c630610df4cb55a45d666200817 |
|
14-May-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: remove setPostTransformCrop This change removes the setPostTransformCrop function from SurfaceTextureClient. It also includes a small logging fix in BufferQueue. Bug: 6299171 Change-Id: Ifd0ed05b95dad6085e7a8267fda4d69b76ea3bad
/frameworks/native/libs/gui/BufferQueue.cpp
|
cd1806e210f2633423f0fb14d39fa00d03974223 |
|
10-May-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: improve some logging and dumping This change updates some of the SurfaceTextureClient and BufferQueue logging and dumping to include the crop, transform and scaling mode. It also removes the uses of the NO_SCALE_CROP scaling mode enum, which was added by accident in a previous change. Change-Id: I62912716a1e48885fb22f12b92678aa13f10fcd9 Bug: 6470541
/frameworks/native/libs/gui/BufferQueue.cpp
|
d72f233ffa125856a44976a50a66ceb669f49ab2 |
|
07-May-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: Add support for post-xform crops. This change adds support for specifying a crop rectangle to a SurfaceTextureClient that is in post-transformed coordinate space. Change-Id: I247901de343e71b32850f7ae3bac62dfa612ad3d Bug: 6299171
/frameworks/native/libs/gui/BufferQueue.cpp
|
efc7ab6dcea8c22ddd7c0259ef4ab4bbf1e93044 |
|
18-Apr-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: Add plumbing for active rectangle This change adds the plumbing to SurfaceTextureClient, BufferQueue, and SurfaceTexture to get the active rectangle passed to the ANativeWindow to the buffer consumer. Change-Id: I35da0889b266327ebb079b6a7136fa3e2e8b00e6
/frameworks/native/libs/gui/BufferQueue.cpp
|
2488b20aec097accb20a853d9876bb0a5dc04636 |
|
21-Apr-2012 |
Mathias Agopian <mathias@google.com> |
add a way to query whether an ANativeWindow consumer is running ahead of the producer Change-Id: Ibccfa1feb56db2ab11f0c0934ce2d570a2b65ae2
/frameworks/native/libs/gui/BufferQueue.cpp
|
24202f5676c32edeef6544cf36e06b9fc970dbde |
|
23-Apr-2012 |
Mathias Agopian <mathias@google.com> |
update the binder protocol for connect to match that of queueBuffer indeed, connect and queueBuffer return the same data, so it's easier to have them use the same protocol. Change-Id: I4f9fa3be0a80c9ab0a7a4039b282ae843aab02e1
/frameworks/native/libs/gui/BufferQueue.cpp
|
6c47034f5ec30041c54d8f0479b01bce566440df |
|
18-Apr-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Fix BufferQueue verbose log Change-Id: Id80742b5c1fd2960cc2eda3a9ba2db1078df5320
/frameworks/native/libs/gui/BufferQueue.cpp
|
85b217668d6840c8e6a109adfb99461313676f8d |
|
14-Apr-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Remove fixed USAGE_HW_TEXTURE flag from BufferQueue. USAGE_HW_TEXTURE applies to SurfaceTexture, not to all uses of BufferQueue. Refactor accordingly. Change-Id: Ic7add5e1f2bbec3d3e796ba7f15eaa0633945d8f
/frameworks/native/libs/gui/BufferQueue.cpp
|
695e331f01b136155b1559b3c878b7c5bb631bc1 |
|
17-Apr-2012 |
Jamie Gennis <jgennis@google.com> |
BufferQueue: check before tracing buffer index This change adds a check on ATRACE_ENABLED before calling snprintf to trace the buffer index. Change-Id: Id79430f9c69706393efd3d10780a4cc97055e9e0
/frameworks/native/libs/gui/BufferQueue.cpp
|
172a62a224967beee9e35e02a5b2fb2705dd2cc0 |
|
16-Apr-2012 |
Mathias Agopian <mathias@google.com> |
make sure to pass the transform-hint on ANW.connect this optimization was probably lost during ST refactoring. Change-Id: I845978c4b718cb91941d15b30484837f19714abe
/frameworks/native/libs/gui/BufferQueue.cpp
|
b364be8e55a2ce0b0480e237cb9aac30bd215585 |
|
13-Apr-2012 |
Mathias Agopian <mathias@google.com> |
fix a typo causing pre-rotation to never work Change-Id: I8d698ec52d53ef1a553b887c7329413e1f49cc72
/frameworks/native/libs/gui/BufferQueue.cpp
|
016c8cbce4dde21f2703b9865f52d16b8d5d5ae2 |
|
04-Apr-2012 |
Daniel Lam <dalam@google.com> |
Enabled cropping support in SurfaceTexture SurfaceTexture will modify the crop rect so it matches the desired output aspect ratio when the scaling mode is NATIVE_WINDOW_SCALING_MODE_CROP. Added a test for this new scaling mode. Change-Id: I60f24dcbc294b65cd10a393d9e27d40f07d27bb6
/frameworks/native/libs/gui/BufferQueue.cpp
|
f0bc2f1d8d37977bd3aef3d3326a70e9e69d4246 |
|
10-Apr-2012 |
Mathias Agopian <mathias@google.com> |
use in/out structures for queueBuffer() IPC Change-Id: Ie125df2444b62a9a2200586a717dca268852afc9
/frameworks/native/libs/gui/BufferQueue.cpp
|
fbcda930dd8b2823cfeb160fd0131f5897b7522f |
|
10-Apr-2012 |
Daniel Lam <dalam@google.com> |
BufferQueue returns proper code on acquire Also removed unnecessary debug messages from SurfaceTextureClient. Change-Id: I291897a44170142f9d42a007b008823fad4683e0
/frameworks/native/libs/gui/BufferQueue.cpp
|
abe61bfda4938abd932465e27c29ba9e41aea606 |
|
27-Mar-2012 |
Daniel Lam <dalam@google.com> |
BufferQueue no longer hardcodes buffer counts BufferQueue is now more flexible as it can be used by SurfaceMediaSource in addition to SurfaceTexture. Change-Id: I4222be8918d63372c44fcd412d9ad241c6a3eeb9
/frameworks/native/libs/gui/BufferQueue.cpp
|
9abe1ebc9575dc5a19bf1dfce6e9b02e03374457 |
|
27-Mar-2012 |
Daniel Lam <dalam@google.com> |
Fixed disconnect bug in SurfaceTexture BufferQueue's disconnect could race with updateTexImage where invalid buffers could be released. Additionally fixed similar bug with setBufferCount. Tests were added to stress the disconnect mechanism. Change-Id: I9afa4c64f3e025984e8a9e8d924852a71d044716
/frameworks/native/libs/gui/BufferQueue.cpp
|
851ef8f1bfbb164d61b1528a529a464f0a60dbaf |
|
30-Mar-2012 |
Mathias Agopian <mathias@google.com> |
reduce IPC with BufferQueue collapse setCrop, setTransform and setScalingMode to queueBuffer() this ends up simplifying things quite a bit and reducing the numnber of IPC needed per frame. Change-Id: I3a13c07603abe4e76b8251e6380b107fde22e6d9
/frameworks/native/libs/gui/BufferQueue.cpp
|
fa5b40ebb8923133df12dc70591bfe35b3f1c9b3 |
|
15-Mar-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: add BQ consumer buffer free notifications This change adds a new callback for BufferQueue consumers to be notified when the BufferQueue frees some or all of its buffers. This is needed to retain SurfaceTexture behavior where all buffers would be freed when the producer disconnects. This change also modifies the SurfaceTextureGLToGLTest.EglDestroySurfaceUnrefsBuffers test to catch when the buffers are not freed. The implementation is a little complicated because it needs to avoid circular sp<> references across what will be a binder interface (so wp<> can't be used directly). It also needs to avoid the possibility of locking the BufferQueue and consumer (e.g. SurfaceTexture) mutexes in the wrong order. This change also includes a few additional fixes and test cleanups. Change-Id: I27b77d0af15cb4b135f4b63573f634f5f0da2182
/frameworks/native/libs/gui/BufferQueue.cpp
|
b267579ba8dfe3f47d2a481c5a3c2254e3d565a1 |
|
23-Feb-2012 |
Daniel Lam <dalam@google.com> |
SurfaceTexture: Fully refactored from BufferQueue SurfaceTexture and BufferQueue are separate objects. Change-Id: I230bc0ae6f78d0f9b2b5df902f40ab443ed5a055
/frameworks/native/libs/gui/BufferQueue.cpp
|
74ff8c23f44f1546d0c7004302f4c7ba726ff4c0 |
|
13-Mar-2012 |
Dave Burke <daveburke@google.com> |
attempt to fix a deadlock in SurfaceTextureClient::disconnect - condition wasn't signaled if an error happened between acquire and release - also replace signal with broadcasts Bug: 6109450 Change-Id: I8ac03c7eca35c9cc04a00ef7fad36bb9cb3fcef6
/frameworks/native/libs/gui/BufferQueue.cpp
|
c2c1f2f24cd70bdcf1958157bab38467bf0fdc71 |
|
07-Mar-2012 |
Daniel Lam <dalam@google.com> |
BufferQueue: fixed issues with buffer slots not available Bug: 6120953 Change-Id: I61d97d650c8dee0a6d7c19f2f50aa92a5f159095
/frameworks/native/libs/gui/BufferQueue.cpp
|
757507e3a0a25fe83e60c354b6ac0e975662109a |
|
06-Mar-2012 |
Mathias Agopian <mathias@google.com> |
Merge "Add ATRACEs for Buffer indices"
|
3fcee50ffaeb745819356e395408b4d7e3239c13 |
|
02-Mar-2012 |
Daniel Lam <dalam@google.com> |
BufferQueue: fixed acquire operation Bug: 6082872 Change-Id: I897dc61eb84fed953e51f97871cd3ae6321505d4
/frameworks/native/libs/gui/BufferQueue.cpp
|
546ed2d7d98ce4f1415647913a231a6b4fc6ca66 |
|
02-Mar-2012 |
Mathias Agopian <mathias@google.com> |
Add ATRACEs for Buffer indices Change-Id: I44d7a9a9bf03f418cab2a4854583aac9e533daee
/frameworks/native/libs/gui/BufferQueue.cpp
|
1c8e95cf86f2182986385bc1ee85f13f425f3a3a |
|
24-Feb-2012 |
Jamie Gennis <jgennis@google.com> |
Add tracing to various graphics components. This change adds ATRACE call tracing to BufferQueue, SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL. Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
/frameworks/native/libs/gui/BufferQueue.cpp
|
eae59d2ea77ef57aab203fb185a880ce37ac38d6 |
|
23-Jan-2012 |
Daniel Lam <dalam@google.com> |
Removed dependecies between BufferQueue and SurfaceTexture Refactored SurfaceTexture and BufferQueue such that share no protected members. Created an consumer facing interface for BufferQueue in preparation of connecting SurfaceTexture and BufferQueue through a binder. Change-Id: I938e63e085128148c58d0e26c7213b30145c109f
/frameworks/native/libs/gui/BufferQueue.cpp
|
fbb16559168b88e30ffbe6d466f4c044366f503c |
|
27-Feb-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "Revert "Removed dependecies between BufferQueue and SurfaceTexture""
|
90ac799241f077a7b7e6c1875fd933864c8dd2a7 |
|
26-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix libgui header location Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
/frameworks/native/libs/gui/BufferQueue.cpp
|
9b10c47e112afc3600380895046a4a56e34cf6a8 |
|
27-Feb-2012 |
Daniel Lam <dalam@google.com> |
Revert "Removed dependecies between BufferQueue and SurfaceTexture" This reverts commit a631399f71dbc7659d2f241968f85d337726ae61
/frameworks/native/libs/gui/BufferQueue.cpp
|
333023884112259f145bb23c41a05211198d9792 |
|
23-Jan-2012 |
Daniel Lam <dalam@google.com> |
Removed dependecies between BufferQueue and SurfaceTexture Refactored SurfaceTexture and BufferQueue such that share no protected members. Created an consumer facing interface for BufferQueue in preparation of connecting SurfaceTexture and BufferQueue through a binder. Change-Id: Iff55e740e36a7f70c9f7a17ee7a5af38e3d21f0f
/frameworks/native/libs/gui/BufferQueue.cpp
|
b856052c00dfef70d0957482c72c2979ffc4733a |
|
31-Jan-2012 |
Daniel Lam <dalam@google.com> |
Refactored query function from SurfaceTexture into BufferQueue Change-Id: Id1cb6cc38d01edb4fcfcad867c5a7693bdcc3ab1
/frameworks/native/libs/gui/BufferQueue.cpp
|
6b091c53000c843211c218ce40287a7edca9bc63 |
|
23-Jan-2012 |
Daniel Lam <dalam@google.com> |
Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue. Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
/frameworks/native/libs/gui/BufferQueue.cpp
|