- Mar 11, 2015
-
-
We can greatly simplify weston_output_transform_coordinate now by simply multiplying by the output matrix and converting the result to fixed point. This patch fixes zoomed input behaviour on the nested backends (x11, wayland) which use absolute input coordinates. And probably also absolute input devices. The patch that broke this was "zoom: Use pixels instead of GL coordinates". Signed-off-By:
Derek Foreman <derekf@osg.samsung.com> [Pekka: adjusted coding style and message] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Pekka Paalanen authored
The patch "zoom: Use pixels instead of GL coordinates" changed the meaning of weston_output_zoom::trans_x,trans_y from GL coordinate system to global coordinates. This patch is a minimal untested change to the rpi-renderer to try and follow up on that change. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Previously, the zoom functions used GL coordinates natively which doesn't work with the new output matrix calculations. This changes zoom to work in pixel coordinates to match the new output matrix format. This also cleans up the math in the zoom code substantially. This patch changes the meaning of weston_output_zoom::trans_x,trans_y, and doing so probably breaks zoom on the rpi-renderer and all absolute input devices. These problems are fixed by the following patches: rpi-renderer: minimal fix to zoom coordinates compositor: use weston_matrix_transform for weston_output_transform_coordinate [Pekka: added a comment] Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Previously, weston_output.matrix was in GL coordinates and therefore only really useful for the GL backend. This breaks zoom, which will be fixed by the following patch: zoom: Use pixels instead of GL coordinates [Pekka: added a comment to compositor.h, message] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Pekka Paalanen authored
Also remove the now dead code from weston_output_update_zoom(). Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Pekka Paalanen authored
Remove several fields from struct weston_output_zoom as a consequence of removing animation_xy from it. Animation_xy was always empty, unused. Animation_xy was likely used by text_cursor_position implementation, but that was removed in commit a7af7043. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Rviewed-By:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
This `for` statement needs corresponding braces. Signed-off-by:
Ryo Munakata <ryomnktml@gmail.com> Reviewed-by:
Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Mar 09, 2015
-
-
Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Signed-off-by:
Ryo Munakata <ryomnktml@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Mar 05, 2015
-
-
Certain circumstances may lead to the "force" clause in input_set_pointer_image() being reached when the current cursor is blank or unset. These are special cursors that don't have images, and they need to be handled differently than image cursors. This patch puts the special cursor handling in its own function and calls it from both places that need it. Previously only the frame callback handler did this correctly. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Mar 04, 2015
-
-
Pekka Paalanen authored
Implement support for weston_view_set_mask(). Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com>
-
Pekka Paalanen authored
Support for scissor not implemented yet on cursor overlay or for direct scanout. Overlays OTOH use the boundingbox to compute their coordinates, so that should probably work. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com>
-
Pekka Paalanen authored
Add API for setting a clip ('scissor' in the code) rectangle per view, in surface coordinates. Ivi-shell requires this feature to be able to implement the IVI Layer Manager API, which includes clipping of surfaces. The names weston_view_set_mask() and weston_view_set_mask_infinite() mirror the existing weston_layer_set_mask*() functions. This view clipping complements the weston_layer clipping, because view clipping is defined in surface local coordinates, while layer mask/clipping is defined in global coordinates. View clipping requires explicit support from the renderers. Therefore a new Weston capability bit is added: WESTON_CAP_VIEW_CLIP_MASK. Shells (and all users) of this new API are required to check the capability bit is set before using the API. Otherwise the rendering will not be what they expect. View clips are inherited through the transformation inheritance mechanism. However, there are restrictions. The clip rectangle can be set only on the root view of a transformation inheritance tree. The additional transformations in child views must not rotate the coordinate axes. These restrictions avoid corner cases in clip inheritance, and keep the renderer implementations as simple as they are right now. Renderers only need to do an additional intersection with the clip rectangle which is always aligned to the surface coordinate system. For more details, see the API documentation in the patch. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com>
-
Pekka Paalanen authored
Expand weston_compositor_pick_view() so it is easier to read. Use short-hand variables, that make it easier to add one more test in the future. Write the output coordinate pointers only when returning non-NULL. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-By:
Derek Foreman <derekf@osg.samsung.com>
-
- Mar 02, 2015
-
-
Pekka Paalanen authored
Let's me easily exit ivi-shell when testing with the DRM-backend. Only available in ivi-shell developer mode. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
Add a weston.ini option for ivi-shell to enable "developer mode". When developer mode is enabled, hook up the debug key bindings. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
The code for the key binding that triggers debug key bindings, that is, the code that makes mod+SHIFT+SPACE work, used to live in shell.c. I want to make the debug key bindings available in ivi-shell too, so this code should be shared. Move it to core. The code was originally introduced in commit c509d2b1 so update the copyright in binding.c to reflect that. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Thanks Pekka for pointing that out. Signed-off-by:
Carlos Olmedo Escobar <carlos.olmedo.e@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 27, 2015
-
-
Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
This rewrites basically all of the text inside xdg-shell to be up to date, clearer, and rid of wl_shell and X11 terminology. [jadahl: Added paragraph about popup surface mapping order.] Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Send an invalid_parent error when the client tries to create a popup with a paren that is neither a xdg_surface nor a xdg_popup. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Either in destroy or get_xdg_popup. [jadahl: Verify that the new popup is the top most when mapping instead of creating. Some renaming.] Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
There haven't been any ideas for flags, so we don't need a useless, unused parameter hanging around. Any future ideas should be done with a new request entirely. Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
It doesn't serve any purpose, as it's a serial that the client gave to the server when starting the popup, which the client already has. Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
There is no other valid surface that we should be using here. Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 26, 2015
-
-
Pekka Paalanen authored
All things everywhere, except this one case, assume weston_plane::damage is in global coordinates. Document it. view_accumulate_damage() is wrong in converting damage to plane coordinates (similar to global coordinate except translated). Fix this by removing the unwanted translation, and use only global coordinates. We have not seen this bug manifest in real life because we get lucky: the origin of the primary plane is always at 0, 0. We do not use non-primary planes, except cursor plane on DRM backend where the actual damage coordinates are ignored. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Pekka Paalanen authored
There are two call sites, one is already having a pixman_box32_t it needs to call view_compute_bbox() with. The other call site will have a box32_t when view clipping gets implemented. Change view_compute_bbox() to take a pixman_box32_t as the input argument, and convert call sites. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Pekka Paalanen authored
Add a comment saying it is. I'm not aware of misuses of it. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Pekka Paalanen authored
Also fixes a theoretical memory leak as the region was never fini'd. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Pekka Paalanen authored
The fix is not trivial, so I want to document the problem before I forget about it again. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
Pekka Paalanen authored
Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-
- Feb 25, 2015
-
-
Pekka Paalanen authored
Changes in v2: - remove stride and format arguments from the API Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
Taking the easy way, always do a rendering pass when copying any real buffer or texture. Will handle YUV formats, and makes it easy to always return data the right y-direction up. All the FBO GL state is created and torn down on every invocation, so this is a pretty naive implementation. If there was a wl_shm buffer giving the content to the surface, and the stride of the buffer was greater than width * bytes_per_pixel, then this implementation will return stride long rows, not width. Changes in v2: - simplify pack_color() - remove stride and format from the API Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
Add a new buffer type identifying the solid color contents which do not have a real buffer. Solid color surfaces now pretend to have 1x1 pixel content data. This helps the future surface_get_data_size() implementation. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
Add a new Weston plugin under tests/ for manual testing of the surface-shooting API. The debug key binding 'h' triggers a surface shot from the surface that currently has the pointer focus. The shot is written in PAM format into a file. PAM format was chosen because it is dead-simple to write from scratch and can carry an RGBA format. Changes in v2: - check fprintf calls, fix a malloc without free - remove stride and format arguments from the API Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
Use shared code for this kind of stuff. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
For easy creation of unique new files. I'm looking at you, screenshooter. This code is based on timeline.c weston_timeline_do_open(). Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Pekka Paalanen authored
This is an optional API that will be implemented by the renderers. It allows to fetch the current contents of a surface, essentially the buffer contents from a client buffer, converted to an RGBA format. This is meant as a debugging API. The implementations may be heavy and cause a stall, so they are not intended to be used often during normal operations. Renderers are expected to convert whatever data a surface has to a single RGBA format. Changes in v2: - remove stride and format arguments from the API Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Feb 24, 2015
-
-
Derek Foreman authored
wayland-test isn't and will never be wayland protocol, it's weston internal. Renamed wayland-test to weston-test, and wl_test to weston_test. Also added a Big Fat Warning to the description of weston_test to try to keep people from thinking it's a good idea to use some of these functions outside of testing. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Acked-by:
Bryce Harrington <bryce@osg.samsung.com> Reviewed-by:
Bryce Harrington <bryce@osg.samsung.com>
-