Commit Graph

2944 Commits

Author SHA1 Message Date
Markus Ongyerth 3994762ae0 Add wlr_surface_get_geometry
This function defaults and clips the xdg-surface geometry to the
bounding box of the surface + its subsurfaces, as specified by the
protocol spec.
2018-06-01 15:21:18 +02:00
emersion 6b7a55aa3d
Merge pull request #1020 from emersion/remove-check-dmabuf
render: remove wlr_renderer_check_import_dmabuf
2018-05-31 21:49:57 +01:00
emersion 21928cbe61
Merge branch 'master' into screencontent 2018-05-31 12:33:27 +01:00
Genki Sky 32013abae6 rootston: xdg-shell*: Fix get_size() for newly-mapped views
The user-visible issue is that newly-mapped xdg-shell* windows would
sometimes start with their top-left-corner, rather than their center, in
the center of the screen. This is because get_size() would
conservatively fall back on (width, height) == (0, 0) if both
set_window_geometry() had not been called, and it found
view->wlr_surface to be NULL.

But, view->wlr_surface is only set to non-NULL in view_map(). We call
get_size() before this. Fortunately, the wlr_surface in question is
accessible via view->xdg_shell{,_v6}->surface, so always fall back on
that. We can assert its presence instead of further falling back on
(width, height) == (0, 0).

Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:21:19 -04:00
Genki Sky d1cf9acbd5 cleanup: Use void for zero-parameter functions
Signed-off-by: Genki Sky <sky@genki.is>
2018-05-30 20:19:16 -04:00
emersion f90b024ad0
linux-dmabuf: fix bound checks for stride and height
- Fix bound checking for offset + stride * height
- Make offset bound checking more consistent
- Reject zero strides
2018-05-30 19:46:24 +01:00
emersion 135721118a
render: remove wlr_renderer_check_import_dmabuf
It's possible to implement it outside the renderer, by creating a
texture and destroying it right away. This reduces the API surface
of the renderer.
2018-05-30 17:08:15 +01:00
emersion 41e53d1499
Merge pull request #1019 from emersion/virtual-keyboard-destroy
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy
2018-05-30 13:51:34 +01:00
Drew DeVault 5d8e387021
Merge pull request #1015 from emersion/dmabuf-single-modifier
Only allow one modifier per DMA-BUF, split attributes struct in render/
2018-05-30 08:39:45 -04:00
emersion 28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/ 2018-05-30 09:29:12 +01:00
emersion f580112dca
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy 2018-05-30 09:25:46 +01:00
emersion 8c9d0f15ce
Merge pull request #1017 from tobiasblass/examples_rotation_fix_doublefree
Fix double-free in the rotation.c example.
2018-05-30 08:36:10 +01:00
emersion 0c1f50168b
examples/output-layout: destroy wl_display
Thanks @tobiasblass for pointing this out. See #1017.
2018-05-30 08:34:49 +01:00
Tobias Blass a21894a844 Fix double-free in the tablet.c and touch.c examples
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
2018-05-30 08:24:25 +02:00
Drew DeVault f076cc45ee
Merge pull request #1016 from emersion/wl-display-destroy-clients
rootston: use wl_display_destroy_clients
2018-05-29 20:24:24 -04:00
Tobias Blass 75f9feb6de Fix double-free in the rotation.c example.
The wl_display_destroy function already destroys the backend's renderer.
Freeing it by hand causes a segmentation fault.
2018-05-30 01:12:34 +02:00
emersion f9ad63c5cb
rootston: use wl_display_destroy_clients 2018-05-29 22:50:26 +01:00
emersion 87fe9f3466
Merge pull request #1014 from RyanDwyer/fix-wlr-box-contains-point
Fix wlr_box_contains_point comparison
2018-05-29 19:03:29 +01:00
emersion c844eaa1b3
build: add dependencies for examples/dmabuf-capture 2018-05-29 18:47:20 +01:00
emersion 70d324a0f9
examples/dmabuf-capture: simplify event loop and fix style 2018-05-29 18:47:20 +01:00
emersion 85b6b4b0c8
examples/dmabuf-capture: make building this example optional 2018-05-29 18:47:20 +01:00
emersion 2198fd5eed
examples/dmabuf-capture: fix indentation 2018-05-29 18:47:20 +01:00
emersion 2681352e04
export-dmabuf: permanently fail if backend doesn't implement export_dmabuf 2018-05-29 18:47:19 +01:00
Rostislav Pehlivanov f204a9127c
Command line parsing 2018-05-29 18:47:19 +01:00
Rostislav Pehlivanov b9b397ef80
Add a demo client for dmabuf export 2018-05-29 18:47:19 +01:00
emersion a16ad4327a
Update protocol 2018-05-29 18:47:19 +01:00
emersion 65198b0aab
export-dmabuf: assert number of planes 2018-05-29 18:47:19 +01:00
emersion 2432c41a49
export-dmabuf: correctly send the number of planes per layer 2018-05-29 18:47:18 +01:00
emersion 3f9796112e
export-dmabuf: fix tv_sec_hi 2018-05-29 18:47:18 +01:00
emersion 00e108f2fc
export-dmabuf: correctly finish wlr_linux_dmabuf_attribs 2018-05-29 18:47:18 +01:00
emersion 1377e551ef
Update wlr-export-dmabuf protocol 2018-05-29 18:47:18 +01:00
emersion 7901740f94
rootston: enable export-dmabuf 2018-05-29 18:47:17 +01:00
emersion e26f4dff98
export-dmabuf: wait for the frame to be ready, send timestamp 2018-05-29 18:47:17 +01:00
emersion 5ba1a9af56
render: add wlr_texture_to_dmabuf 2018-05-29 18:47:17 +01:00
emersion bd430b8620
backend/drm: support multi-planar DMA-BUFs when exporting 2018-05-29 18:47:17 +01:00
emersion 36bd4795d4
export-dmabuf: add basic and incomplete implementation 2018-05-29 18:47:17 +01:00
emersion 9e26808c28
output, backend/drm: add wlr_output_export_dmabuf 2018-05-29 18:45:45 +01:00
emersion e1f56538a8
Merge pull request #999 from dcz-purism/virtual-keyboard
Support virtual keyboard protocol
2018-05-29 18:22:44 +01:00
Ryan Dwyer f8a831859f Fix wlr_box_contains_point comparison 2018-05-29 23:05:01 +10:00
emersion 3444f43c16
Merge pull request #1012 from acrisci/doc-map-unmap
document the map/unmap xdg-shell events
2018-05-28 20:27:55 +01:00
Tony Crisci 044fa52be4 reword new_surface docs 2018-05-28 13:12:53 -04:00
Tony Crisci c27cd5f065 document the map/unmap xdg-shell events 2018-05-28 11:16:33 -04:00
Dorota Czaplejewicz 5334ee8bfd virtual-keyboard: add support for the virtual-keyboard-v1 protocol 2018-05-28 10:05:55 +02:00
Drew DeVault f95bd1facf
Merge pull request #1007 from emersion/xdg-toplevel-tiled
xdg-shell: add wlr_xdg_toplevel_set_tiled
2018-05-27 08:58:05 -04:00
emersion 47f097e09b
xdg-shell: add wlr_xdg_toplevel_set_tiled 2018-05-27 13:38:06 +01:00
Drew DeVault ebc8004c8c
Merge pull request #1006 from emersion/drm-logs
backend/drm: better connector cleanup, add more logs
2018-05-27 08:37:46 -04:00
emersion 79683ee497
backend/drm: better connector cleanup, add more logs 2018-05-27 13:21:41 +01:00
Drew DeVault b597f5e380
Merge pull request #1004 from emersion/surface-buffer-send-release
surface: remove wl_resource_post_event
2018-05-26 15:57:28 -04:00
emersion da504f9253
surface: remove wl_resource_post_event 2018-05-26 19:43:55 +01:00
emersion 4dfcbcf5dd
Merge pull request #1003 from acrisci/document-keyboard-events
document key and modifier signals
2018-05-26 19:12:50 +01:00