Drew DeVault
664d7bfe4e
Merge pull request #618 from VincentVanlaer/atomic-gamma
...
Add atomic gamma control
7 years ago
emersion
bf6d245400
Swap buffers with damage
7 years ago
Vincent Vanlaer
2df97ed16a
Set needs_swap on output when gamma changes
7 years ago
Vincent Vanlaer
f5e5d1983b
Do not allow gamma control without a crtc
7 years ago
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.
7 years ago
Vincent Vanlaer
cc1229e75e
Add atomic gamma setting
7 years ago
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Markus Ongyerth
08fda567d2
prevents reuse of outdated wlr_output state
...
On the drm output the wlr_drm_connector structs are reused.
This struct contains the wlr_output struct, which is reused as well.
The old code kept modes/edid and output state persistent over hotplug.
This nulls the relevant strings, reads newer edid data and removes old
modes on unplug.
7 years ago
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
bb39277e97
backend/drm: update output enabled property on modeset
7 years ago
emersion
bb4aeb3b2f
backend/drm: support updating cursor when session is paused
7 years ago
Guido Günther
c5aac77692
Fix some typos
...
Prefer initialize over initialise since used more often in the sources.
7 years ago
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
7 years ago
emersion
b47e8c4a1d
backend/drm: do not retry pageflip when swapping buffers
7 years ago
emersion
20e6861021
Do not flush damage if swapping buffers failed
...
This should solve issues with multiple outputs on DRM backend.
7 years ago
emersion
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Guido Günther
d7dfbd23fa
drm: Use ptrdiff_t instead of intmax_t in format string
...
since we're looking at pointer differences.
Otherwise the build fails on arm like
In file included from ../backend/drm/drm.c:19:0:
../include/wlr/util/log.h:34:17: error: format '%jd' expects argument of type 'intmax_t', but argument 7 has type 'int' [-Werror=format=]
_wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
^
../backend/drm/drm.c:462:2: note: in expansion of macro 'wlr_log'
wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
^~~~~~~
../backend/drm/drm.c:462:39: note: format string is defined here
wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
~~^
%d
7 years ago
emersion
7adf13e284
Fix flickering when switching VT
7 years ago
emersion
8d58ed502b
output: add wlr_output_schedule_frame
7 years ago
emersion
ece2c1e4e2
Damage tracking for transformed outputs
7 years ago
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Timidger
f8b9f44ff5
Add con/crtc null check to move_cursor in drm
7 years ago
Timidger
9d4ea146b6
Added crtc null check for other drm funcs
7 years ago
Timidger
4478cf1ddc
Fixes #575
7 years ago
emersion
0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
7 years ago
emersion
584f06ad2f
backend/drm: do not try a pageflip is another one is in pending
7 years ago
emersion
f0f97280a0
backend/drm: fix retry pageflip
7 years ago
emersion
53ba9b4eec
Fix output enable in DRM backend
7 years ago
emersion
771263380c
Add wlr_output::enabled
7 years ago
emersion
e737f65e38
Fix cursor on transformed output with DRM backend
7 years ago
Dominique Martinet
be95147385
drm backend: add wlr_output_is_drm
7 years ago
emersion
0256de0002
Add full refresh rate support to custom modes
7 years ago
emersion
466e86b7b2
Merge branch 'master' into surface-transform
7 years ago
emersion
3b4b8953d9
Update output layout when scale or transform changes
7 years ago
emersion
8af779fae6
Fix segfault when moving hardware cursor
7 years ago
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring
7 years ago
Dominique Martinet
f451ea3639
rootston exit: fix drm destroy
...
wlr_drm_connector were being freed without removing them
from the drm->outputs list, segfaulting on destroy
7 years ago
emersion
a15b35aa10
Remove mysterious hotspot switch in DRM backend
7 years ago
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
7 years ago
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend
7 years ago
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
7 years ago
emersion
6656e25fd4
Transform cursor hotspot
7 years ago
emersion
1b6c729360
Add wlr_output_cursor
7 years ago
Drew DeVault
fa9c6ecc53
Fix segfault in DRM cursor
7 years ago
emersion
9d587d759f
Do not set hw cursor if disabled when switching VT
7 years ago
Scott Anderson
75f0a6c998
Merge pull request #286 from versusvoid/update-connector-crtc-bindings
...
Update Connector-CRTC bindings after resume in DRM backend
7 years ago
Versus Void
549777ca19
Set crtc field when scanning for DRM connectors
...
and always use it when matching CRTCs with connectors.
Fix deactivated monitors check.
7 years ago
Versus Void
3c31209a97
Reinitialize only changed DRM outputs after setting mode on one
7 years ago
Versus Void
ecb2a2b0d3
Emit output resolution event only when resolution changes
7 years ago
emersion
1cc8f21d8e
Cleanup wlr_gamma_control
7 years ago
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
7 years ago
Versus Void
2ab080e79a
Fix index computation in DRM output scan and CRTC match
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Scott Anderson
bdeffad7e5
Remove drm field from wlr_drm_connector
7 years ago
Scott Anderson
822a9f65a4
Add pointer to backend inside wlr_output
7 years ago
Scott Anderson
4ea84c5765
Remove unnecesary wlr_renderers
7 years ago
Heghedus Razvan
1d716241af
Replace list_t with wl_list in wlr_output
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Heghedus Razvan
c03e774636
Replace list_t with wl_list in wlr_drm_backend
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Versus Void
c5df6ca900
Fix memory leaks
7 years ago
Scott Anderson
f193623ca1
Change iface prefix to suffix
7 years ago
Scott Anderson
f6f9c40965
Minor fixes
7 years ago
Scott Anderson
009c3747a8
Multi-GPU DRM
7 years ago
Scott Anderson
eaef028976
Add renderer pointer inside drm_surface
7 years ago
Scott Anderson
4101b89700
Rename wlr_drm_output to wlr_drm_connector
7 years ago
Scott Anderson
22e77d9195
Rename backend to drm
7 years ago
Scott Anderson
ec5b95e08f
Add pointer to backend from DRM outputs
7 years ago
Scott Anderson
096249a2a1
Split DRM rendering to its own file
7 years ago
Scott Anderson
d0708b1a3a
Split DRM internal interface to its own header
7 years ago
Scott Anderson
610b0493ac
Rename files to remove pointless drm prefix
7 years ago
Scott Anderson
517ba0bc16
Change egl_get_config to always use visual id
7 years ago
Scott Anderson
a466c86fba
Set state properly
7 years ago
Scott Anderson
db5e9385d4
Simplify retry_pageflip
7 years ago
Scott Anderson
025b3ee515
Add error recovery for failed page flips
7 years ago
Scott Anderson
459d138fa2
Add timeout to DRM cleanup
...
This prevents a potential infinite loop preventing us from closing
properly.
7 years ago
Scott Anderson
4a53aab466
Allow forcing legacy DRM interface
7 years ago
Scott Anderson
0aa00da1f3
Check for disappearing DRM connectors
...
DisplayPort MST connectors will disappear when they're disconnected, so
we need to check for that.
7 years ago
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
7 years ago
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
7 years ago
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
7 years ago
Dominique Martinet
0252c8e072
drm realloc_crtcs: check we found an output
...
This follows-up on #105 that just initialized to 0.
Instead, make sure we actually found an output that matches
7 years ago
Tony Crisci
784cf65635
fix uninitialized warning
...
`index` might be uninitialized. Warning can be produced with gcc and `-01` flag.
7 years ago
Drew DeVault
e7fa4f12e1
Fix DRM problem introduced in 901c14c
7 years ago
Calvin Lee
901c14c409
Prevent alloc errors from crashing in `list_t`
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
7 years ago
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
234b2104e4
Refactor wlr_backend_state out of DRM backend
7 years ago
Dominique Martinet
de86965174
Use libinput_event_destroy/xkb_*_unref
...
Also sneak in a missing drmModeFreePlaneResources
7 years ago
Drew DeVault
6569c2b626
Merge pull request #53 from nyorain/drm_buffer
...
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Scott Anderson
fe2fbd0fad
Fix possible use of CRTC after monitor is unplugged
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
Scott Anderson
af67966d92
Atomic modesetting
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Scott Anderson
d09ca20a4d
Use gbm_bo_map for cursor
7 years ago
Scott Anderson
dbe66d1963
Style changes
7 years ago
Scott Anderson
5f7042a1f2
Moved headers
7 years ago
Scott Anderson
d307c2f2c2
Renamed some variables to be less generic
7 years ago