Commit graph

370 commits

Author SHA1 Message Date
emersion
c421700f3d
screncopy: update protocol 2018-06-30 22:18:04 +01:00
emersion
2b9cbaddf3
screencopy: add support for frame flags 2018-06-30 22:18:03 +01:00
emersion
bd8be19b79
screencopy: add presentation timestamp 2018-06-30 22:18:03 +01:00
emersion
73755ad348
screencopy-v1: add basic implementation 2018-06-30 22:17:59 +01:00
Scott Anderson
0e19b024c6 Add minimum version for ffmpeg 4.0 libraries 2018-06-26 20:14:08 +12:00
Scott Anderson
86942d8a6a Check for libavutil/hwcontext_drm.h
This is an optional feature of libavutil, so this will cause a build
failure if it's not present (e.g. on Debian/Ubuntu).
2018-06-26 17:25:29 +12:00
Rostislav Pehlivanov
5707653e85 examples/dmabuf-capture: move encoding to a separate thread
Drop new frames if too slow. Speeds up encoding significantly, even with vaapi.
2018-06-25 06:41:59 +01:00
Rostislav Pehlivanov
ed7d5b0f53 Fix example 2018-06-17 15:19:17 +01:00
emersion
bd0c1b7949
export-dmabuf: update protocol 2018-06-17 14:19:45 +01:00
Rostislav Pehlivanov
9eddcbc376 Update example and protocol 2018-06-17 14:06:52 +01:00
emersion
21928cbe61
Merge branch 'master' into screencontent 2018-05-31 12:33:27 +01: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
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
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
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
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
Ilia Bozhinov
24cf70ae96 backends: implement custom EGL and renderer initialization
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.

