04262e9f842edf20168399b6a70f0d67e518fe69 |
|
14-Sep-2010 |
Mathias Agopian <mathias@google.com> |
Add logging of various important graphics events There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
/frameworks/base/libs/ui/Android.mk
|
6d0fec2de3601821f4f44eeb7d7deedebb2b7117 |
|
24-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Refactor input reader to support new device types more easily. Refactored the input reader so that each raw input protocol is handled by a separate subclass of the new InputMapper type. This way, behaviors pertaining to keyboard, trackballs, touchscreens, switches and other devices are clearly distinguished for improved maintainability. Added partial support for describing capabilities of input devices (incomplete and untested for now, will be fleshed out in later commits). Simplified EventHub interface somewhat since InputReader is taking over more of the work. Cleaned up some of the interactions between InputManager and WindowManagerService related to reading input state. Fixed swiping finger from screen edge into display area. Added logging of device information to 'dumpsys window'. Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
/frameworks/base/libs/ui/Android.mk
|
fd03582995e0fce963dd0fa0669e3211b74c0dd7 |
|
01-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Add initial gamepad support. Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
/frameworks/base/libs/ui/Android.mk
|
46b9ac0ae2162309774a7478cd9d4e578747bfc2 |
|
23-Apr-2010 |
Jeff Brown <jeffbrown@google.com> |
Native input dispatch rewrite work in progress. The old dispatch mechanism has been left in place and continues to be used by default for now. To enable native input dispatch, edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy. Includes part of the new input event NDK API. Some details TBD. To wire up input dispatch, as the ViewRoot adds a window to the window session it receives an InputChannel object as an output argument. The InputChannel encapsulates the file descriptors for a shared memory region and two pipe end-points. The ViewRoot then provides the InputChannel to the InputQueue. Behind the scenes, InputQueue simply attaches handlers to the native PollLoop object that underlies the MessageQueue. This way MessageQueue doesn't need to know anything about input dispatch per-se, it just exposes (in native code) a PollLoop that other components can use to monitor file descriptor state changes. There can be zero or more targets for any given input event. Each input target is specified by its input channel and some parameters including flags, an X/Y coordinate offset, and the dispatch timeout. An input target can request either synchronous dispatch (for foreground apps) or asynchronous dispatch (fire-and-forget for wallpapers and "outside" targets). Currently, finding the appropriate input targets for an event requires a call back into the WindowManagerServer from native code. In the future this will be refactored to avoid most of these callbacks except as required to handle pending focus transitions. End-to-end event dispatch mostly works! To do: event injection, rate limiting, ANRs, testing, optimization, etc. Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
/frameworks/base/libs/ui/Android.mk
|
000479f9e325b4e426a67033abd92d47da412725 |
|
10-Feb-2010 |
Mathias Agopian <mathias@google.com> |
split libsurfaceflinger_client and libcamera_client out of libui
/frameworks/base/libs/ui/Android.mk
|
e05f07dffa196d6403733b26317faa9f267d518f |
|
08-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2170319] gmail bulk operation checkbox latency on passion This also fixes [2152536] ANR in browser When SF is enqueuing buffers faster than SF dequeues them. The update flag in SF is not counted and under some situations SF will only dequeue the first buffer. The state at this point is not technically corrupted, it's valid, but just delayed by one buffer. In the case of the Browser ANR, because the last enqueued buffer was delayed the resizing of the current buffer couldn't happen. The system would always fall back onto its feet if anything -else- in tried to draw, because the "late" buffer would be picked up then.
/frameworks/base/libs/ui/Android.mk
|
6950e428feaccc8164b989ef64e771a99948797a |
|
06-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger When EGLImage extension is not available, SurfaceFlinger will fallback to using glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an extra copy. However this code path has never been exercised and had some bugs which this patch fix. Mainly the scale factor wasn't computed right when falling back on glDrawElements. We also fallback to this mode of operation if a buffer doesn't have the adequate usage bits for EGLImage usage. This changes only code that is currently not executed. Some refactoring was needed to keep the change clean. This doesn't change anything functionaly.
/frameworks/base/libs/ui/Android.mk
|
b9e52a07b7a605fe6d6588587bc74002f632c768 |
|
09-Sep-2009 |
Andy McFadden <fadden@android.com> |
Fix sim-eng build. Appears to have been broken by: commit 9779b221e999583ff89e0dfc40e56398737adbb3 Author: Mathias Agopian <mathias@google.com> Date: Mon Sep 7 16:32:45 2009 -0700 fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly For some reason we don't like to have "-lpthread" globally -- it's a no-op on device builds, but required for many host tools and all sim binaries -- so adding the use of pthread calls requires adding the library explicitly.
/frameworks/base/libs/ui/Android.mk
|
9779b221e999583ff89e0dfc40e56398737adbb3 |
|
08-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly Rewrote SurfaceFlinger's buffer management from the ground-up. The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice. The main new feature is to be able to dequeue all buffers at once (very important when there are only two). A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued. The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time. eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
/frameworks/base/libs/ui/Android.mk
|
265d9c076a588cf4cd811fbafd999c7ffe36641b |
|
07-Aug-2009 |
Mathias Agopian <mathias@google.com> |
added two EGL helpers for selecting a config matching a certain pixelformat or native window type
/frameworks/base/libs/ui/Android.mk
|
dfe983bd7979ccb1602f29b8f9804c98411d9cd6 |
|
02-Jul-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master
|
1f7300818fae32dcef5a5387b04c8f304b5e1cd5 |
|
26-Jun-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am c44989d6: Merge change 5350 into donut Merge commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e' * commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e': move ui/Time.cpp to core/jni, since this is the only place it is used
|
864c0d50cda714d73fa70e3600ec36b5db8a835a |
|
25-Jun-2009 |
Mathias Agopian <mathias@google.com> |
move ui/Time.cpp to core/jni, since this is the only place it is used
/frameworks/base/libs/ui/Android.mk
|
2da99bdaa1712f00525e6a84b58044332cb1baef |
|
27-May-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master Conflicts: include/ui/Rect.h libs/ui/ISurfaceComposer.cpp
|
09d00f705be5dbc1766e12e47c0a743abbad360e |
|
27-May-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 0c0ad39c: Merge change 2502 into donut Merge commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0' * commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0': minor clean-up to Rect and Point.
|
f1472a79728324f4f6b5d66af986e9e9db24d0aa |
|
27-May-2009 |
Mathias Agopian <mathias@google.com> |
minor clean-up to Rect and Point. - return "const" objects for overloaded operators to disallow constructs like: (a+b) = c; - don't return references to non-static members, it's not always safe. - Point.cpp was empty, so get rid of it
/frameworks/base/libs/ui/Android.mk
|
947f4f4d384ea26eb2145cc070a3eed42c59534a |
|
22-May-2009 |
Mathias Agopian <mathias@google.com> |
merge master to master_gl
|
25ba5b6564224dceefa086b5c439ef28dad530ca |
|
19-May-2009 |
Mathias Agopian <mathias@google.com> |
checkpoint: split libutils into libutils + libbinder
/frameworks/base/libs/ui/Android.mk
|
6158b1bf0364da1582468a98ec09d004ba99deec |
|
11-May-2009 |
Mathias Agopian <mathias@google.com> |
Region now has its own implementation instead of relying on SkRegion, which allows us to break libui's dependency on libcorecg.
/frameworks/base/libs/ui/Android.mk
|
dff8e58d47ede6e748c0b02e128ca33b42a4f362 |
|
04-May-2009 |
Mathias Agopian <mathias@google.com> |
update surfaceflinger, libui and libagl to the new gralloc api - Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually. - factor all the lock/unlock code in SurfaceBuffer. - fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers(). - improved the situation with the dirty-region and fixed a problem that caused GL apps to not update. - make use of LightRefBase() where needed, instead of duplicating its implementation - add LightRefBase::getStrongCount() - renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp - disabled copybits test, since it clashes with the new gralloc api - Camera/Video will be fixed later when we rework the overlay apis
/frameworks/base/libs/ui/Android.mk
|
1473f46cbc82aa6f0ba744cc896a36923823d55b |
|
10-Apr-2009 |
Mathias Agopian <mathias@google.com> |
Integrate from //sandbox/mathias/donut/...@145728 SurfaceFlinger rework for new EGL driver model support.
/frameworks/base/libs/ui/Android.mk
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/libs/ui/Android.mk
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/libs/ui/Android.mk
|
9266c558bf1d21ff647525ff99f7dadbca417309 |
|
16-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@126645
/frameworks/base/libs/ui/Android.mk
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/libs/ui/Android.mk
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/libs/ui/Android.mk
|