ca27f2500cff74ae1e08b3ae06f18e9b3414ffb7 |
|
07-Feb-2018 |
chaviw <chaviw@google.com> |
Allow destroySurface to get called in transaction. Previously, destroy was always initiated immediatley and could not be synchronized with a client transaction. This change allows destroySurface to be called in the same transaction as other client state updates. Test: Unit tests pass Test: Call from Java fixes bugs. Change-Id: I841359530538961a0187216cc455cc388c0ede77 Fixes: 72953020 Fixes: 71499373
/frameworks/native/libs/gui/LayerState.cpp
|
2c5f6d2257075c8b5ced78b07ed8b2c2323f0df2 |
|
26-Sep-2017 |
Robert Carr <racarr@google.com> |
SurfaceFlinger: Implement merging of transaction objects. Useful for WindowManager to collect multiple transactions from independent units. Test: Transaction_test.cpp Change-Id: I52e89b038e3b375493169991e41cb75b67550264
/frameworks/native/libs/gui/LayerState.cpp
|
4cdc58f6840d15b4952149d2b345ec1f97d505bc |
|
23-Aug-2017 |
Robert Carr <racarr@google.com> |
SurfaceFlinger Transactions as distinct objects. Essentially a process global singleton for transactions is not so useful once we make surface control public API as process isn't something an app developer is really thinking about. It's also nice that we get to delete two of the plumbing layers. Test: Boots Change-Id: I8864bd7e2f5865e3c0a425cf82f9928211911774
/frameworks/native/libs/gui/LayerState.cpp
|
13fdc49516d17f41e64e62e73c313b0928bf13cc |
|
27-Jun-2017 |
chaviw <chaviw@google.com> |
Added native functionality to create a color layer. Added a new layer that can draw a specified color and specified alpha. This will replace creating a dim layer and allow any colors, not just black, to be set for this layer. Test: Added tests to Transaction_test.cpp to test with a color and a color layer with alpha. Change-Id: I00a38d1bbc01093026f088c3347454281bdc2b8c
/frameworks/native/libs/gui/LayerState.cpp
|
f1961f713de2b3f54c8ce7653964b969e1a02bc8 |
|
19-Sep-2017 |
chaviw <chaviw@google.com> |
Re-parent invoked on child instead of on parent. The function to re-parent an individual child is now invoked on the child instead of the parent. This ensures the child ends up with the last parent set if multiple reparent requests are made in the same transaction. This also allows adding a parent to a layer that didn't have one previously. Test: Transaction_test -> Reparent, ReparentToNoParent, ReparentFromNoParent Change-Id: Idab429eb2dca5a4ae1b020a5a7629d719dd4d995
/frameworks/native/libs/gui/LayerState.cpp
|
0617894190ea0c3ee50889bee1d4df0f369b0761 |
|
27-Jul-2017 |
chaviw <chaviw@google.com> |
Add a re-parent function to re-parent a specific child. This is similar to reparentChildren, but the reparentChild will only re-parent a specific child to the new parent and not all children. Test: Added test in Transaction_test for reparentChild. Change-Id: I4275e0d5f1d5601b489956753c78a56d1a5d4c1c
/frameworks/native/libs/gui/LayerState.cpp
|
db66e627ad8904491e384c64f82fc77a939b9705 |
|
11-Apr-2017 |
Robert Carr <racarr@google.com> |
SurfaceFlinger: Add parent-less relative layering. This is a temporary functionality for the intermediate state where not all child-surface like things in WM land are ported to use Child Surfaces. In particular, we have ported SurfaceView to use child surfaces and relative Z ordering. However the TV frameworks provide a View framework component which overlays views over the SurfaceView but below the main application window. Since we have not ported View framework surfaces to use child layers, there is nothing the WM or View Framework can do about this situation. Luckily the WM API's to have requested this are @hide but we have the one media framework component using it. In order to solve this issue we provide a method to set Z ordering relative to another window without inheriting its coordinate space as a child window would. This way the WM can recognize these TYPE_APPLICATION_MEDIA_OVERLAY windows and Z-order them at -1 with respect to the parents (and the SurfaceView can be at -2). Test: Included in transaction tests. Also manual test of bug repro steps with accomp frameworks/base CL Bug: 36693738 Change-Id: I921852d3d34f67f79ec745b9703f9e679867e7a1
/frameworks/native/libs/gui/LayerState.cpp
|
0d48072f6047140119ff194c1194ce402fca2c0b |
|
11-Jan-2017 |
Robert Carr <racarr@google.com> |
Add deferTransaction variant taking GraphicBufferProducer. For SurfaceView using child layers, the client framework will not have access to the Handle* for the parent surface, but still needs a way to defer transactions to it's frames. Test: Tested with corresponding SurfaceView modifications and existing tests. Change-Id: I6f01c360e85a95ff0ab08db406741221152e5d5c
/frameworks/native/libs/gui/LayerState.cpp
|
479c60c85c40fd3536b0c88036e838dc1a4c56a0 |
|
27-Jan-2017 |
Albert Chaulk <achaulk@google.com> |
Refactor how layer metadata for use by VR is propagated from WindowManager based on feedback in frameworks/base. Since windowType and ownerUid are immutable, they are sent on creation instead of separate IPC. Bug: 30984984 Test: built locally Change-Id: I380b3cdcf6aec471fc23f1e27846ab80492e8add
/frameworks/native/libs/gui/LayerState.cpp
|
1db73f66624e7d151710483dd58e03eed672f064 |
|
21-Dec-2016 |
Robert Carr <racarr@google.com> |
SurfaceFlinger: Add support for non-privileged clients. Allow clients without privilege to create child layers through scoped connections. We enable this in preparation for allowing SurfaceView to bypass the WindowManager. We include support for reparenting of all of a layer's children for the WindowManager to use in cases where one surface is replacing another (while keeping its children around). Test: Tested with corresponding SurfaceView modifications. Change-Id: I9920e6730d719113522a68788e63fb59f70d3406
/frameworks/native/libs/gui/LayerState.cpp
|
ae0608381b2b4699218febd6d45ad9d307544d55 |
|
28-Nov-2016 |
Robert Carr <racarr@google.com> |
SurfaceFlinger and libgui: Switch Z-order to signed type. In preparation for SurfaceFlinger child layers. In that model children's Z order will be relative to their parent. We need negative Z values to represent children stacking below their parent (e.g. SurfaceView). Java side already uses signed types strangely enough. Test: Basically a refactoring. SurfaceFlinger still works. Change-Id: Ifcece69f6f9d917cbf5238a59f8e5de1e8ba6a25
/frameworks/native/libs/gui/LayerState.cpp
|
6cf6af0299f7e48bc5bcdcd6a6c0f5a8725e9411 |
|
22-Nov-2016 |
Albert Chaulk <achaulk@google.com> |
VR: Add API to plumb surface type and owner through to SurfaceFlinger This is a cherry-pick of https://googleplex-android-review.git.corp.google.com/c/1648886/ Test: None Bug: None Change-Id: I338c84c2576ab85fa4f6d8e759c9e7ce912cdd61
/frameworks/native/libs/gui/LayerState.cpp
|
c3574f7b0141c69fdca25ccafb80ff334462f9a3 |
|
24-Mar-2016 |
Robert Carr <racarr@google.com> |
Add setOverrideScalingMode to SurfaceControl Provide an interface for the window manager to override the client specified scaling mode. This makes it possible for the window manager to force windows to be scaleable for animations, etc, even when a resize is pending. Bug: 27891386 Change-Id: Ic4aae9917bd6869ee0dbb425979b4e21c68342a3
/frameworks/native/libs/gui/LayerState.cpp
|
acbe67888f0bd65d5400400f0115bae6bd6199dc |
|
04-Mar-2016 |
Pablo Ceballos <pceballos@google.com> |
Add final crop implementation Bug 26559810 Change-Id: Idaccd13cd625c92d18665ddecebdbb266ea365f3
/frameworks/native/libs/gui/LayerState.cpp
|
7dde599bf1a0dbef7390d91c2689d506371cdbd7 |
|
22-May-2015 |
Dan Stoza <stoza@google.com> |
Support SurfaceView synchronization. Add API for fetching the next frame number to be produced by a given buffer producer. Add an API to SurfaceComposer to defer execution of the current transaction until a given frame number. Together these may be used to synchronize app drawing and surface control updates. Change-Id: I8e0f4993332ac0199c768c88581a453fefbaff1d
/frameworks/native/libs/gui/LayerState.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/LayerState.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/LayerState.cpp
|
2ea926bda2fa30f3ba8d0ed2d2395a8ada952e6e |
|
14-Nov-2014 |
Marco Nelissen <marcone@google.com> |
Replace IInterface::asBinder() with a static so we can do NULL checks again, and update calls to IInterface::asBinder() to use the new static version. Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
/frameworks/native/libs/gui/LayerState.cpp
|
54430ca2a88f57c709ea2924ea0b78820ae62643 |
|
01-Nov-2014 |
Michael Lentine <mlentine@google.com> |
am 793fc0e1: Merge "Fix crash when user provides large values in the Parcel." into lmp-mr1-dev * commit '793fc0e13d25bdecda1219999f8be2cb3c121d20': Fix crash when user provides large values in the Parcel.
|
8afa1c4ab86d724feb7716e153b7835385534590 |
|
31-Oct-2014 |
Michael Lentine <mlentine@google.com> |
Fix crash when user provides large values in the Parcel. Bug: 18102648 Change-Id: Ie6a24718e586a34424238363de80f9545951514f
/frameworks/native/libs/gui/LayerState.cpp
|
27b780b517eb18582f978da64febb31ecfa8e4bf |
|
16-Oct-2014 |
Dan Albert <danalbert@google.com> |
am 9cc84950: Merge "Don\'t check if this == NULL." * commit '9cc849500df0bba42d3ed19b90c38ff1dffd2262': Don't check if this == NULL.
|
1474f8864faafebc92ff79959bb5c698bd29b704 |
|
09-Sep-2014 |
Dan Albert <danalbert@google.com> |
Don't check if this == NULL. Entering a method with this == NULL is undefined behavior. Clang whines about this. Change-Id: Ibde628395ca10dfef0d2f59e81280576f104b83c
/frameworks/native/libs/gui/LayerState.cpp
|
47e45405d1533aa73307014f7bf371e118695cf3 |
|
19-Jul-2014 |
Michael Lentine <mlentine@google.com> |
Allow for resizing of Virtual Displays. Modify SurfaceFlinger to use VirtualDisplaySurface in all cases when a virtual display is used. Add functionality in VirtualDisplaySurface to resize the buffers aquired in the QueueBufferOutput. Add transaction support in SurfaceFlinger for resize. Add the modification of the size in DisplayDevice. Change-Id: Iae7e3556dc06fd18d470adbbd76f7255f6e6dd6b Tested: None
/frameworks/native/libs/gui/LayerState.cpp
|
ac9fa427d4a86745e60a5f7fd8e3ea340c4db907 |
|
12-Feb-2013 |
Mathias Agopian <mathias@google.com> |
get rid of Surface identity and token we use the IBinder instead. Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
/frameworks/native/libs/gui/LayerState.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/LayerState.cpp
|
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
/frameworks/native/libs/gui/LayerState.cpp
|
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
/frameworks/native/libs/gui/LayerState.cpp
|
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
/frameworks/native/libs/gui/LayerState.cpp
|
90ac799241f077a7b7e6c1875fd933864c8dd2a7 |
|
26-Feb-2012 |
Mathias Agopian <mathias@google.com> |
fix libgui header location Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
/frameworks/native/libs/gui/LayerState.cpp
|
698c0873cf2e07bdc7fd1e72169aee2a19fa40d7 |
|
29-Jun-2011 |
Mathias Agopian <mathias@google.com> |
SF transactions are now O(1) wrt IPC instead of O(N). Change-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43
/frameworks/native/libs/gui/LayerState.cpp
|
d87f162026454f5a3e6437ed0c9ef51651a6b939 |
|
26-Mar-2011 |
Mathias Agopian <mathias@google.com> |
merge libsurfaceflinger_client into libgui this is the first step in unifying surfacetexture and surface. for this reason the header files were not moved, as most of them will eventually go away. NOTE: currently we keep libsurfaceflinger_client.so as an empty library to workaround prebuilt binaries wrongly linking against it. Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
/frameworks/native/libs/gui/LayerState.cpp
|