Fixes #987
2018-05-25 14:56:52 +03:00
Tony Crisci
a078e50ec0 rename sample state to "state" 2018-05-13 10:45:18 -04:00
Tony Crisci
e9fab2cc70 pointer example: use xcursor manager 2018-05-13 10:42:16 -04:00
Tony Crisci
aedd3c6d46 make pointer show up in pointer example 2018-05-13 10:31:59 -04:00
Timidger
9a1d0e42d2
Fixed emersion's issues 2018-05-10 19:03:58 -07:00
Timidger
7da50d065b
Fixed style issues 2018-05-10 19:03:58 -07:00
Timidger
7f1230fe78
Remvoed unnecessary wayland socket in examples 2018-05-10 19:03:57 -07:00
Timidger
167ca57b18
Fixed up building examples 2018-05-10 19:03:57 -07:00
Timidger
583654405f
Made output layout example standalone 2018-05-10 19:03:57 -07:00
Timidger
8fd25cbc5b
Fixed indentation 2018-05-10 19:03:57 -07:00
Timidger
b3ca73c0ac
Multi-pointer ported over 2018-05-10 19:03:57 -07:00
Timidger
b510c0f6c2
Made rotation example standalone 2018-05-10 19:03:57 -07:00
Timidger
7be5dfecc0
Made tablet standalone 2018-05-10 19:03:57 -07:00
Timidger
c622a0c7fb
Made touch standalone
TODO test
2018-05-10 19:03:56 -07:00
Timidger
4c1d74ef91
Made examples/pointer standalone 2018-05-10 19:03:56 -07:00
Timidger
7284709370
simple now works on DRM 2018-05-10 19:03:56 -07:00
Timidger
44b2bf18f0
Can now quit the simple example 2018-05-10 19:03:56 -07:00
Timidger
b98779a674
Got simple working without keyboard input 2018-05-10 19:03:56 -07:00
Timidger
ad6d40c7c6
Moved cat out of support, removed support 2018-05-10 19:03:56 -07:00
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface 2018-04-24 23:44:43 +01:00
Guido Günther
67a10cc1f6 examples/layer-shell: take an explicit grab on the popup
This demonstrates popups can be closed by clicking on the area outside
the popup and parent.
2018-04-23 18:11:47 +02:00
Guido Günther
32e043f996 examples: Allow to close the popup
So we can the xdg_popup_destroy path.
2018-04-23 12:52:05 +02:00
Guido Günther
5209c79702 examples: Handle input entering popup in layer-shell
Change the cursor when entering the popup and make mouse buttons change
the red component of the square. This makes sure we can handle input
correctly.
2018-04-23 11:24:31 +02:00
Guido Günther
421652a450 examples: Animate popup in layer-shell 2018-04-23 11:24:31 +02:00
Guido Günther
d1e82a8ede examples: Drop unused variable 2018-04-23 11:24:31 +02:00
Drew DeVault
941f88ce23 Fix popup positioning & double popups 2018-04-23 11:24:06 +02:00
Drew DeVault
0a0627f5d0 Finish forward-porting @acrisci's positioner work 2018-04-23 11:24:06 +02:00
Drew DeVault
2e3d901ac5 Forward-port xdg-shell-v6 positioner improvements 2018-04-23 11:24:06 +02:00
Drew DeVault
d3cdb00208 Add (shitty) support for popups to layer example 2018-04-23 11:24:06 +02:00
Drew DeVault
4575f27932 Update layer shell example -o behavior 2018-04-22 19:19:22 +02:00
Dominique Martinet
555206cf60 Fix gcc string truncation warnings 2018-04-13 14:37:53 +09:00
Drew DeVault
902d859c67 Fix syntax errors
Build before you commit, dumbass
2018-04-08 12:50:52 -04:00
Drew DeVault
7bb8512afb Fix assertions with side-effects
Fixes #1725
2018-04-08 12:49:48 -04:00
Drew DeVault
3a8c7f283d Add input-inhibitor example client 2018-04-03 14:06:52 -04:00
Drew DeVault
a94f4d0edc Always give keyboard focus to the topmost layer 2018-04-02 15:48:22 -04:00
Drew DeVault
883d8d306c Identify topmost interactive layer surface 2018-04-02 15:16:14 -04:00
emersion
f63a5d881d
examples: get wlr_renderer from the backend 2018-04-01 16:57:29 -04:00
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer 2018-03-31 18:49:43 -04:00
Drew DeVault
2053a4c144 Add more exotic cursor for layer shell example
So it's more obvious that it's being set
2018-03-30 21:02:28 -04:00
Drew DeVault
746e3759b7 Address review feedback 2018-03-30 20:34:00 -04:00
Drew DeVault
168f65fb7a Minor bugfixes 2018-03-30 18:28:21 -04:00
Drew DeVault
e3eb487dc2 Add pointer support to layer shell example 2018-03-30 18:23:57 -04:00
Drew DeVault
ac219cbda6 Remove width_mm from tablet events 2018-03-28 12:05:37 -04:00
Drew DeVault
324b9d910d Remove width_mm from wlr_touch events 2018-03-28 11:04:40 -04:00
Drew DeVault
a35a5786b0 Remove width_mm from wlr_pointer events 2018-03-28 10:46:50 -04:00
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
Redesign wlr_texture
2018-03-28 00:14:57 -04:00
Drew DeVault
13edb19a6c Fix issue starting up client EGL on X11 backend 2018-03-27 18:51:38 -04:00
Drew DeVault
776b81d499 Fix surface layer damage tracking 2018-03-27 18:50:32 -04:00
Drew DeVault
0e318df13d Add margin animation to the example demo 2018-03-27 18:50:32 -04:00
Drew DeVault
86ca4bea6d Fix layer rendering/layout bugs 2018-03-27 18:50:32 -04:00
Drew DeVault
df9dbf3170 Fix rebase issues; rearrange layers on destroy 2018-03-27 18:50:32 -04:00
Drew DeVault
d1c0e6fe2c Add layer_surface.close 2018-03-27 18:50:32 -04:00
Drew DeVault
b73c4f48c1 Fix exclusive zone among other layers 2018-03-27 18:50:32 -04:00
Drew DeVault
0f7e78f6aa Fix issue with multiple outputs in layer example 2018-03-27 18:50:32 -04:00
Drew DeVault
f444a0d14c Implement layer surface damage 2018-03-27 18:50:32 -04:00
Drew DeVault
4bf936360d Arrange & render layer surfaces 2018-03-27 18:50:09 -04:00
Drew DeVault
fcf8c6c8a2 Fix issues preventing layer from getting allocated
Now all of the steps to get rootston a reference to the layer surface
are correctly wired up.
2018-03-27 18:50:09 -04:00
Drew DeVault
4bc1cc49d5 Fix strcmp use 2018-03-27 18:50:09 -04:00
Drew DeVault
b31ce4220c Add broken test client and rootston stubs 2018-03-27 18:50:09 -04:00
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign 2018-03-26 19:13:13 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses 2018-03-26 12:41:51 -04:00
emersion
c63d94483b
Redesign wlr_texture
- Textures are now immutable (apart from those created from raw
  pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions

Fun fact: this patch has been written 10,000 meters up in the air.
2018-03-24 23:48:32 -04:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h 2018-03-19 23:16:29 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
Matrix redesign
2018-03-17 15:22:00 -04:00
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture 2018-03-15 19:31:02 +01:00
emersion
824a95ad19
matrix: use 2D matrices 2018-03-15 15:33:58 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers 2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/ 2018-03-15 09:11:27 +01:00
emersion
3bd1d876ae
examples: simplify screenshot client 2018-03-14 19:21:36 +01:00
Drew DeVault
bfc0e95d2c Add mode support to libinput backend
And extend tablet example with tilt and ring support
2018-03-07 20:57:55 -05:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
d08792bfff Add alpha to wlr_render_with_matrix
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Drew DeVault
9dc868a27f
Merge pull request #667 from Ongy/screenshot_tmpfile_template
prevent screenshot from resuing template array
2018-02-24 18:05:38 -05:00
Markus Ongyerth
8ab0073b49 prevent screenshot from resuing template array
The template array given to mkstemp was declared static. This reused the
memory, which caused mkstemp to fail if backingfile is run more than
once, because the array no longer contained the template syntax
(which is forced to end in XXXXXX) but the previous file name.
2018-02-24 23:55:48 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth
67285c1d57 idle-inhibit: style adjustments and motivation 2018-02-23 13:18:05 +01:00
Guido Günther
b13f9fcfde Don't use os_create_anonymous_file outside of wlroots
Use a stripped down version for the backing file in the screenshot
example.
2018-02-23 09:51:23 +01:00
Markus Ongyerth
87a7afb641 idle-inhibit: second feedback pass 2018-02-21 16:22:04 +01:00