Commit Graph

48 Commits

Author SHA1 Message Date
emersion
7cbef15206
util: add wlr_ prefix to log symbols 2018-07-09 22:49:54 +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
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
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
583654405f
Made output layout example standalone 2018-05-10 19:03:57 -07: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
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
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
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
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color 2018-02-03 09:32:02 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor 2018-01-22 16:42:22 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age 2018-01-21 00:06:35 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking 2018-01-19 14:08:47 +01:00
Timidger
264ef0c261
Fixed logging for examples 2018-01-15 22:51:00 -05:00
emersion
1fe1d64042
Fix views outside output layout 2017-12-31 12:49:06 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes 2017-12-12 21:58:00 +01:00
Drew DeVault
4f73498b78 Move shared example code 2017-11-01 15:47:58 -04:00
Greg V
a5fe9aa736 Add FreeBSD compatibility 2017-10-11 00:07:21 +03:00
Drew DeVault
f4387b437f Merge branch 'master' into rootston 2017-09-25 08:29:51 -04:00
Drew DeVault
61e451ea1b Move keyboard logic to wlr_{keyboard,seat} 2017-09-24 14:12:56 -04:00
Tony Crisci
cef1f60522 wlr-seat-keyboard: basic events 2017-09-22 16:28:11 -04:00
Tony Crisci
e733b0e643 Rename wlr_output_layout_init()
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
2017-09-05 17:53:29 -04:00
Tony Crisci
6d26fda57c use monotonic clock time for animations 2017-08-31 23:43:02 -04:00
Tony Crisci
35eee80f9b remove unused outputs list in output-layout.c 2017-08-31 07:47:44 -04:00
Tony Crisci
fa3d4ecc84 fix layout hotplugging issue in output-layout.c 2017-08-31 07:47:44 -04:00
Tony Crisci
f8e4ba3f5f cleanup output-layout example 2017-08-31 07:47:44 -04:00
Tony Crisci
40bd6bcc43 implement output layout auto configuration 2017-08-31 07:47:44 -04:00
Tony Crisci
54f87146c3 refactor example config and add ini.c 2017-08-26 08:32:11 -04:00
Tony Crisci
a4810203cc change output layout coords to double type 2017-08-26 08:32:11 -04:00
Dominique Martinet
5885679e33 examples: separate compositor_fini from run
compositor_fini destroys the display, but it is an error to destroy it
before e.g. wlr_seat that references it.
This lets us order destroy calls properly, following first-in-last-out
logic.
2017-08-19 09:31:06 +02:00
Dominique Martinet
f24b3df980 wlr renderer/texture: rename init to create when it does alloc 2017-08-19 08:33:31 +02:00
Tony Crisci
e3edb08126 bring output configuration into shared.h 2017-08-18 19:31:16 -04:00
Tony Crisci
769549c652 Refactor example output config
Put all the config parsing into shared.h so it is shared among the examples.
2017-08-18 17:44:10 -04:00
Drew DeVault
3138c5ddf0 Clean up wlr_output_layout 2017-08-17 21:06:28 -04:00
Tony Crisci
854a9381ca improve collision detection algorithm 2017-08-17 21:05:13 -04:00
Tony Crisci
59a71f59b9 reconfigure output on resolution change 2017-08-17 21:05:13 -04:00
Tony Crisci
128f06405b vt change bugfix 2017-08-17 21:05:13 -04:00
Tony Crisci
5a9baf487e add helper methods for intersection 2017-08-17 21:05:13 -04:00
Tony Crisci
dfb6a12036 layout-output example: only render if its on the output 2017-08-17 21:05:13 -04:00
Tony Crisci
2e9e237f9d layout-output example: handle empty config 2017-08-17 21:05:13 -04:00
Tony Crisci
44181b57ac Add wlr_output_layout implementation
An output layout consists of a mapping of outputs to their position in a global
coordinate system that usually cooresponds to the output position in physical
space in front of the user.

Add an example that allows configuration of an output layout and demonstrates
its boundaries with a bouncing image.
2017-08-17 21:05:13 -04:00