Mathias Agopian
8683fca395
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
2012-08-13 02:46:05 -07:00
Jeff Brown
6f12d57325
Add a very simple helper function to log slow functions.
...
Change-Id: I2e2e072206d02b572a330dd25857c161b5b563bf
2012-08-10 22:03:55 -07:00
Mathias Agopian
e57f292595
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
2012-08-10 17:32:33 -07:00
Mathias Agopian
ef7b9c7eac
screenshots could stop working after camera was used
...
once a secure window is put on screen the display
would retain its "secure" flag forever, preventing
screenshots from being taken.
Bug: 6933967
Change-Id: I5be8355145ca7d580d84552311642f8fa912fe6a
2012-08-10 15:23:41 -07:00
Mathias Agopian
748f3df66f
avoid crashing when we don't have an h/w composer
...
should fix the emulator
Bug: 6956162
Change-Id: I38247b59d276b8db078c4dc2caba7d3fb545912c
2012-08-10 14:36:40 -07:00
Mathias Agopian
3165cc21cf
libgui includes refactoring
...
Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
2012-08-10 13:18:24 -07:00
Mathias Agopian
1e26087493
Add a display parameter to HWComposer where needed
...
- also replace C casts with C++ casts
- only the interface is changed, HWComposer still doesn't
fully handle multiple displays
Change-Id: I48eb89bff2edb76bf1d4d41f46802b9b2a7166a8
2012-08-10 13:18:24 -07:00
Mathias Agopian
28947d7fbf
now able to set the layer stack on a DisplayDevice
...
Change-Id: Ia9691cf221b9444c243eb468d9e276a30e600b6b
2012-08-10 13:18:23 -07:00
Mathias Agopian
69973992d5
improve Vector<> safety checks
...
- make errors that will always cause a memory corruption always fatal
(for eg: KeyedVector<>::editValue{For|At}() failure)
- make other errors fatal in debug mode, those that can be caught by
the caller.
- fix typos
Change-Id: I65cc7d81035c37ce2906fc4500c50e5d5b5c49eb
2012-08-10 13:15:00 -07:00
Jamie Gennis
599d48825f
Merge "SurfaceTexture: Fix a fence fd leak." into jb-mr1-dev
2012-08-08 16:13:21 -07:00
Jamie Gennis
3d1d09c0c1
SurfaceTexture: Fix a fence fd leak.
...
Bug: 6949010
Change-Id: I289992c964504b4fe5458dbd19b248a841ef043f
2012-08-08 15:39:55 -07:00
Mathias Agopian
85aea74886
add /d/sync to dumpstate
...
Change-Id: I24f8f3e0420c2198ae3981fc067fb660898655e8
2012-08-08 15:32:02 -07:00
Keun young Park
a610da900c
Merge "enable java/jni build in PDK if supported" into jb-mr1-dev
2012-08-08 12:25:15 -07:00
Keun young Park
203a3357c7
enable java/jni build in PDK if supported
...
- testFramerate requires platform java API
while all other tests only need SDK support
Change-Id: Iaefe23c41b3ace87522b5deefd6db2f5d80ed872
2012-08-07 17:09:19 -07:00
Jesse Hall
b685c54283
Changes to support multi-display HWC
...
Change-Id: I07efff54f2980dcb013935747b03e099b8f1181b
2012-08-07 12:16:36 -07:00
Jamie Gennis
14bd369e4b
Merge changes Ic3d35a93,I46ec942d into jb-mr1-dev
...
* changes:
SurfaceTexture: fix an out of bounds array access
surfaceflinger: refactor FrambufferSurface
2012-08-06 19:15:51 -07:00
Jamie Gennis
45cb2ba1d5
SurfaceTexture: fix an out of bounds array access
...
Bug: 6879028
Change-Id: Ic3d35a9384c0a6dfa4000e7743a6f6859608b0bf
2012-08-06 18:55:01 -07:00
Jamie Gennis
1a4d883dcc
surfaceflinger: refactor FrambufferSurface
...
This change refactors the FramebufferSurface class to inherit from the new
ConsumerBase class.
Bug: 6620200
Change-Id: I46ec942ddb019658e3c5e79465548b171b2261f2
2012-08-06 18:55:01 -07:00
Greg Hackmann
92516c84ef
fix pdk build
...
Change-Id: Ia4db8e1e8ee18ac112bf13a5ab2a75edb08fc70f
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2012-08-06 13:55:56 -07:00
Mathias Agopian
53095e25d6
libutils cleanup: remove unused or seldom used code from misc.{cpp|h}
...
Change-Id: I72206f16619d81887e3b85603494563faab3b445
2012-08-05 12:41:16 -07:00
Mathias Agopian
028a7572c8
DisplayDevice doesn't need weak pointers or polymorphism
...
let's use a LightRefBase for now.
Change-Id: Ida068fa902343a8f89ffb6d34c2cd4627ab43c6c
2012-08-05 01:23:51 -07:00
Mathias Agopian
4297734c11
turn DisplayDevice into a reference-counted object
...
it's safer this way because this object owns an
EGLSurface which cannot be easily reference-counted.
it also gives us the ability to sub-class it, which
we might want to do soon.
Change-Id: I07358bb052dc5a13b4f2196b2c2b6e6e94c4bb4f
2012-08-05 00:40:46 -07:00
Mathias Agopian
d8552d796c
DisplayDevice only needs ANativeWindow not SurfaceTextureClient
...
Change-Id: Ib5be5af8bede435c8d5d9fabf586d28d0e74c2cb
2012-08-04 21:39:11 -07:00
Mathias Agopian
888c822c4c
remove a dependency of DisplayDevice on the refresh rate
...
this remove a dependency (not all) on FramebufferSurface
Change-Id: Ie07ce70760cdcedfb41b5b41bea8da45637bf474
2012-08-04 21:23:47 -07:00
Mathias Agopian
72131d9ef1
remove unneeded dependencies in libhardware
...
Change-Id: Ibb8d698d594216d0746b0e7270cf87d7e5acab2b
2012-08-04 20:22:32 -07:00
Mathias Agopian
c1d359d42b
break SF dependencies on libdvm and libandroid_runtime
...
these libraries are only needed for debugging and are now
linked at runtime if needed.
Change-Id: I03f138523c6de166a1e2700d4454d4a854aee145
2012-08-04 20:09:48 -07:00
Mathias Agopian
92efd84f37
screen-off animation won't be handled by SF anymore
...
Change-Id: Idc41386804ae7d7eb981c36e1bc55c270870c8d0
2012-08-03 13:22:58 -07:00
Mathias Agopian
92a979a92c
We now have a real list of displays.
...
displays can be dynamically added or removed, and the
list is part of the SF's transaction.
Change-Id: I4186ea39f1317c0e7c044f869004017738968fab
2012-08-02 22:24:12 -07:00
Mathias Agopian
fcb239d3da
don't filter when capturing a screenshot unless needed
...
bug: 6919952
Change-Id: Ia6fbe9bc7e533a64cfdd6ef7f0cd6b9f11feb947
2012-08-02 22:24:12 -07:00
Mathias Agopian
d3ee231edd
cleanups in preparation of bigger changes
...
- fix typo drawForSreenshot misspelled
- get rid of DisplayDeviceBase
- removed unused or unneeded code
- always pass a DisplayDevice to Layer methods that are called
on a per-display basis (to make it clear that this could be
called more than once per composition).
Change-Id: Id948b7e09fe5c06db0e42d40d6ed75dd095c7f44
2012-08-02 22:24:12 -07:00
Mathias Agopian
0f2f5ff75b
rename DisplayHardware to DisplayDevice
...
Change-Id: I3f7250cd914e0da4f9ec2c9403587bbe12f3cc62
2012-08-02 22:24:12 -07:00
Mathias Agopian
be246f86bd
Layers are now sorted by layer-stack first, then by z-order
...
Change-Id: I7a82929df5ba87b9d88cc5be87e1a233bc4628e9
2012-08-02 22:24:12 -07:00
Mathias Agopian
52bbb1ae23
getting closer to final main composition loop
...
Change-Id: Icd63782366ffd11d9ea00c925ae5783ed7440cdb
2012-08-02 22:24:12 -07:00
Mathias Agopian
87baae104a
get rid of global regions that should be tracked per display
...
Change-Id: I3b871860cc29f1b2fdcc22b0c577a6eae65d9296
2012-08-02 22:24:12 -07:00
Romain Guy
53f10b7b13
Merge "Add missing break in switch statement" into jb-mr1-dev
2012-08-01 19:18:10 -07:00
Romain Guy
4f9c284de4
Add missing break in switch statement
...
Change-Id: I6206cc9ca46c4e2f125d3d820256280586ad66a1
2012-08-01 19:16:59 -07:00
Dianne Hackborn
22ea9b37e2
Dalvik heap size for a 10" xhdpi tablet.
...
Change-Id: Ie47702cda764817e023464944cd6dc5352fc439e
2012-08-01 18:14:45 -07:00
Jamie Gennis
1dd2003f1a
Merge "libgui: enable EGL_fence_sync usage for exynos5" into jb-mr1-dev
2012-07-31 17:13:32 -07:00
Jamie Gennis
12bd497f28
libgui: enable EGL_fence_sync usage for exynos5
...
Bug: 6876502
Change-Id: I2ec2800881dcba9e4f6ff32ffa1341a2de01f0a2
2012-07-31 17:07:53 -07:00
Jesse Hall
cbc388ca6a
Merge "Move eglSwapBuffers out of HWComposer" into jb-mr1-dev
2012-07-31 16:17:52 -07:00
Jesse Hall
b6ae16f04e
Merge "Revert "Minimal changes to support multi-display HWC"" into jb-mr1-dev
2012-07-31 12:24:17 -07:00
Jesse Hall
bc0d7dc8f5
Revert "Minimal changes to support multi-display HWC"
...
This reverts commit bddd724b17
Change-Id: Ib7db20b5b3de4779b6e173473a33976ae398abd4
2012-07-31 12:16:31 -07:00
Jesse Hall
402a65da15
Merge "Minimal changes to support multi-display HWC" into jb-mr1-dev
2012-07-30 21:20:05 -07:00
Jesse Hall
34a09ba1ef
Move eglSwapBuffers out of HWComposer
...
Commit 8630320
moved the eglSwapBuffers fallback (for devices with no
HWC implementation) from DisplayHardware to HWComposer. But HWComposer
only knows about the framebuffer EGL display and surface handles if
there is a HWC, so it was always passing bogus handles.
This change moves the eglSwapBuffers fallback up to SurfaceFlinger,
which has access to the framebuffer EGL handles.
Bug: 6886613
Change-Id: Iad3f5ff7c90ee48d7053999e6a4548d6794b6ebd
2012-07-30 16:10:49 -07:00
Mathias Agopian
e21facef01
Merge "log more info on fence sync_merge error" into jb-mr1-dev
2012-07-30 15:22:00 -07:00
Mathias Agopian
d83d67b5d5
log more info on fence sync_merge error
...
also fix a typo where the wrong value was passed to sterror.
Change-Id: I4df2abe582e14c8f816b65818f4593a6bd3c23ea
2012-07-30 15:10:35 -07:00
Ed Heyl
747c480b0e
Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev
...
Conflicts:
include/media/hardware/CryptoAPI.h
Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
2012-07-28 09:55:54 -07:00
The Android Open Source Project
657ea79b62
am 5e966ef6
: Reconcile with jb-release
...
* commit '5e966ef64bda21a14b5f835040f515932c52e966':
2012-07-27 15:45:33 -07:00
The Android Open Source Project
5e966ef64b
Reconcile with jb-release
...
Change-Id: Ied4d1f919062ea2abeee45ce4ecbc92a105b8f3d
2012-07-27 14:52:00 -07:00
Jesse Hall
bddd724b17
Minimal changes to support multi-display HWC
...
Change-Id: I5efea78ac381c3e3118e6e92b508f336233ac319
2012-07-27 10:28:36 -07:00