dd3cb84cfbe8068790c6233b5829fae9c4a0ee93 |
20-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add support for secure displays This change adds support for displays that are not allowed to display surfaces with the eSecure flag set. All non-virtual displays are considered secure, while virtual displays have their secure-ness specified at creation time. Bug: 7368436 Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
SurfaceComposer.h
urfaceComposerClient.h
|
2d5e230292c27d59f4c096bc742a0a19abf811c1 |
16-Oct-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add animation transactions This change adds a transaction flag for WindowManager to indicate that a transaction is being used to animate windows around the screen. SurfaceFlinger will not allow more than one of these transactions to be outstanding at a time to prevent the animation "frames" from being dropped. Bug: 7353840 Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
SurfaceComposer.h
urfaceComposerClient.h
|
2a09bb321930e1f782599ec902bca1db58b9af77 |
09-Oct-2012 |
Jeff Brown <jeffbrown@google.com> |
Add blankDisplay/unblankDisplay to SurfaceComposerClient. Bug: 7309812 Change-Id: Ia401d642094a46c62f0d26c65da1d11341e203a1
urfaceComposerClient.h
|
9504eb915c9628e130f45019bdefda0168089886 |
05-Oct-2012 |
Jesse Hall <jessehall@google.com> |
Fix race condition in ConsumerBase::addReleaseFence() This needs the ConsumerBase mutex locked, but wasn't locking it. Two of the four places that called it already held the lock so were fine. Now addReleaseFence() takes the lock itself, and I added addReleaseFenceLocked() for the two already-locked callers, since in one of them dropping the lock would be inconvenient. Bug: 7289269 Change-Id: I7a5628adb516f8eec782aa6c14128202f96d7b0a
onsumerBase.h
|
c01a79d77b829e7de86ef137694e8ad708470ca1 |
28-Sep-2012 |
Andy McFadden <fadden@android.com> |
Pass display arg to blank/unblank This allows us to blank and unblank displays other than the built-in display (e.g. HDMI). Bug: 7240511 Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
SurfaceComposer.h
|
38b657265ccc5ae45bd7860a68b0d9373b47a2f3 |
28-Sep-2012 |
Iliyan Malchev <malchev@google.com> |
Revert "Compatibility work around for bad graphics driver dependency." This reverts commit a50b51c03aca449920fc8581a738032a7bce7150 Change-Id: Ibdcd776a7f241dbb2475403ea04f939249774c41
urfaceComposerClient.h
|
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
uiConfig.h
|
e96e9e1093b5700e9f403a6e2479da7dc36d3b71 |
25-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix a crasher in SurfaceTexture's setFilteringEnabled bug: 7211067 Change-Id: Id8658a8df429d76c20ab9112858b38e52343dc9c
urfaceTexture.h
|
ff28e201ec0c6d620eaaa29814ab52958487dc31 |
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Display events now always carry the display id they happened on Change-Id: I12de1d883c23927722bc3a71b782f0079de4e831
isplayEventReceiver.h
|
148994e5f33ce240ff24ceb5bc0500b7f2001959 |
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
We now report hotplug events to the framework Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
isplayEventReceiver.h
|
3941cb240d438bfdebe24920bb2ada86456a0bf9 |
18-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: default to doing GL sync This change makes updateTexImage default to performing the necessary synchronization and adds an argument for SurfaceFlinger to disable that synchronization so that it can be performed lazily. Change-Id: I7c20923cc786634126fbf7021c9d2541aa77be5d Bug: 6991805
urfaceTexture.h
|
8dfa92fef9759a881e96ee58d59875d35023aab9 |
18-Sep-2012 |
Andy McFadden <fadden@android.com> |
Plumb display name into SurfaceFlinger The Surface createDisplay() call takes a display name for debugging. This change carries it through SurfaceFlinger and displays it in the "dumpsys SurfaceFlinger" output. Bug 7058158 Change-Id: I79f3474a8656ff1beb7b478e0dbf2c5de666118a
SurfaceComposer.h
urfaceComposerClient.h
|
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
ufferQueue.h
|
61e04b92bdeafc6fca89052d14dab1bd0c384a71 |
10-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: use eglWaitSync This change adds a compile-option to use eglWaitSyncANDROID to ensure that texturing operations that access the current buffer of a SurfaceTexture do not occur until the buffer is completely written. It also moves this synchronization into a new SurfaceTexture method called doGLFenceWait and changes SurfaceFlinger's Layer class to use that method rather than performing its own wait on the fence. Change-Id: I70afa88086ca7ff49a80e3cd03d423767db7cb88
urfaceTexture.h
|
b27254154642575dfb4bbfa79fbedde7d7ee23dd |
06-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: move fence handling into ConsumerBase This change moves some common fence handling code into the base class for BufferQueue consumer classes. It also makes the ConsumerBase class initialize a buffer slot's fence with the acquire fence every time a buffer is acquired. Change-Id: I0bd88bc269e919653b659bfb3ebfb04dd61692a0
onsumerBase.h
urfaceTexture.h
|
00e8c7a88a5b9c4104a71013a713acd3e4d3b77b |
05-Sep-2012 |
Mathias Agopian <mathias@google.com> |
display projection API now has a single function instead of 3 Change-Id: I9bf46d372b77d547486d4bbe6f1953ec8c65e98f
urfaceComposerClient.h
|
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
ufferQueue.h
|
9e75ddda93888755d0b14144b62e896cd9f78f3a |
01-Sep-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: add BufferQueue test infrastructure This change adds some infrastructure for testing the BufferQueue class. It also includes a test that tests the new check in BufferQueue::acquireBuffer that prevents the consumer from acquiring more than one buffer beyond the max acquired buffer count that was set. Change-Id: I38554ad3f9a53d2ddeba7ef0deee35ec2e2f9775
SurfaceTexture.h
|
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
ufferQueue.h
|
1847f7fd799f92300b3786e49f5883eaa03f4507 |
31-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "BufferQueue: simplify max buffer count handling" into jb-mr1-dev
|
2b9776982360a234803665cb79e8abcfeb0e3c79 |
31-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "BufferQueue: clean up buffer counting" into jb-mr1-dev
|
94f261556cc5f4aa628cd5b71bf923b583f6e3c3 |
30-Aug-2012 |
Wink Saville <wink@google.com> |
Revert "A vendor ril depends on a native screen shot code." This reverts commit 9b5782baf0a8a2d7afc7129453beb5df7abe7650. A new ril for toro, hack no longer needed.
urfaceComposerClient.h
|
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
ufferQueue.h
|
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
ufferQueue.h
urfaceTexture.h
|
9b5782baf0a8a2d7afc7129453beb5df7abe7650 |
29-Aug-2012 |
Wink Saville <wink@google.com> |
A vendor ril depends on a native screen shot code. Add a temporary shim until the vendor fixes the ril. Bug: 7073467 Change-Id: Ia95a58bd90677c03406c988d1c29ae785f8662f2
urfaceComposerClient.h
|
3ee454a7bef8bd3d1c9cdd9d17108eb80ebadf2a |
28-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Eradicate DisplayID. DisplayDevices are now keyed of the wp<IBinder> the client uses. DisplayID has now become DisplayType which is just used to identify physical displays (as opposed to virtual displays such as wifi displays). Change-Id: I0c5968f2c902dcd699a7e0afacf833ff070c12ea
SurfaceComposerClient.h
|
a50b51c03aca449920fc8581a738032a7bce7150 |
28-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Compatibility work around for bad graphics driver dependency. This is a compatibility shim for one product whose drivers are depending on SurfaceComposerClient::getDisplayInfo( int, DisplayInfo*) when it really shouldn't. Revert this patch when the problem has been resolved. Bug: 7065398 Change-Id: I6542691b81fd1b1e1d79500a62e82d40a3d51db7
urfaceComposerClient.h
|
380223bf1b340e7503177254a60d5982f95ab793 |
27-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Remove unused "layer" argument from show(). Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba
urface.h
urfaceComposerClient.h
|
9d4e3d2f42e93e2d12bacabe97d307d30c3c20dd |
25-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Banish DisplayID from the SurfaceFlinger API. Use only display tokens in the API to refer to new displays. Don't require the caller to specify the display when creating a surface (since in general a surface could be shown on any display). This is intended to be a minimum change just to update the API. Note that SurfaceFlinger still uses DisplayID in a few places internally that might cause some features not to work properly when there are multiple displays (LayerScreenshot, for example). Change-Id: I3d91eec2da406eefd97bcd53655d403ad865a7e6
SurfaceComposer.h
SurfaceComposerClient.h
urface.h
urfaceComposerClient.h
|
490aee0fc5012acf2bf0b1dfe9c09e6fcca606fc |
24-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceTexture: inherit from ConsumerBase (try 2)" into jb-mr1-dev
|
9fea3421ffddf6480f57f55a25936a886043d909 |
08-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: inherit from ConsumerBase (try 2) This change makes SurfaceTexture inherit from ConsumerBase. It removes all of the functionality from SurfaceTexture that is now provided by the base class. This includes fixes for two bugs that were found after checking this change in the first time and then reverting it. Change-Id: Ie2d9f4f27cfef26fdac341de3152e842b01a58d2
onsumerBase.h
urfaceTexture.h
|
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
ufferItemConsumer.h
puConsumer.h
|
f57e7540d4cf799f18fe87d3536c55f1e0064931 |
21-Aug-2012 |
Eino-Ville Talvala <etalvala@google.com> |
CpuConsumer: inherit from ConsumerBase Change-Id: I55178b1d673ffa0fbc6e63ef47642c64d4d03228
puConsumer.h
|
8683fca395d01734ec7946e9f0595ec5d7b754c6 |
13-Aug-2012 |
Mathias Agopian <mathias@google.com> |
improve [un]marshalling of non-binder objects this change introduces a new class LightFlattenable<> which is a protocol to flatten simple objects that don't require binders or file descriptors; the benefit of this protocol is that it doesn't require the objects to have a virtual table and give us a consitant way of doing this. we also introduce an implementation of this protocol for POD structures, LightFlattenablePod<>. Parcel has been update to handle this protocol automatically. Sensor, Rect, Point and Region now use this new protocol. Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
ensor.h
|
e57f292595bec48f65c8088b00ff6beea01217e9 |
10-Aug-2012 |
Mathias Agopian <mathias@google.com> |
make multi-display more real - displays are represented by a binder on the client side - c++ clients can now create and modify displays Change-Id: I203ea5b4beae0819d742ec5171c27568f4e8354b
SurfaceComposer.h
urfaceComposerClient.h
|
3165cc21cfea781988407b19bd83292b19f05f55 |
09-Aug-2012 |
Mathias Agopian <mathias@google.com> |
libgui includes refactoring Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
SurfaceComposer.h
SurfaceComposerClient.h
|
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
ufferQueue.h
onsumerBase.h
|
92efd84f37ce5a8aae74dc9086f825a67b6894e9 |
03-Aug-2012 |
Mathias Agopian <mathias@google.com> |
screen-off animation won't be handled by SF anymore Change-Id: Idc41386804ae7d7eb981c36e1bc55c270870c8d0
SurfaceComposer.h
|
c666cae2d5995097ec49a87e375e2afdd92802b7 |
26-Jul-2012 |
Mathias Agopian <mathias@google.com> |
get rid of the shared-memory control block Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
SurfaceComposer.h
urfaceComposerClient.h
|
8785578391eacd4192333d7b0ce3afedd7d163e6 |
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
add a layerStack attribute to Layers. this attribute can be set through a regular transaction using SurfaceComposerClient (just like any other attribute, eg: position or size) Change-Id: I701a47c677ea6442ca713728a93335328cd2b172
SurfaceComposer.h
urfaceComposerClient.h
|
8b33f032327f8de0dcc0e6d0d43ed80f834b51f6 |
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
update SF binder protocol to support setting display attributes no change of functionality -- the old behavior is implemented on top of this new protocol. this new protocol will allow, eventually, to pass informations about displays and layer stacks. Change-Id: Ic6c2295e61ec8ecbc8ce01ab7664e35d928202fc
SurfaceComposer.h
|
6d7e32c672189ef2b900fc5467dbf603f84dce54 |
17-Jul-2012 |
Jeff Brown <jeffbrown@google.com> |
Remove unused layer flags. Change-Id: Ia85365f18770a9a2c0a0e30ae56b6c2226d41be6
SurfaceComposer.h
|
6501e9944df131b3b7e293007084735dfa217f24 |
17-Jul-2012 |
Jeff Brown <jeffbrown@google.com> |
Remove freeze(), unfreeze() and setFreezeTint(). This is all dead code. Change-Id: I646673aac793a6ec45021c370a2450f0ea4fbcce
SurfaceComposer.h
urface.h
urfaceComposerClient.h
|
f9176a93a5c9061fe001c91bca50dd0a58d54f10 |
16-Jul-2012 |
Jeff Brown <jeffbrown@google.com> |
Remove freezeDisplay(), which is no-op. Change-Id: I2b70249a1545636fd6d98b58057b22f9529cad21
urfaceComposerClient.h
|
dc5b485f74edf2d2f31c62054eb6c180421a3ade |
30-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Pass fence to HWC on first use of buffer Also do a CPU-wait on the fence before using it for GL composition. Change-Id: I0f645a42a44803276cae11b904e5a26d65871562
urfaceTexture.h
|
b42b1ac1587aebda5e2f334d95b620271fafba4e |
28-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Return fence from acquireBuffer Change-Id: Iab22054c1dc4fd84affab3cc5bbdcd5a1e689666
ufferQueue.h
|
c777b0b3b9b0ea5d8e378fccde6935765e28e329 |
28-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Pass fences with buffers from SurfaceTextureClient Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
ufferQueue.h
SurfaceTexture.h
|
3094df359d1e6e2ae8ca4e935cc093f563804c96 |
19-Jun-2012 |
Mathias Agopian <mathias@google.com> |
First prototype atttempting to support an external display both API and implementation will change, this is just a prototype intended to show feasability. SurfaceFlinger is passed an ISurfaceTexture through a new callback, it is in turn used to create an EGLSurface which surfaceflinger will draw into in addition to the main screen. Change-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21
SurfaceComposer.h
|
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
ufferQueue.h
SurfaceTexture.h
|
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
ufferQueue.h
urfaceTexture.h
|
d8e812ce6fe9ae0388e98b08456e1d18b9498239 |
14-Jun-2012 |
Jamie Gennis <jgennis@google.com> |
Update ANativeWindow clients for sync This change updates the uses of ANativeWindow to use the new ANW functions that accept and return Sync HAL fence file descriptors. Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6
urfaceTextureClient.h
|
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
ufferQueue.h
|
8e533069e5721e55cb9768e140e16546c3a4a8b6 |
07-Jun-2012 |
Colin Cross <ccross@android.com> |
surfaceflinger: replace early suspend with binder call from PowerManager SurfaceFlinger will no longer directly synchronize with early suspend. Instead, PowerManagerService will synchronize with SurfaceFlinger to ensure that a black frame has been drawn on the display, and then trigger all early suspend handlers. Change-Id: I07acdd628440d23fdb69db94319ec5d65d3f4919
SurfaceComposer.h
|
2466e402a054669ecda0d2b0dcb9cc08c4a9559a |
30-May-2012 |
Mathias Agopian <mathias@google.com> |
am 584fcb32: am 2c8207e9: add the ability to reject buffers in SurfaceTexture::updateTexImage * commit '584fcb3218e07d7b4cc0aeaef41faa4e891b45a4': add the ability to reject buffers in SurfaceTexture::updateTexImage
|
2c8207e9627fe6c7a90e31fae8d71ae49df56845 |
24-May-2012 |
Mathias Agopian <mathias@google.com> |
add the ability to reject buffers in SurfaceTexture::updateTexImage SurfaceFlinger is using this new feature to reject buffers that don't have the right size. Bug: 6498869 Change-Id: I8a7250a47db6c082a357b703feb3b9d0fc8d3443
urfaceTexture.h
|
a74eb25cbc42a9dde0df6b2303fda9027f77f393 |
15-May-2012 |
Jamie Gennis <jgennis@google.com> |
am dd739965: Merge changes I32fbc2b6,Ifd0ed05b into jb-dev * commit 'dd73996552938ac5165a35f09d389abedcf421ef': SurfaceFlinger: recompute visible regions less libgui: remove setPostTransformCrop
|
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
ufferQueue.h
puConsumer.h
|
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
urfaceTextureClient.h
|
f15a83f5814219c167f87cb8aaea622fc8493499 |
11-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add a crop to the layer state This change adds a crop rectangle specified in window coordinates to the layer state. The all window pixels outside this crop rectangle are treated as though they were fully transparent. This change also adds the plumbing necessary for WindowManager to set that crop. Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
SurfaceComposer.h
urface.h
urfaceComposerClient.h
|
5c1139fea3cc0fd9847a6594d853a458152b2fbc |
09-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: improve texture matrix computation This change reduces the shrinking of the crop rectangle in some cases. It adds a way to inform the SurfaceTexture that its texture will be used without bilinear interpolation, and uses knowledge of the pixel format to avoid shrinking unecessarily. Change-Id: I72365f39f74ecb7fcc51b4cf42f2d0fa97727212
urfaceTexture.h
|
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
ufferQueue.h
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
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
ufferQueue.h
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
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
SurfaceTexture.h
urfaceTextureClient.h
|
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
ufferQueue.h
SurfaceTexture.h
|
a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e |
23-Apr-2012 |
Mathias Agopian <mathias@google.com> |
remove SurfaceTexture::connect() use BufferQueue::connect() instead Change-Id: I04aab7cf11304bf962cde38470747f3b19ddba42
urfaceTexture.h
|
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
urfaceTexture.h
|
ac6035a12aec38eeb14d0c13636ec980066d9a8f |
13-Apr-2012 |
Mathias Agopian <mathias@google.com> |
s/w rendered apps can now use n-buffering (n>2) Bug: 6311881 Change-Id: I6e52e281e8d432430aad011f6d9dcf35d7b4ac7d
urfaceTextureClient.h
|
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
urfaceTexture.h
|
55a701459de964ae3504264a6b8c4dc37f54a9e8 |
10-Apr-2012 |
Michael I. Gold <gold@nvidia.com> |
SurfaceTextureClient: support for application buffer dimensions Add a new API native_window_set_buffers_user_dimensions to allow native applications to override the native window size for the default buffer size. This has lower precedence than the existing native_window_set_buffers_dimensions and allows the two to co-exist. Change-Id: Ie73590e1c94ef0dadbce500bd0941dfabbcace3c
urfaceTextureClient.h
|
f0bc2f1d8d37977bd3aef3d3326a70e9e69d4246 |
10-Apr-2012 |
Mathias Agopian <mathias@google.com> |
use in/out structures for queueBuffer() IPC Change-Id: Ie125df2444b62a9a2200586a717dca268852afc9
ufferQueue.h
SurfaceTexture.h
|
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
ufferQueue.h
|
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
ufferQueue.h
urfaceTextureClient.h
|
8cce8a9a75d172e0077960223ac5f2d06df33892 |
06-Apr-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "Fixed disconnect bug in SurfaceTexture"
|
7b5be95cb3903087742f1079fe89cddd8abe3696 |
03-Apr-2012 |
Mathias Agopian <mathias@google.com> |
use a socketpair instead of a pipe in BitTube Bug: 6252830 Change-Id: Ia7a7b08409517214136261c05569dc5959a597ab
itTube.h
isplayEventReceiver.h
ensorEventQueue.h
|
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
ufferQueue.h
urfaceTexture.h
|
0e1080f887bcd80c75910cabe7b2eca224bf739c |
02-Apr-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceTexture: add context attach & detach"
|
74bed55fff0132be319bcd1703970516ae28b3a9 |
29-Mar-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: add context attach & detach This change adds the detachFromContext and attachToContext methods to SurfaceTexture. These methods allow the SurfaceTexture to switch from one consumer GLES context to another. This change also includes a few cleanups to the error return codes in updateTexImage. Change-Id: I0df1eb599aa7b6f58f07431f242f8f09269559ed
urfaceTexture.h
|
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
ufferQueue.h
SurfaceTexture.h
urfaceTextureClient.h
|
9d61a28d72d85ac0460fb7fba9f85f8a955354c7 |
27-Mar-2012 |
Daniel Lam <dalam@google.com> |
Refactored DummyConsumer DummyConsumer no longer uses a ProxyConsumerListener Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c
ummyConsumer.h
|
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
ufferQueue.h
ummyConsumer.h
|
b0e76f456afaada43ddb0968bb37145219f90cd3 |
23-Mar-2012 |
Mathias Agopian <mathias@google.com> |
remove dependency of EGL on ndk header Change-Id: Ia6e489b5b4f028864bdf54923e81f604710dd8ad
urfaceTextureClient.h
|
ce561372186c7549a8a5fe996ac5965cda087007 |
20-Mar-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: have ST::updateTexImage check the GL ctx This change adds a check to SurfaceTexture::updateTexImage to verify that the current GL context is the same as the one that was used for previous updateTexImage calls. Change-Id: If02d2f787bcfdb528046dc9ddf6665f8a90e1bf4
urfaceTexture.h
|
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
ufferQueue.h
urfaceTexture.h
|
b267579ba8dfe3f47d2a481c5a3c2254e3d565a1 |
23-Feb-2012 |
Daniel Lam <dalam@google.com> |
SurfaceTexture: Fully refactored from BufferQueue SurfaceTexture and BufferQueue are separate objects. Change-Id: I230bc0ae6f78d0f9b2b5df902f40ab443ed5a055
ufferQueue.h
urfaceTexture.h
urfaceTextureClient.h
|
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
ufferQueue.h
urfaceTexture.h
|
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
ufferQueue.h
GraphicBufferAlloc.h
Surface.h
SurfaceComposer.h
SurfaceComposerClient.h
urface.h
urfaceComposerClient.h
|
9b10c47e112afc3600380895046a4a56e34cf6a8 |
27-Feb-2012 |
Daniel Lam <dalam@google.com> |
Revert "Removed dependecies between BufferQueue and SurfaceTexture" This reverts commit a631399f71dbc7659d2f241968f85d337726ae61
ufferQueue.h
urfaceTexture.h
|
32167056348f55609b896a5f6b15bd1dd42d8d19 |
27-Feb-2012 |
Jamie Gennis <jgennis@google.com> |
Merge "Removed dependecies between BufferQueue and SurfaceTexture"
|
5f2165f9455d4893b581b73a67c5431f4344b47e |
25-Feb-2012 |
Mathias Agopian <mathias@google.com> |
remove dependency on android_native{s_priv|buffer}.h Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
urfaceTextureClient.h
|
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
ufferQueue.h
urfaceTexture.h
|
b856052c00dfef70d0957482c72c2979ffc4733a |
31-Jan-2012 |
Daniel Lam <dalam@google.com> |
Refactored query function from SurfaceTexture into BufferQueue Change-Id: Id1cb6cc38d01edb4fcfcad867c5a7693bdcc3ab1
ufferQueue.h
urfaceTexture.h
|
6b091c53000c843211c218ce40287a7edca9bc63 |
23-Jan-2012 |
Daniel Lam <dalam@google.com> |
Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue. Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
ufferQueue.h
urfaceTexture.h
|
99ce5cdeb383216dee95af4d90e47406b0948ea1 |
01-Feb-2012 |
Mathias Agopian <mathias@google.com> |
separate transactions from updates with this changes, SF transactions are handled as soon as possible but do not trigger updates. the update is delayed until the next vsync. this allows us to work much better without requiring triple-buffering. Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
isplayEventReceiver.h
|
3cf199aef6250552555344944c3e3a6e4ab05f92 |
01-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix an issue with vsync event delivery vsync events were sometimes delivered to connected client who didn't request them. this happened if another client requested the delivery and that client was first in the client list. also fix the vsync test which didn't request any events as well as DisplayEventReveiver documentation which was misleading about the necessity to request vsync events. Change-Id: Ie990fda3f337f8f0042745c4b2cde67936c45686
isplayEventReceiver.h
|
478ae5eb5a0047e1b2988c896cff6363b455ee50 |
07-Dec-2011 |
Mathias Agopian <mathias@google.com> |
Improve the VSYNC api a bit. - add the ability to set the vsync delivery rate, when the rate is set to N>1 (ie: receive every N vsync), SF process' is woken up for all of vsync, but clients only see the every N events. - add the concept of one-shot vsync events, with a call-back to request the next one. currently the call-back is a binder IPC. Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
isplayEventReceiver.h
DisplayEventConnection.h
|
a4fbecd1198899a3a4e55795406a06e7c111b13e |
30-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am 55d3880e: am bb1e7d43: Merge changes I7e973a35,Ib3386fcc into ics-mr1 * commit '55d3880eed3450748eb7b97281e030902ee29c2a': SurfaceTexture: add EGL_KHR_fence_sync option SurfaceTexture: add a blit-to-FBO test
|
86edf4f6470ee0f108bf40d3c1d23bf0a78c9c38 |
14-Nov-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: add EGL_KHR_fence_sync option This change adds a compile-time option for SurfaceTexture to use the EGL_KHR_fence_sync extension to synchronize access to Gralloc buffers. Bug: 5122031 Change-Id: I7e973a358631fff5308acf377581b811911fe790
urfaceTexture.h
|
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
isplayEventReceiver.h
DisplayEventConnection.h
|
185a0a0420f54f9588ec1c7230313023a7a2259b |
22-Nov-2011 |
Jamie Gennis <jgennis@google.com> |
am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ics-mr1 * commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a': SurfaceTexture: fix a couple tests EGL: default to swap interval 1 SurfaceTexture: clean up some tests
|
59769469e4b9b2d8b12c020eb44b030b3927a50b |
20-Nov-2011 |
Jamie Gennis <jgennis@google.com> |
EGL: default to swap interval 1 This change explicitly sets swap interval 1 on the window when an EGLSurface is created to render to it. Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
urfaceTexture.h
|
8bee68fac2dba0a72a58a243601d5d7d12e116e6 |
19-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am d0df44b5: am 4d71053b: Merge "attempt to fix bug 5313580" into ics-mr1 * commit 'd0df44b5c979e00a19187cea35768ba26557e447': attempt to fix bug 5313580
|
a36bcd53ac075054bb39ef506687f4daaf9bac6b |
18-Nov-2011 |
Mathias Agopian <mathias@google.com> |
attempt to fix bug 5313580 the working theory here is that a Surface object has become non-promotable because it lost its last reference; later Surface::readFromParcel is called the previous surface is found in the cache, but can't be promoted. this causes a new Surface object to be created which will promptly try to connect to the CPU_API -- this in turn will fail because the previous (now dead) surface is still connected. To fix this, we make sure to disconnect from the SurfaceTexture when Surface[TextureClient] is destroyed. Change-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9
urfaceTextureClient.h
|
ccf5b9febc9486c67ace40fbfc53b49eadf2c159 |
17-Nov-2011 |
Jamie Gennis <jgennis@google.com> |
am 7765fc65: am fd6b64f6: Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1 * commit '7765fc651a9519dd2f0ac9d3374a50e9865c5c99': SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call
|
a929748ddb67cbece3337c7fda7877fdeb973aa4 |
10-Nov-2011 |
Sunita Nadampalli <sunitan@ti.com> |
SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call Surface Texture dequeue logic is modified to return the oldest of the free buffers to Client on dequeue call. Currently dequeue method is returning the first buffer index which is free. The parsing is done in ascending order of the buffer slot indices. This leads to returning the buffer which has been just queued to composer, and hence display, and this defeats the purpose of having minimum dequeue count as 2 in asynchrnouse mode. This is fixed by checking all the free slots and returning the oldest buffer. Change-Id: Ibbac10593c3994c278c601af0480b171635ecdd4 Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
urfaceTexture.h
|
8c11963dda80d4add300520a8863bed39231825d |
14-Nov-2011 |
Mathias Agopian <mathias@google.com> |
am 738d8cae: am c93a151f: Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1 * commit '738d8cae2239d194429676f2889cfae3c8f7ba08': Define, document, and test the behavior of very large SurfaceTextures
|
194c76c0477189700fda068e19b953b1d9af201a |
10-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Define, document, and test the behavior of very large SurfaceTextures updateTexImage() now throws a runtime exception when its native counterpart fails Bug: 5506633 Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
urfaceTexture.h
|
5cae0d0699a169e468fff3e21165f35db12f2cde |
21-Oct-2011 |
Mathias Agopian <mathias@google.com> |
Rename SensorChannel to BitTube
itTube.h
SensorEventConnection.h
ensorChannel.h
ensorEventQueue.h
|
1a2b83a17d3bdb2440b8b5b96136f7916a5528b5 |
17-Oct-2011 |
Mathias Agopian <mathias@google.com> |
SensorManager reconnects to sensor service when the later dies if system process ever restarted, processes using a SensorManager would loose the ability to use it, resulting to a crash. we now listen for sensor service death and reconnected if necessary. Bug: 5445240 Change-Id: Ia47f8b26cdcecb729fa22bf11d55e10fcaef8cfc
ensorManager.h
|
fb1b5a2f333800574b0da435d1200cf9b13d723f |
28-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: parameterize the texture target This change adds a hack to allow Android Browser to use a SurfaceTexture to stream RGBA images to a GL_TEXTURE_2D texture object. Change-Id: Idb90064d5d4b920959ef3be7451362ac5012460e
urfaceTexture.h
|
fa28c35c21d1bf8b38f541758c291bc17a2d7270 |
17-Sep-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: add name support This change adds support for setting a string that can be used to identify a SurfaceTexture object in log messages. Change-Id: Ib4ee085f36c8830dc964c05ef1654f5a55dfcd60
urfaceTexture.h
|
29b5762efc359022168e5099c1d17925444d3147 |
18-Aug-2011 |
Mathias Agopian <mathias@google.com> |
don't return the current buffer from dequeueBuffer we were not reseting mCurrentTexture in some situations which in turn caused dequeueBuffers() return a "FREE" buffer that was also current. Very often it was harmless, but it created a race with updateTexImage() which could cause the following queueBuffers() to fail. Bug: 5156325 Change-Id: If15a31dc869117543d220d6e5562c57116cbabdb
urfaceTexture.h
|
8e19c2e97e11505ee2ecf336275fd956f2ccfa22 |
11-Aug-2011 |
Mathias Agopian <mathias@google.com> |
fix a crasher in SurfaceTexture::updateTexImage() we now make sure to drain the buffer queue on disconnect. this happens only when in synchrnous mode. in async mode we clear all buffers except the head of the queue. for extra safety we also catch the null pointer in updateTexImage (which should never happen) and return an error. Bug: 5111008 Change-Id: I5174a6ecbb0de641c6510ef56a611cbb4e9e1f59
urfaceTexture.h
|
2560d14ce8e38984032d999e3fdf8da9a47baf3c |
11-Aug-2011 |
Mathias Agopian <mathias@google.com> |
rework dequeueBuffer()'s main loop. this simplifies the code a bit and also makes sure we reevaluate mAbandoned and mConnectedApi each time we come back from waiting on mDequeueCondition Change-Id: I1f8538b62ad321b51ed79d953b700036daba796d
urfaceTexture.h
|
ef51b992192adf4fc432686ab346f5fc7a13bc95 |
11-Aug-2011 |
Mathias Agopian <mathias@google.com> |
error out when SurfaceTexture APIs are called while not connected - also log a warning when freeAllBuffers is called with a non empty buffer queue - rename freeAllBuffers to freeAllBuffersLocked Change-Id: Idb71fdcf233b9ccae62d5a2a7c3c4bad2501d877
urfaceTexture.h
|
5bfc24515bb5c8ea7975f72d538df37753733a2f |
09-Aug-2011 |
Mathias Agopian <mathias@google.com> |
return correct value from query after connecting a surface the first time a surface was connected, the values returned by query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and NATIVE_WINDOW_TRANSFORM_HINT were wrong until a call to queueBuffer was performed. Bug: 5137366, 5121607 Change-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6
SurfaceTexture.h
urfaceTexture.h
|
96e108271bb5da44a130c8b5976fc63879403735 |
26-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Merge "remove dead code and member variables."
|
3fbce7c56082e4e0d23f1c1c89983d3841853ed7 |
26-Jul-2011 |
Mathias Agopian <mathias@google.com> |
remove dead code and member variables. also fix some comments and improve debugging logs. Change-Id: I83e55309f306332b59e1ec46104c4a7fffbf3c97
urfaceTextureClient.h
|
fa1e002cec5dc33ebe52685dc81d644f783811a8 |
25-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
Merge "SurfaceTexture: enable RGB external textures"
|
1f8e09f40d16ae377164d86e91385ad3d8e78e82 |
20-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: enable RGB external textures This change removes support for conditionally using the GL_TEXTURE_2D target for SurfaceTexture textures with RGB buffers. It also enables and fixes the RGB-based SurfaceTexture tests. Change-Id: I9a251a981cf66af6b048b2e4c3fe7231e4774f4d
urfaceTexture.h
|
7b305fffc39d0fe0926e7fd2d7f6a524fbce62b7 |
19-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: add the abandon method. This change adds the 'abandon' method to the SurfaceTexture C++ class. This method may be used to put the SurfaceTexture in an abandoned state, causing all ISurfaceTexture methods to fail. Change-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95
SurfaceTexture.h
urfaceTexture.h
|
29c870271e8d3f8c40c356283650ba54fe71a16b |
19-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: fix a comment Change-Id: I799532f77f8fbb6b8ee6888fdd8852b6f28e8c33
urfaceTexture.h
|
976f494d53cb239307fd810ce592b5b5de1cbc41 |
19-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: remove getAllocator This change removes the SurfaceTexture::getAllocator method, as it's no longer needed. Proper refcounting of the Gralloc buffers is now handled by the IGraphicBufferAlloc binder marshalling code. Change-Id: I5cffa6ebfc1bc5828fb7ce0e0a5b2f55cd8479da
SurfaceTexture.h
urfaceTextureClient.h
|
c10d9d90b2088a3304076e0dc4bf05cdbb5d45ab |
21-Jul-2011 |
Mathias Agopian <mathias@google.com> |
clean-up. get rid ofunused code and members in Surface[Control].cpp Change-Id: Ia7790ae28af2c2ac99eae01c2c5044ace4a490a4
SurfaceTexture.h
|
97c602c5af5f3ffd69009bf496d86347b71a2b4c |
20-Jul-2011 |
Mathias Agopian <mathias@google.com> |
implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation" Bug: 4487161 Change-Id: I883f34efe542c2a566d04966f873374f40c50092
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
7734ebfe47f42f980c1b44c1f284a91d8ad1d6c7 |
14-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Add set_scaling_mode() to ANativeWindow. This allows to specify the scaling mode independently from the buffer size. Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
8f9dbf9e13b927de2524116c30544f7dfbbbf56c |
14-Jul-2011 |
Mathias Agopian <mathias@google.com> |
move lock/unlock implementaion outside of Surface into SurfaceTextureClient This makes ANativeWindow_lock/ANativeWindow_unlockAndPost work with ANativeWindows implemented by Surface and SurfaceTextureClient. Also, Surface now inherits directly from SurfaceTextureClient. Bug: 5003724 Change-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef
urfaceTextureClient.h
|
677517ae3f380e701a47abe4738b748fb3ca161d |
15-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
Merge changes Id9aa1003,I8c154189 * changes: SurfaceTexture: make (dis)connect into an IPC SurfaceTexture: add support for new connect values
|
fe0a87b54654a1392650e7f1862df473287d8332 |
14-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: make (dis)connect into an IPC This change makes the ANativeWindow connect and disconnect calls result in an IPC to the SurfaceTexture object. This will allow us to prevent multiple simultaneous connections from different processes. Change-Id: Id9aa1003b1335b96ca6bd4a1f5a67aa433d42efb
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
bee205fd58a27c10a0895de5339e76025d429d2b |
01-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
EGL: fix the ANativeWindow size/fmt override This change fixes how the Android EGL layer overrides the size and format of an ANativeWindow in eglCreateWindowSurface. The new behavior is to leave the size untouched when overriding the format. The previous behavior was to reset the ANativeWindow to use the default size set by the ANativeWindow implementation. It also adds two new 'perform' methods to the ANativeWindow interface: set_buffers_dimensions and set_buffers_format, and redefines the behavior of set_buffers_geometry to be the combination of these two new methods. Additionally, this change adds an error check for the return value of the new native_window_set_buffers_format call, which required adding a (stub) handler for to FramebufferNativeWindow. Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
urfaceTextureClient.h
|
19e0a8bfe9a15543b0bd7991cce08e5362e9f5cd |
01-Jul-2011 |
Pannag Sanketi <psanketi@google.com> |
Merge "Minor fix in SurfaceTexture"
|
292a31a4c2ae2f6faf134e8e4a726583017dad06 |
24-Jun-2011 |
Pannag Sanketi <psanketi@google.com> |
Minor fix in SurfaceTexture Change-Id: Ic859715becf3e6d5107bd8beb8c577034d00ec52
urfaceTexture.h
|
3d8063b02e06020c8062addcc9ec49048d3bdb9a |
27-Jun-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: change onFrameAvailable behavior This change alters the conditions under which the onFrameAvailable callback gets called by the C++ SurfaceTexture class. The new behavior is to call the callback whenever a frame gets queued that will be visible to the buffer consumer. This means that buffers queued in synchronous mode always trigger the callback, as those buffers will remain pending until they are consumed. Buffers queued in asynchronous mode will only trigger the callback if there was not previously an unconsumed buffer pending. The new behavior means that a consumer should perform a draw operation exactly once for every onFrameAvailable call that it recieves. This change also modifies SurfaceFlinger and the SurfaceTexture JNI to support of the new behavior. Change-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40
urfaceTexture.h
|
14a0e58074f2698829b6554f578e6762c377caa3 |
24-Jun-2011 |
Grace Kloba <klobag@google.com> |
Add allowSynchronousMode to SurfaceTexture constructor. Change-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304
urfaceTexture.h
|
1c4414091cfb93206067fb64eba445653739d40f |
20-Jun-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: fix a NULL ptr dereference. This change adds a NULL check when searching the slot list in SurfaceTextureClient for the slot corresponding to a buffer being queued or canceled. Bug: 4645023 Change-Id: I806cbc1e34da118ea33a83c4f25ce8193ba1c3ad
urfaceTextureClient.h
|
ae468f43418c3cbae74c7f546283f6bb4e4df690 |
12-Jun-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: fix up a comment. Change-Id: I044e44e17319e08af657a7ec9fa39100876fe862
urfaceTexture.h
|
736aa9573bb7b78f9c315f396c104491b3639426 |
13-Jun-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: fix a getTransformMatrix crash. This change moves the computation of the transform matrix out of getTransformMatrix and instead performs the computation when updateTexImage gets called. This is needed in order for getTransformMatrix to succeed even if the buffers have been freed (e.g. by changing the buffer count) because the computation depends upon the properties of the current GraphicBuffer. Change-Id: Ied541ab8747b7ad604f862717135f9a16a816be9 Bug: 4490420
urfaceTexture.h
|
b62013f6aafee08cfad25a2712dc32264e44f783 |
18-May-2011 |
Mathias Agopian <mathias@google.com> |
9-axis sensor fusion with Kalman filter Add support for 9-axis gravity and linear-acceleration sensors virtual orientation sensor using 9-axis fusion Change-Id: I6717539373fce781c10e97b6fa59f68a831a592f
ensor.h
|
8cd5ba4b7f01d3a54a8f8bc6d1793aa5fc8e09ef |
19-May-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTexture: clean up some comments, tests, etc. This change fixes up some stale comments, member variable names, log messages and disables a failing test. Change-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c
urfaceTexture.h
|
cf46eb9817dfbfc020720d1e45b5c085252500fb |
12-May-2011 |
Mathias Agopian <mathias@google.com> |
fix onFrameAvailable Change-Id: I391fe9f6684ac9fd4f91416ce18b583f7087d966
urfaceTexture.h
|
68c7794183a7dbfe3b20d4ce832f8eb79c2c619a |
10-May-2011 |
Mathias Agopian <mathias@google.com> |
Add SurfaceTexture logging Change-Id: If1b74be5230813fb76429935d88b9d4a7c41700c
urfaceTexture.h
|
8072711307aa98ee5ee6f7369860ae38c3e19656 |
03-May-2011 |
Mathias Agopian <mathias@google.com> |
Implement {Surface|SurfaceTextureClient}::setSwapInterval() Change-Id: I8382e346ddaa2c4c8ff56ac3ffd7f0109572f188
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
b3e518c820c7dbe35587bd45c510e4e5e7cfd9c9 |
22-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Add the concept of synchronous dequeueBuffer in SurfaceTexture Change-Id: Ic94cbab092953243a0746e04bbe1b2eb0cc930ef
urfaceTexture.h
|
eafabcdc1639fb96062d9e3c39b0ae27b0238ae1 |
20-Apr-2011 |
Mathias Agopian <mathias@google.com> |
unify SurfaceTexture and Surface Change-Id: I49da2f5d8408e4cd7e148cfb777bb4ff68cd8f37
SurfaceTexture.h
urfaceTexture.h
|
c04f153353cdb0d291297d10452239f791d3fd2b |
26-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Fix a bug where setgeometry couldn't be undone This change the binder protocol between SurfaceTextureClient and SurfaceTexture. dequeueBuffer() now takes the requested parameters for the buffer. SurfaceTexture decides if the buffer needs to be reallocated and does the allocation if needed. In that case it returns BUFFER_NEEDS_REALLOCATION to tell SurfaceTextureClient that it needs to call requestBuffer (which all parameters have been removed) to acquire a pointer to the buffer. dequeueBuffer and requestBuffer could be folded into a single IPC call, but we chose to optimize the case where buffers are not created and avoid some complexity in the marshalling code. Change-Id: I097a7f6f40a3491e10f3f3742eab33999286c304
SurfaceTexture.h
urfaceTexture.h
|
697526bc9e44ce61c88614f98387ae8bbf0a187e |
01-May-2011 |
Iliyan Malchev <malchev@google.com> |
frameworks/base: android_native_buffer_t -> ANativeWindowBuffer Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
urfaceTextureClient.h
|
41abd67302b52aefadc2b3dea42226f16bf6d9ba |
15-Apr-2011 |
Iliyan Malchev <malchev@google.com> |
frameworks/base: make the ANativeWindow query() method const query() does not modify the object's data, so it needs to be a const method Change-Id: I67c40a3c865461e6f1cc2193fd2d74286ff6ac8f Signed-off-by: Iliyan Malchev <malchev@google.com>
urfaceTextureClient.h
|
7e3d7f341ab3789fe25064670374159a35e35ed3 |
19-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Merge "changes to SurfaceTexture needed for unification with SF"
|
7a042bf324fe3f3d5d4085fda21fe50dc0c362b4 |
12-Apr-2011 |
Mathias Agopian <mathias@google.com> |
changes to SurfaceTexture needed for unification with SF - implement connect/disconnect - implement missing query - handle texture_2d in addition to texture_external_oes Change-Id: I971a70821f00f22b01f5337de4a7d451177fec4d
urfaceTexture.h
urfaceTextureClient.h
|
4cb18881b55b82a24873ccd8e298bc2d5a9c17e5 |
09-Apr-2011 |
Mathias Agopian <mathias@google.com> |
Fix a GraphicBuffer leak in SurfaceTexture This leak was intentional, it was there to deal with the fact that some gralloc implementations don't track buffer handles with file-descriptors so buffers needed to stay alive until there were registered, which is not guaranteed by binder transactions. In this new implementation, we use a small BBinder holding a reference to the buffer, which with tuck into the parcel. This forces the reference to stay alive until the parcel is destroyed, which is guaranteed (by construction) to happen after the buffer is registered. this allows the public facing API to not expose the previous hack. Change-Id: I1dd6cd83679a2b7457ad628169e2851acc027143
urfaceTexture.h
|
a5c75c01620179ce00812354778a29a80d76e71f |
01-Apr-2011 |
Mathias Agopian <mathias@google.com> |
SurfaceTexture can now force the client to request a buffer SurfaceTexture now has the concept of default size a new method, setDefaultBufferSize() to set it. When the default size is changed, dequeueBuffer() will return a value telling the client that it must ask for a new buffer. The above only applies if the client has not overriden the buffer size with setGeometry. Change-Id: I520dc40363054b7e37fdb67d6a2e7bce70326e81
SurfaceTexture.h
urfaceTexture.h
|
1d01a12e7150be569557b64da9b8663c62c13594 |
18-Feb-2011 |
Eino-Ville Talvala <etalvala@google.com> |
Add support for timestamps into SurfaceTexture. API addition: The timestamps are represented as nanoseconds from some arbitrary time point. Like the SurfaceTexture transform matrix, the timestamp retrieved by getTimestamp is for the last frame sent to the GL texture using updateTexImage(). Camera HAL change: Expect vendors to set these timestamps using native_window_set_buffers_timestamp(). For now, they are autogenerated by SurfaceTextureClient if set_buffers_timestamp() is never called, but such timing is likely not accurate enough to pass a CTS test. bug:3300707 Change-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
bae774eb20bebd409441b93386b51bccda75f546 |
14-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
SurfaceTextureClient: Add ISurfaceTexture getter. This change adds a getter method to SurfaceTextureClient to get the ISurfaceTexture object with which the SurfaceTextureClient is communicating. Bug: 4086509 Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
urfaceTextureClient.h
|
9d4d6c101d90d4a1d1ca9413cf3eb89d1f1898d6 |
27-Feb-2011 |
Jamie Gennis <jgennis@google.com> |
Add the MIN_UNDEQUEUED_BUFFERS query to ANW. This change adds a new query to ANativeWindow for getting the minimum number of buffers that must be left un-dequeued during the steady-state operation of the ANativeWindow. Change-Id: Ie8c461fc26b02ecde02ddb4f95bf763662cf1551 Related-Bug: 3356050
urfaceTexture.h
urfaceTextureClient.h
|
1b20cde313b5ef8acdace742328df867956d24cb |
03-Feb-2011 |
Jamie Gennis <jgennis@google.com> |
Pass the IGraphicBufferAlloc to SurfaceTextureClient. This change passes a reference to the IGraphicBufferAlloc binder object to SurfaceTextureClient objects. When STC objects are created they query their associated ISurfaceTexture object for the IGraphicBufferAlloc that the SurfaceTexture uses to allocate buffers. Having the SurfaceTextureClient hold this reference prevents the GraphicBufferAlloc in SurfaceFlinger from freeing the allocated buffers before the SurfaceTextureClient is done with them. Change-Id: Ib8e30e8b37fdd60438cbb4cb7e9174d0ba6d661c related-bug: 3362519
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
c4d4aeab52435c177ded6abdd578fec8191f0f5d |
13-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Implement SurfaceTexture frame-available callback. This change implements the onFrameAvailable callback for the SurfaceTexture java class. It includes the C++ SurfaceTexture code as well as the JNI and Java code to enable the callback. Change-Id: Ifd8b8e7ad46ee70cba6da1c2e96dab8045d1ea30
urfaceTexture.h
|
9a78c90cd46b2a3bd637b056873149d3b94384b4 |
13-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Fix remote GraphicBuffer allocation in SurfaceFlinger. This change fixes a horrible hack that I did to allow application processes to create GraphicBuffer objects by making a binder call to SurfaceFlinger. This change introduces a new binder interface specifically for doing this, and does it in such a way that SurfaceFlinger will maintain a reference to the buffers until the app is done with them. Change-Id: Icb240397c6c206d7f69124c1497a829f051cb49b
urfaceTexture.h
|
f238e28500ca756fbd9e323f728ce7c8dda59475 |
10-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Implement crop & transform for SurfaceTexture. This change adds support for the setCrop and setTransform methods of the SurfaceTexture C++ class. The crop and transform for the current texture will be accessed by applications as a single texture coordinate transform matrix. Change-Id: I6482bf96f680e5c175364e848936db3908d6c8f8
urfaceTexture.h
|
67eedd74ab78c2bfed9fcdc74947b97289254ca4 |
09-Jan-2011 |
Jamie Gennis <jgennis@google.com> |
Fix a bug in SurfaceTexture::setBufferCount. We need to reset mCurrentTexture and mLastQueued in setBufferCount because it frees all of the buffers associated with the buffer slots. Change-Id: Ie2f834ec1c07ce7a4ab9b2b5fc5fe8c294010c60
urfaceTexture.h
|
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
SurfaceTexture.h
urfaceTexture.h
urfaceTextureClient.h
|
59abe7e0909bf4b7bf7b9601e1e40a05f6d4fd8a |
14-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Replace epoll() with poll() and rename PollLoop to Looper. As part of this change, consolidated and cleaned up the Looper API so that there are fewer distinctions between the NDK and non-NDK declarations (no need for two callback types, etc.). Removed the dependence on specific constants from sys/poll.h such as POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for the events that it supports. That should help make any future under-the-hood implementation changes easier. Fixed a couple of compiler warnings along the way. Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
ensorEventQueue.h
|
a48bcf62b6a26f24a0bdd2b44bb39fadce499e92 |
30-Jul-2010 |
Mathias Agopian <mathias@google.com> |
Added SensorManager.getMinDelay() Exposed the new "min delay" sensor property through native and java sensor apis. This allows the caller to know what is the maximum rate at which a sensor can return events, or, if a sensor works in "update" mode (events returned only when the value changes). Also augmented SensorManager.regusterSensorEvent() so that it can accept a value in microsecond in addition to the 4 constants already defined. Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
ensor.h
ensorEventQueue.h
|
e3c8234765050023b8a588607f819e8cc41a6363 |
22-Jul-2010 |
Mathias Agopian <mathias@google.com> |
propagate sensor event rate properly Change-Id: I32e67d30e4295285a6827956cc8161b2025d70bc
ensorEventQueue.h
|
a7352c9f4a6e642c29782b19db5bc0bd98feddc8 |
15-Jul-2010 |
Mathias Agopian <mathias@google.com> |
new SensorService remove old sensor service and implement SensorManager on top of the new (native) SensorManger API. Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
SensorServer.h
ensor.h
ensorEventQueue.h
ensorManager.h
|
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
SensorEventConnection.h
SensorServer.h
ensor.h
ensorChannel.h
ensorEventQueue.h
ensorManager.h
|