- 12 Jun, 2013 1 commit
-
-
Siarhei Siamashka authored
This patch implements a heuristics, which enables backing store for some windows. When backing store is enabled for a window, the window gets a backing pixmap (via automatic redirection provided by composite extension). It acts a bit similar to ShadowFB, but for individual windows. The advantage of backing store is that we can avoid "expose event -> redraw" animated trail in the exposed area when dragging another window on top of it. Dragging windows becomes much smoother and faster. But the disadvantage of backing store is the same as for ShadowFB. That's a loss of precious RAM, extra buffer copy when somebody tries to update window content, potentially skip of some frames on fast animation (they just do not reach screen). Also hardware accelerated scrolling does not currently work for the windows with backing store enabled. We try to make the best use of backing store by enabling backing store for all the windows that are direct children of root, except the one which has keyboard focus (either directly or via one of its children). In practice this heuristics seems to provide nearly perfect results: 1) dragging windows is fast and smooth. 2) the top level window with the keyboard focus (typically the application that a user is working with) is G2D accelerated and does not suffer from any intermediate buffer copy overhead. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
-
- 18 Feb, 2013 1 commit
-
-
Siarhei Siamashka authored
The modern desktops may use ARGB cursors. As the current sunxi display controller support code can't handle this type of cursor yet, the X server fallbacks to a software cursor which is not visible under layers and ruining user experience. This patch adds empty implementations for "UseHWCursorARGB" and "LoadCursorARGB" functions which just return error for now (so that the X server still fallbacks to software cursor). However we also introduce callback functions responsible for notifying the DRI2 code about enabling/disabling the use of hardware cursor. So that now hardware overlays are disabled when switching to software cursor and re-enabled again when switching back to hardware cursor. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
-
- 20 Jan, 2013 1 commit
-
-
Siarhei Siamashka authored
Hardware cursor is necessary because it is also visible on top of sunxi disp layers, while software cursor is not. FIXME: there is one minor problem with negative cursor positions. The hardware does not support them, so such positions are just set to 0 for now. In the future this can be solved better by changing the cursor picture and showing only the parts which are visible on screen.
-