448 Commits (79c7591dc196b14dfa857caf2c183276f937ee02)

Author SHA1 Message Date
emersion f5a147b739 backend/drm: add support for the link-status property
6 years ago
Drew DeVault 841d04db99
Merge pull request #1262 from nyorain/session_fix
6 years ago
emersion 7ab37bf152 backend/drm: update EDID manufacturers database
6 years ago
emersion e88db9a3fb backend/drm: reset gamma table on VT switch
6 years ago
emersion 2beb68007e output: make gamma size a size_t and gamma table const
6 years ago
emersion 79dd9ba151 backend/drm: don't free connector immediately
6 years ago
nyorain 7b52388424 Rework session handling
6 years ago
emersion 139a905924 backend/drm: add assertions
6 years ago
emersion f8a50e4fe7 backend/drm: steal CRTCs from disabled outputs
6 years ago
emersion cb293f09e7 output: make wlr_output_enable return a bool
6 years ago
Drew DeVault ca331c0468
Merge pull request #1235 from emersion/dealloc-unused-crtcs
6 years ago
emersion 1fcecd68df backend/drm: de-allocate unused CRTCs
6 years ago
mntmn e1c91884fb fix cursor loss w/ legacy drm and software cursor (tested on etnaviv)
6 years ago
emersion 8a6bdc193d backend/drm: damage outputs when switching CRTCs
6 years ago
emersion 1342393632 backend/drm: cosmetic enhancements
6 years ago
emersion 5b13b8a12c backend/drm: consider continue not using resources
6 years ago
emersion fb94f03b43 backend/drm: prevent use of uninitialized data
6 years ago
emersion d605b2ea07 backend/drm: remove unused if
6 years ago
emersion 017cfb0b86 backend/drm: log when de-allocating CRTC
6 years ago
emersion b877daded1 backend/drm: better hotplug handling
6 years ago
emersion 95d05acda5 backend/drm: fix invalid VLA size in scan_drm_connectors
6 years ago
emersion ef88df2142 backend/drm: emit new_output after scanning connectors
6 years ago
emersion e84f01168d backend/drm: allow disabling outputs in NEEDS_MODESET state
6 years ago
Drew DeVault 633663cdde Use legacy modesetting for gamma control
6 years ago
emersion 7a3f7b3c8a backend/drm: add support for DRM_MODE_CONNECTOR_DPI
6 years ago
Scott Anderson 2d8f53affd Check for DRM prime
6 years ago
Scott Anderson 1a2b3445dc Remove unused data from gbm_bo userdata
6 years ago
Scott Anderson 4bee710c30 Fix hardware cursor on secondary GPU
6 years ago
Mariusz Bialonczyk e547e55be0 multi-gpu: do not flip screens on secondary GPU
6 years ago
Mariusz Bialonczyk 15dacebc36 multi-backend: do not expose internal renderers
6 years ago
emersion 364afced3e backend/drm: remove unnecessary casts
6 years ago
emersion 2ebecb6727 backend/drm: allow to pass empty gamma ramp to reset it
6 years ago
emersion a149c2370a Implement wlr-gamma-control-unstable-v1
6 years ago
emersion 7cbef15206
util: add wlr_ prefix to log symbols
6 years ago
Drew DeVault be54278207
Merge pull request #1095 from agx/output-add-mode
6 years ago
Guido Günther 8d72090afe drm: Allow to add additional modes
6 years ago
emersion 2b9cbaddf3
screencopy: add support for frame flags
6 years ago
Dominique Martinet f0d455f088 drm backend: overflow fixes
6 years ago
emersion 21928cbe61
Merge branch 'master' into screencontent
7 years ago
emersion 28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion bd430b8620
backend/drm: support multi-planar DMA-BUFs when exporting
7 years ago
emersion 9e26808c28
output, backend/drm: add wlr_output_export_dmabuf
7 years ago
emersion 79683ee497
backend/drm: better connector cleanup, add more logs
7 years ago
emersion 6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
7 years ago
Ilia Bozhinov 24cf70ae96 backends: implement custom EGL and renderer initialization
7 years ago
emersion 41130fe54b
render: bind wl_drm in renderer
7 years ago
Markus Ongyerth 6a46fcc6f2 recalculate cursor projection matrix on set_cursor
7 years ago
emersion 13098a18ea
Fix hardware cursors scale & transform
7 years ago
emersion caf9f9022c
Merge pull request #936 from emersion/full-hardware-cursors
7 years ago
morganamilo 6305e6327f
Fix typos in comments and strings
7 years ago
Guido Günther 1637053ef8 drm: only disable atomic modesetting when WLR_DRM_NO_ATOMIC == 1
7 years ago
emersion 225d182765
output: always use hardware cursors if available
7 years ago
emersion 625a7a48dc
Don't use the wlr_ prefix for static functions
7 years ago
emersion 71ca45e2c0
Make sure we don't use others' prefixes
7 years ago
emersion b0d99f5c67
Remove wlr_ prefix from local symbols
7 years ago
emersion 018b82c01e
render/egl: allow passing NULL to surface and image destructors
7 years ago
emersion eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
emersion 94fa6c88f4
output: don't emit the mode event if it hasn't changed
7 years ago
emersion d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Drew DeVault b60e31e5c0
Merge pull request #794 from emersion/renderer-untie-backend
7 years ago
emersion a2391a6047
Fix cursor transform on DRM backend
7 years ago
emersion 33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
Drew DeVault 324b9d910d Remove width_mm from wlr_touch events
7 years ago
emersion 3bda7e2ef8
Use DRM_FORMAT_MOD_LINEAR instead of a hardcoded constant
7 years ago
emersion c63d94483b
Redesign wlr_texture
7 years ago
emersion a854c2f246
Merge branch 'master' into gles2-renderer-redesign
7 years ago
emersion 60bfe0a6aa
backend/drm: remove remaining raw GL call
7 years ago
emersion b1f93bc5cc
render/egl: use EGL_KHR_debug
7 years ago
emersion 3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
7 years ago
emersion c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
emersion 6227da96b1
backend/drm: don't hardcode matrix
7 years ago
emersion 7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
7 years ago
emersion 876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
7 years ago
emersion 824a95ad19
matrix: use 2D matrices
7 years ago
emersion d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion b6a3f240c7
matrix: move to types/
7 years ago
emersion d24f868bbe
backend/drm: fix cursor hotspot not updated
7 years ago
emersion 92ca4ad474
backend/drm: refactor wlr_drm_connector_set_cursor
7 years ago
Markus Ongyerth 2cea430488 prevent current_mode null on output_enable(false)
7 years ago
Markus Ongyerth a65ef8ea86 restore dpms state on drm resume
7 years ago
Guido Günther d08792bfff Add alpha to wlr_render_with_matrix
7 years ago
Drew DeVault 1d9be89e2d
Revert "ELF Visibility"
7 years ago
Scott Anderson 86269052eb Explicitly export EFL symbols
7 years ago
emersion c2e1474010
Reformat all #include directives
7 years ago
emersion 36ead80cd1
Make wlr_signal_emit_safe private
7 years ago
emersion 10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
emersion 5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
Drew DeVault 664d7bfe4e
Merge pull request #618 from VincentVanlaer/atomic-gamma
7 years ago
Vincent Vanlaer 7cb828ac70 Fallback gamma on legacy if properties don't exist
7 years ago
emersion bf6d245400
Swap buffers with damage
7 years ago
Vincent Vanlaer dd69d7b764 Use VLA instead of heap alloc
7 years ago
Vincent Vanlaer 0232269a2d Fix style
7 years ago
Vincent Vanlaer b2f6941617 Free gamma when property blob creation fails
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
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
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
emersion babdd6ccf7
backend: fix use-after-free when destroying backends
7 years ago
Guido Günther c5aac77692 Fix some typos
7 years ago
emersion f152fdb4c5
Merge pull request #594 from Ongy/drm-surface-buffers
7 years ago
emersion d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
7 years ago
emersion 51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Tony Crisci ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
7 years ago
Markus Ongyerth cde0f454b3 Clean up the gbm/egl as well
7 years ago
Markus Ongyerth 2cdb646531 relases gbm buffers on init
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
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
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
Vincent Vanlaer 72507f9820 Clean up session signal handler on drm init fail
7 years ago
emersion 4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
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
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
Drew DeVault b331c5c2c5
Merge pull request #549 from emersion/output-enabled
7 years ago
emersion 0eebaf98d0
drm: do not pageflip when enabling output
7 years ago
Guido Günther 3101c300b1 Don't crash if crtc->cursor is NULL
7 years ago
emersion 53ba9b4eec
Fix output enable in DRM backend
7 years ago
emersion 771263380c
Add wlr_output::enabled
7 years ago
Dominique Martinet 8e24aaa3c6 style: fix sizeof() calls without parentheses
7 years ago
emersion e737f65e38
Fix cursor on transformed output with DRM backend
7 years ago
Tony Crisci a937016e38 remove session from multibackend
7 years ago
Dominique Martinet be95147385 drm backend: add wlr_output_is_drm
7 years ago
emersion b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs
7 years ago
emersion 0256de0002
Add full refresh rate support to custom modes
7 years ago
Drew DeVault 23fb663ea4
Merge pull request #453 from emersion/surface-transform
7 years ago
emersion 466e86b7b2
Merge branch 'master' into surface-transform
7 years ago
emersion 75ef7860bb
Merge branch 'master' into display-destroy
7 years ago
emersion 3b4b8953d9
Update output layout when scale or transform changes
7 years ago
emersion c67a5824b8
Merge branch 'master' into display-destroy
7 years ago
emersion 18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free
7 years ago
emersion 9d43adaafa
Listen to display destroy in backends
7 years ago
emersion 91d72040e5
Configure outputs with make, model, serial in rootston
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
Scott Anderson bc113c16aa Use correct include path for glapi.h
7 years ago
emersion 09279b90a6
Add wlr_output.serial
7 years ago
Dominique Martinet f451ea3639 rootston exit: fix drm 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
7 years ago
Versus Void 3ed3271b98 Rescan connectors on DRM resume
7 years ago
Versus Void 549777ca19 Set crtc field when scanning for DRM connectors
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
Drew DeVault 169b68b17c Rename remaining refs to wlr_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
Scott Anderson 9b984253e2 Move egl.h to render/egl.h
7 years ago
Heghedus Razvan e1f196a3e9 Replace list_t with wl_list for wlr_input_device
7 years ago
Heghedus Razvan 1d716241af Replace list_t with wl_list in wlr_output
7 years ago
Heghedus Razvan c03e774636 Replace list_t with wl_list in wlr_drm_backend
7 years ago
emersion 92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
Scott Anderson c0e5feea37 Add GL/EGL extension loader generator
7 years ago
Versus Void 641d08ce7e Transform hotspot with cursor
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 fa3d0ed929 Change wlr_session to open every GPU
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 c8a8ff66f2 Removed unused fields
7 years ago
Scott Anderson 517ba0bc16 Change egl_get_config to always use visual id
7 years ago
Scott Anderson c8c5aedaa2 Add error checking to DRM legacy
7 years ago
Scott Anderson 419400ae00 Send failure code on partial atomic commit
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
7 years ago
Scott Anderson 8cbade355f Print connector name on atomic commit failure
7 years ago