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
morganamilo
6305e6327f
Fix typos in comments and strings
2018-05-03 21:59:43 +01:00
emersion
71ca45e2c0
Make sure we don't use others' prefixes
2018-04-25 23:24:58 +01:00
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
2018-04-25 23:00:46 +01: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
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
Markus Ongyerth
a65ef8ea86
restore dpms state on drm resume
...
If there is no current mode, set outputs to dpms off in drm resume.
Sets current mode to null on disable to ensure this can be checked.
2018-02-26 18:12:51 +01:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
Drew DeVault
664d7bfe4e
Merge pull request #618 from VincentVanlaer/atomic-gamma
...
Add atomic gamma control
2018-02-10 09:51:09 -05:00
emersion
bf6d245400
Swap buffers with damage
2018-02-09 22:54:14 +01:00
Vincent Vanlaer
ab011406ad
Add atomic gamma lut size fetching
...
Legacy gamma lut size now uses the new legacy_crtc member of
wlr_drm_crtc. This was Previously doen using old_crtc in
wlr_drm_connector, but since this refers to the crtc that was connected to
the ouput, this could give the wrong result.
2018-02-09 17:29:14 +01:00
Vincent Vanlaer
cc1229e75e
Add atomic gamma setting
2018-02-09 17:29:04 +01:00
emersion
bb4aeb3b2f
backend/drm: support updating cursor when session is paused
2018-02-02 21:01:59 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
53ba9b4eec
Fix output enable in DRM backend
2018-01-07 00:28:21 +01:00
Tony Crisci
a937016e38
remove session from multibackend
2017-12-19 18:25:46 -05:00
Dominique Martinet
be95147385
drm backend: add wlr_output_is_drm
2017-12-19 20:13:49 +01:00
emersion
9d43adaafa
Listen to display destroy in backends
2017-12-07 23:44:59 +01:00
emersion
016744ef4d
Refactor wlr_list inside wlroots
2017-11-19 00:17:40 +01:00
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
2017-10-31 12:30:57 +01:00
emersion
9d587d759f
Do not set hw cursor if disabled when switching VT
2017-10-26 18:58:44 +02:00
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
2017-10-21 22:03:48 -04:00
Scott Anderson
bdeffad7e5
Remove drm field from wlr_drm_connector
2017-10-22 10:36:07 +13:00
Scott Anderson
4ea84c5765
Remove unnecesary wlr_renderers
2017-10-22 10:36:07 +13:00
Scott Anderson
9b984253e2
Move egl.h to render/egl.h
2017-10-22 10:36:07 +13:00
Heghedus Razvan
c03e774636
Replace list_t with wl_list in wlr_drm_backend
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:03 +03:00
Scott Anderson
f193623ca1
Change iface prefix to suffix
2017-10-02 21:44:33 +13:00
Scott Anderson
f6f9c40965
Minor fixes
2017-10-01 22:44:24 +13:00
Scott Anderson
009c3747a8
Multi-GPU DRM
2017-10-01 22:29:25 +13:00
Scott Anderson
eaef028976
Add renderer pointer inside drm_surface
2017-10-01 15:55:25 +13:00
Scott Anderson
4101b89700
Rename wlr_drm_output to wlr_drm_connector
2017-09-30 23:31:08 +13:00
Scott Anderson
22e77d9195
Rename backend to drm
2017-09-30 22:22:26 +13:00
Scott Anderson
ec5b95e08f
Add pointer to backend from DRM outputs
2017-09-30 22:01:59 +13:00
Scott Anderson
096249a2a1
Split DRM rendering to its own file
2017-09-30 20:52:58 +13:00
Scott Anderson
d0708b1a3a
Split DRM internal interface to its own header
2017-09-30 19:11:41 +13:00
Scott Anderson
610b0493ac
Rename files to remove pointless drm prefix
2017-09-30 19:03:34 +13:00
Drew DeVault
2b06f88f0b
Combine internal DRM headers into one
...
Everything always just included both anyway
2017-06-10 12:30:02 -04:00
Scott Anderson
63c3faa006
Fixed rendering bug: Delay calling gbm_surface_release_buffer until it
...
has been scanned out.
2017-06-09 17:15:55 +12:00
Scott Anderson
632a7acb03
Filled out more wlr_output fields.
2017-06-08 00:39:40 +12:00
Drew DeVault
40b85d992a
Refactor udev and drm initialization
2017-06-01 20:29:10 -04:00
ascent12
62d612a01e
Merge branch 'master' into session
2017-06-01 23:10:19 +12:00
Drew DeVault
fee409bd0a
Generalize DPMS, remove DRM refs from example
2017-05-31 15:38:26 -04:00
Scott Anderson
f9d363fece
Added device matching
2017-05-14 13:07:34 +12:00
Scott Anderson
7efdd3c9fc
Refactored renderer startup to function.
2017-05-14 12:48:47 +12:00
Scott Anderson
058b8bdf27
Working commit
2017-05-14 12:42:49 +12:00
Scott Anderson
599d1bcbdc
DPMS support
2017-05-13 20:37:15 +12:00
Drew DeVault
00931f2f8f
Generalize output handling
2017-05-07 12:26:48 -04:00
Drew DeVault
15b1ce9e6c
Refactor backend state management
2017-05-07 10:12:54 -04:00
Scott Anderson
4285b0c218
Removed unused fields.
2017-05-03 22:50:18 +12:00
Scott Anderson
ef9768858e
Changed modesetting interface.
2017-05-03 22:41:49 +12:00
Scott Anderson
d196a79b6c
Changed backend to accept wl_display.
2017-05-03 21:28:44 +12:00
Scott Anderson
18387468bb
Renamed 'wlr_drm_display' to 'wlr_drm_output'
2017-05-03 17:49:03 +12:00
Scott Anderson
15d247bf34
Changed drm to use new EGL interface.
2017-05-03 17:17:14 +12:00
Scott Anderson
81998fdc98
Removed old session code from DRM backend.
2017-05-03 16:23:07 +12:00
Scott Anderson
e446a5300b
Added example.
2017-05-02 18:13:17 +12:00
Scott Anderson
e9d716fc0c
Changed display to use list_t.
2017-05-02 14:34:33 +12:00
Scott Anderson
115d4ae637
Changed events to use wayland functions.
2017-05-02 14:08:34 +12:00
Scott Anderson
562d43a5ec
Changed logging.
2017-05-02 13:00:25 +12:00
Scott Anderson
41a82fd2fc
Renaming.
2017-05-01 17:49:18 +12:00
Scott Anderson
95a553dc51
Moved headers to the correct place.
2017-05-01 15:33:42 +12:00