808 Commits (9e702e9cfe73f5aae665b5847cf470e66714e64a)

Author SHA1 Message Date
Simon Ser cc8bc0db20 backend/drm: stop restoring CRTCs on exit
3 years ago
Simon Ser f94eb174c7 backend/drm: fix NULL data in handle_drm_event
3 years ago
Simon Ser 709190c4c8 backend/drm: remove wlr_output_impl.export_dmabuf
3 years ago
Simon Ser f67cfb2ce2 backend/drm: remove backend arg from wlr_drm_interface.crtc_commit
3 years ago
Simon Ser fde56c20b4 backend/drm: move legacy-specific checks to legacy.c
3 years ago
Simon Ser 017555651b backend/drm: add test_only arg to wlr_drm_interface.crtc_commit
3 years ago
Simon Ser c1b27cc499 backend/drm: stop using drm_surface_make_current in drm_surface_blit
3 years ago
Simon Ser d71ed635b9 backend/drm: force linear layout for multi-GPU buffers
3 years ago
Simon Zeni e192d87731 move wlr_box from /types to /util
3 years ago
Simon Ser 4dee7a2f6f backend/drm: don't clear pending cursor FB on failed commit
3 years ago
Simon Ser 5f26360bd8 Revert "backend/drm: populate cursor plane's current_fb"
3 years ago
Simon Ser a38baec1f8 buffer: make enum wlr_buffer_cap public
3 years ago
Simon Ser dbb0e2f75b Remove unused wlr_list.h includes
3 years ago
Simon Ser 264d4e2bce backend/drm: rename page_flip_handler to handle_page_flip
3 years ago
Simon Ser 2f615468b6 backend: add output state allow-lists
3 years ago
Simon Ser 6c3d080e25 backend/drm: populate cursor plane's current_fb
3 years ago
Simon Ser 3345eaca89 backend/drm: remove test_buffer
3 years ago
Simon Ser eca5d2f37f backend/drm: move session check from test_buffer to drm_connector_test
3 years ago
Simon Ser 758f117442 backend/drm: move drm_connector_set_pending_fb up
3 years ago
Simon Ser f55b43ddd6 backend/drm: allocate a CRTC in drm_connector_test
3 years ago
Simon Ser cb378600e4 backend/drm: allocate a CRTC in drm_connector_commit_state
3 years ago
Simon Ser b180d3482f backend/drm: introduce drm_connector_alloc_crtc
3 years ago
Simon Ser 63f891e393 backend/drm: allow committing a buffer and a mode together
3 years ago
Simon Ser e89cf5f047 backend/drm: use atomic test-only commits for modifier fallback
3 years ago
Simon Ser b2f6db3533 render: drop wlr_ prefix from wlr_renderer_bind_buffer
4 years ago
Simon Ser b86a0c8d8f backend/drm: move cursor fields to wlr_drm_connector
4 years ago
Simon Ser 2b0a1aeed5 output: take a wlr_buffer in set_cursor
4 years ago
Simon Ser 01e0f51fad backend/drm: introduce drm_plane_pick_render_format
4 years ago
Simon Ser e06ea4e84a backend/drm: remove format arg from drm_plane_init_surface
4 years ago
Simon Ser 9e9be83a58 backend/drm: implement get_cursor_formats and get_cursor_size
4 years ago
Simon Ser 7ec5bf6b10 backend: introduce wlr_backend_finish
4 years ago
Simon Ser 9ca743f9fd backend/drm: use wlr_texture_from_buffer
4 years ago
Kenny Levinsen 2603a5dee7 backend/drm: Do not require mode commit on enable
4 years ago
Simon Ser a1e8a639b3 backend/drm: introduce drm_connector_commit_state
4 years ago
Simon Ser e543e26206 backend/drm: take a wlr_drm_connector instead of a wlr_output
4 years ago
Simon Ser e06c62af77 backend/drm: take output state arg in drm_connector_commit_buffer
4 years ago
Simon Ser 218955ce95 backend/drm: remove mode arg from drm_connector_set_mode
4 years ago
Simon Ser 7aba881c47 backend/drm: remove mode arg from drm_connector_init_renderer
4 years ago
Simon Ser 31082a0554 backend/drm: remove wlr_drm_crtc_state.mode
4 years ago
Simon Ser dfea0ff31d backend/drm: remove wlr_drm_crtc_state.active
4 years ago
Simon Ser 485ecc11a6 backend/drm: remove wlr_drm_crtc.pending_modeset
4 years ago
Simon Ser c9c2d7539c backend/drm: fill scratch wlr_output_state for set_mode
4 years ago
Simon Ser 1a9701cd7c backend/drm: take wlr_output_state as arg in commit callers
4 years ago
Simon Ser 8f90d7f8f5 backend/drm: take wlr_output_state as arg in crtc_commit
4 years ago
Simon Ser e7f68ba081 backend/drm: fix allocator DRM FD on multi-GPU setups
4 years ago
Simon Ser 619a975025 render: remove wlr_ prefix from wlr_renderer_autocreate_with_drm_fd
4 years ago
Simon Ser 6bf2406dbf backend/drm: reword wlr_renderer failure message
4 years ago
Simon Zeni cc1b66364c backend: use wlr_allocator_autocreate
4 years ago
Simon Zeni 144189674e backend: introduce backend_get_buffer_caps
4 years ago
Simon Zeni c75aa71816 render/gbm_allocator: make wlr_gbm_allocator_create return a wlr_allocator
4 years ago
Simon Ser 0411dc0663 Revert "backend/drm: fail instead of stripping a modifier"
4 years ago
Simon Ser 4839664a92 backend/drm: carry on when disabling a CRTC fails
4 years ago
Simon Ser 9b0e0970f9 backend/drm: destroy backend on udev remove event
4 years ago
Simon Ser c49ea9ef4f backend/drm: destroy when parent is destroyed
4 years ago
Simon Ser e804de923d backend/drm: clarify error message on drmModeAddFB fallback
4 years ago
Simon Ser f9f90b4173 backend/drm: fail instead of stripping a modifier
4 years ago
Simon Zeni 84dea55b20 render: rename get_dmabuf_render_formats into get_render_formats
4 years ago
Simon Ser 053ebe7c27 backend/drm: terminate display on drmHandleEvent failure
4 years ago
Stephan Hilb 9f012cac2f drm: check for PRIME support
4 years ago
Simon Ser 8ccb4bbb5f backend/drm: stop testing for buffer in drm_connector_commit_buffer
4 years ago
Simon Ser d0bf750916 backend/drm: use atomic test-only commits for direct scan-out
4 years ago
Simon Ser 7efc2d05b7 backend/drm: downgrade test-only commit failure log level
4 years ago
Simon Ser 5088e25eaf backend/drm: don't set NONBLOCK with TEST_ONLY
4 years ago
Simon Ser 6bfbf35618 backend/drm: reject DMA-BUFs with flags
4 years ago
Simon Ser 1ec97bdf4f backend/drm: improve logs in drm_fb_create
4 years ago
Simon Ser 511e42be5e backend/drm: try to import buffer when testing it
4 years ago
Simon Ser 7709a965e5 backend/drm: use format table in test_buffer
4 years ago
Simon Zeni c8b3536b01 backend/drm: use pixel format table in renderer
4 years ago
Simon Ser c740fccc9d Fix buffer blit matrices
4 years ago
Simon Ser 44fa2c4b49 output: fix transform matrix for 90/270 rotations
4 years ago
Simon Zeni 9601a2abf0 output: improve transform matrix calculation
4 years ago
Simon Ser a02da8e6f6 backend/drm: add new writeback and SPI connector types
4 years ago
Simon Ser f3758d1d0a backend: add error messages in attach_render impls
4 years ago
Manuel Stoeckl a290d7a78d Make implementation function lists static const
4 years ago
Simon Ser 73ffab70b0 backend/drm: don't blit in drm_fb_import
4 years ago
Simon Ser 4af85f4c19 backend/drm: simplify drm_fb_lock_surface
4 years ago
Simon Ser 04d89a8bc5
backend/drm: fix modifiers for cursor plane buffers
4 years ago
Simon Ser f17b0f975d backend/drm: add wlr_drm_connector_get_id
4 years ago
Simon Ser cb6f584496 backend/drm: add support for the subconnector property
4 years ago
Simon Ser 9e98f497af backend/drm: use local DRM FD for wlr_rend
4 years ago
Simon Ser afdf4dc890 render/gles2: make EGL context current in bind_buffer
4 years ago
Simon Zeni 08a4c62aac render: remove egl include from wlr_renderer
4 years ago
Simon Zeni e128e6c08d render: drop egl parameters from wlr_renderer_autocreate
4 years ago
Simon Ser b7c95d483a backend/drm: implement get_drm_fd
4 years ago
Simon Ser a6a0568316
backend: remove unnecessary GLES2 includes
4 years ago
Simon Ser dc61f471da
backend/drm: remove unnecessary wlr_drm_fb.wlr_buf check
4 years ago
Simon Ser 5d054258af
backend/drm: fix segfault in page_flip_handler
4 years ago
Simon Ser 3f7e0cf5f0 render/egl: remove surface and buffer age args from make_current
4 years ago
Simon Ser c94728b53a
backend/drm: stop using surface size for BO
4 years ago
Simon Ser d9bbc416a6 backend/drm: re-use FBs
4 years ago
Simon Ser 91cb0fc443 backend/drm: only keep track of local buffer
4 years ago
Simon Ser 5bd86b94f9 backend/drm: add wlr_drm_buf.local_wlr_buf
4 years ago
Simon Ser cd64610c66 backend/drm: introduce drm_fb_create
4 years ago
Simon Ser 5b1b43c68c backend/drm: make wlr_drm_plane.{pending,queued,current}_fb pointers
4 years ago
Simon Zeni 9192c0480a remove unnecessary egl includes
4 years ago
Simon Zeni b899a412e3 backend: remove wlr_egl from all backends
4 years ago
Simon Ser 5773794baf
backend/drm: don't log errno on plane_get_next_fb failure
4 years ago
Simon Ser 07d75c99db render: remove EGL config and visual from wlr_renderer_autocreate
4 years ago
Simon Ser adfb7cd35a backend/drm: stash pending page-flip CRTC
4 years ago
Simon Ser 576ff57db0 backend/drm: ignore hotplug events while inactive
4 years ago
Simon Ser 4b03bdc3ab Remove wlr_create_renderer_func_t
4 years ago
Simon Ser bec1e6b149 backend/drm: remove special linear case for cursor plane
4 years ago
Simon Ser 92a0fc0435 backend/drm: extract linear format creation into function
4 years ago
Simon Ser 7ea0e9f277 backend/drm: force LINEAR for cursor plane formats
4 years ago
Ariadne Conill 23b6f3e3f5 drm: add fallback drmModeAddFB for drivers which do not support drmModeAddFB2
4 years ago
Simon Ser c5f239f411
backend/drm: make listener names more idiomatic
4 years ago
Simon Ser b9460ab724
Stop using wlr_texture_get_size
4 years ago
Simon Ser 17dd4c9e9a
backend/drm: use connector log helpers in atomic backend
4 years ago
Simon Ser a7a230ebef
backend/drm: make drmModePlane arg in add_plane const
4 years ago
Simon Ser c011a0e2ed
backend/drm: add special case for cursor in add_plane
4 years ago
Simon Ser 5548406667
backend/drm: log whether ADDFB2 modifiers are supported
4 years ago
Simon Ser 64a2ca4dba
backend/drm: don't retry page-flip when modifiers are unsupported
4 years ago
Simon Ser 54ec17ff64
backend/drm: use plural form for possible_crtcs
4 years ago
Simon Ser 2de400a541
backend/drm: assert connector state after wlr_output_destroy
4 years ago
Simon Ser 85cf4b235d
backend/drm: destroy DRM connectors that disappear
4 years ago
Simon Ser ad4dae0844 backend/drm: error on size mismatch in drm_surface_blit
4 years ago
Simon Ser d3bcd63a40 backend/drm: remove drm_fb_acquire
4 years ago
Simon Ser 5ee8b12dc3 backend/drm: make drm_fb_acquire return a FB ID
4 years ago
Simon Ser d09abe86c1 backend/drm: drop export_drm_bo
4 years ago
Simon Ser dabd2e7207 backend/drm: grab DMA-BUF from wlr_buffer instead of gbm_bo
4 years ago
Simon Ser 83925f04c3 backend/drm: don't save texture in gbm_bo user data
4 years ago
Ronan Pigott 917ecca58e backend/drm: avoid gcc stringop-truncation warning
4 years ago
Simon Ser 352fdd1bb0
backend/drm: remove unused wlr_drm_plane.drm_format
4 years ago
Simon Ser 248c7787c7 backend/drm: refactor wlr_output destruction
4 years ago
Simon Ser 019ffe8a5b backend/drm: introduce wlr_drm_connector.name
4 years ago
Simon Ser c89b131f29 backend/drm: introduce wlr_drm_conn_log
4 years ago
Simon Ser 1e2c7fce86 backend/drm: use wlr_drm_format_{create,add}
4 years ago
Simon Ser 253f447329
backend/drm: print DRM device name when scanning connectors
4 years ago
Simon Ser 9cd3f03f65
backend/drm: add wlr_drm_backend.name
4 years ago
Simon Ser 60001a75a2
backend/drm: remove nouveau workaround
4 years ago
Simon Ser da2a216934
backend/drm: add wlr_drm_connector.backend
4 years ago
Simon Ser 1ca4d6b029
backend/drm: dup FD before wlr_gbm_allocator_create
4 years ago
Simon Ser e57a52e7f7
Remove inline keyword
4 years ago
Simon Ser 93cd3a79b2 backend/drm: stop using GBM flags
4 years ago
Simon Ser 4c363a564f backend/drm: remove workaround for amdgpu DP MST
4 years ago
Simon Ser 6ff478632a backend/drm: remove EGL config
4 years ago
Simon Ser 06ab41a160
backend/drm: fix missing wlr_drm_format.cap
4 years ago
Stephane Chauveau b790e5ea34 backend/drm: don't assume possible_crtcs has only one bit set
4 years ago
Simon Ser 863acb26c0 backend/drm: stop tracking overlay planes
4 years ago
Simon Ser e69bbfd0d6 backend/drm: unset current surface before importing
4 years ago
Simon Ser 325cba6414
backend/drm: use EGL_PLATFORM_GBM_KHR
4 years ago
Ilia Bozhinov 54b7ca56c0 drm: do not unset make/model before emitting destroy event
4 years ago
Simon Ser 1336ad2a23
backend/drm: remove unused if in drm_connector_move_cursor
4 years ago
Simon Ser 0e927533b0 backend/drm: query render formats
4 years ago
Simon Ser 237c2cf2fb backend/drm: take a wlr_drm_format in init_drm_surface
4 years ago
Simon Ser 8bc5a92a98 Revert "backend/drm: stop force-probing connectors"
4 years ago
Simon Ser de9ff46629
backend/drm: "scaling mode" is a connector property
4 years ago
Simon Ser 2649600fa1
backend/drm: rotation is a plane property
4 years ago
Simon Ser 713c1661b7 backend/drm: stop force-probing connectors
4 years ago
Simon Ser 0e76f92de7 backend/session: replace session_signal with events.active
4 years ago
Simon Ser 44a4792fd8 backend/session: operate on wlr_device
4 years ago
Kenny Levinsen fb3bea8014 backend/drm: Use legacy gamma size for legacy backend
4 years ago
Simon Ser eef8b3dde8 backend/drm: check drm_surface_render_black_frame return value
4 years ago
Simon Ser c881008e1c backend/drm: add support for wlr_swapchain multi-GPU
4 years ago
Simon Ser 8058e338ea backend/drm: get rid of wlr_drm_fb_type
4 years ago
Simon Ser 68a8d99055 backend/drm: add support for wlr_swapchain buffer age
4 years ago
Simon Ser ef846a8839 backend/drm: use wlr_swapchain
4 years ago
Simon Ser 1328477a82 backend/drm: export pending FB in export_dmabuf, if any
4 years ago
Simon Ser ee43ef3c9d backend/drm: fix "a page-flip is already pending" errors on modeset
4 years ago
Marten Ringwelski 85757665e6 backend/drm: Check if output is enabled before sending frame event
4 years ago
Devin J. Pohly aaf490d794 drm: fix uninitialized read
4 years ago
Antonin Décimo d9bb792794 Fix incorrect format parameters
4 years ago
Simon Ser b6377b59ff backend/drm: check drm_surface_make_current return value
4 years ago
Simon Ser cccca368c5
backend/drm: fix typo in drm_surface_make_current arg
4 years ago
Simon Ser f82a27f55a backend/drm: fix DPMS on legacy interface
4 years ago
Simon Ser bf93d2e67c output: rename impl->rollback to rollback_render
4 years ago
Andri Yngvason a6a5a19356 backend: drm: Fix dmabuf resource leak
5 years ago
Simon Ser e77c046cf9 backend/drm: fix stack overflow in dealloc_crtc
5 years ago
Simon Ser 8f28f5b2f8 backend/drm: fix black screens when enabling output
5 years ago
Simon Ser b03eebf7d4 backend/drm: always perform a CRTC commit in drm_connector_commit
5 years ago
Simon Ser 1a2e82e327 backend/drm: drop extra wlr_output_update_enabled call
5 years ago
Simon Ser 80467f6ae8 backend/drm: commit/rollback FBs in drm_crtc_commit
5 years ago
Simon Ser 70f3a0bb27 backend/drm: make adaptive_sync atomic
5 years ago
Simon Ser 42126c2022 backend/drm: rollback pending CRTC state on test commit
5 years ago
Simon Ser d66b9966e9 backend/drm: fix missing crtc->cursor NULL check
5 years ago
Simon Ser e7a8ea84c3 backend/drm: don't set cursor if off-screen
5 years ago
Simon Ser 15d8f1806e backend/drm: introduce pending and current CRTC state
5 years ago
Simon Ser d6cc718472 backend/drm: nuke retry_pageflip
5 years ago
Simon Ser 61095f4a12 backend/drm: make drm_connector_set_mode take a wlr_drm_connector
5 years ago
Simon Ser 445750aa9a backend/drm: remove enable_drm_connector
5 years ago
Simon Ser c02e9c2bb1 backend/drm: remove drm_connector_set_custom_mode
5 years ago
Simon Ser 21c6cc5e4c backend/drm: refuse to enable an output without a mode
5 years ago
Simon Ser 47e5212823 backend/drm: rollback atomic blobs
5 years ago
Simon Ser af2f69e6c1 render/egl: unset current context after swapping buffers
5 years ago
Simon Ser d28a7da95d backend/drm: add missing wlr_egl_unset_current
5 years ago
Simon Ser cfed5766b7 backend/drm: fix current EGL context on multi-GPU
5 years ago
Simon Ser 1edc42157b render/egl: introduce wlr_egl_unset_current
5 years ago
Simon Ser 2988ebb6f3 backend/drm: fix atomic commits when the GAMMA_LUT prop is missing
5 years ago
Simon Ser 347bdb6d9a output: make wlr_output_set_gamma atomic
5 years ago
Simon Ser 42e485dcc3 backend/drm: fix segfault in drm_crtc_page_flip
5 years ago
Simon Ser 51bbf31742 backend/drm: print error in set_plane_props
5 years ago
Simon Ser 9412d34e2d backend/drm: disable cursor in dealloc_crtc
5 years ago
Simon Ser da4df82532 backend/drm: fix combined modeset+enable commits
5 years ago
Simon Ser cdb6fdbc6c backend/drm: remove missing cursor plane workaround
5 years ago
JonnyMako 1139234117
backend/drm: fix missing cursor on external monitors with multi-GPU setup and nouveau
5 years ago
Simon Ser f72686c0b6 backend/drm: fix crash in session_signal
5 years ago
Simon Ser 2ca3bdc35e backend/drm: simplify atomic commit logic
5 years ago
Simon Ser 06d5aa5780 backend/drm: GAMMA_LUT_SIZE isn't atomic
5 years ago
Simon Ser da63d11d34 backend/drm: remove crtc_set_cursor from interface
5 years ago
Simon Ser f8e02db4bc backend/drm: remove conn_enable from interface
5 years ago
Simon Ser c608fc89d8 backend/drm: rename crtc_pageflip to crtc_commit
5 years ago
Simon Ser 70883fd10b backend/drm: apply gamma LUT on page-flip
5 years ago
Simon Ser 69b2279092 backend/drm: remove mode argument to crtc_pageflip
5 years ago
Simon Ser c9d6b18eef backend/drm: remove wlr_drm_interface.crtc_move_cursor
5 years ago
Simon Ser 90ede7f838 backend/drm: make page-flip error scarier
5 years ago
Will Daly 044a9f28d6 Fix error when reconnecting external display
5 years ago
Simon Ser 98d949718c backend/drm: strip alpha channel if necessary
5 years ago
Scott Anderson 321537ee92 backend/drm: don't allow legacy to use direct scanout
5 years ago
Scott Anderson 52281cb8ba backend/drm: move atomic cursor code into pageflip code
5 years ago
Scott Anderson be90062c51 backend/drm: don't have fallback atomic commits
5 years ago
Scott Anderson 8da9d9679e backend/drm: introduce wlr_drm_fb
5 years ago
Simon Ser 50ade3671f output: check for buffer size compatibility in common code
5 years ago
Simon Ser 5f092c55d1 output: fix blurred hw cursors with fractional scaling
5 years ago
Simon Ser 9acca4fc73 backend: set EGL_RENDERABLE_TYPE and EGL_SURFACE_TYPE
5 years ago
Simon Ser 507d9bc19e Add wlr_output_impl.rollback
5 years ago
Simon Ser d3bd5f2a7b backend: reset EGL surface after buffer swap
5 years ago
Simon Ser 6977f3a843 output: check buffer in wlr_output_test
5 years ago
Simon Ser e041158988 output: introduce wlr_output_test
5 years ago
Simon Ser 6595db6409 buffer: add a release event
5 years ago
Filip Sandborg 5ee52a3ab9
Fix uint32 overflow in fill_empty_gamma_table on Icelake platform
5 years ago
Simon Ser 52c67284e2 backend/drm: add support for adaptive_sync_enabled
5 years ago
Simon Ser 348f52b5fc output: remove wlr_output_impl.schedule_frame
5 years ago
Rouven Czerwinski 144d2041ad backend/drm: remove overzealous finish_drm_surface
5 years ago
Rouven Czerwinski f0594fb732 backend/drm: add env variable to disable modifiers
5 years ago
Simon Ser 7c05933e51 backend/drm: prevent outputs from being destroyed on commit
5 years ago
Simon Ser 21e1953b61 backend/drm: don't modeset with a NULL mode after TTY switch
5 years ago
Simon Ser 8fc16890c7 output: refuse to commit a buffer or modeset a disabled output
5 years ago
Simon Ser f0781cd792 backend/drm: modeset before enabling an output
5 years ago
Simon Ser 5d1ba0f446 output: re-introduce atomic mode, enabled, scale and transform
5 years ago
Simon Ser 4da4a15d6b output: add description
5 years ago
Scott Anderson cff1c2f740 meson: Various improvements
5 years ago
Rouven Czerwinski be4b9f7f5b backend/drm: print preferred mode
5 years ago
Simon Ser 515679e4fe Refactor EGL/GL API loading
5 years ago
Simon Ser efd294ef09 backend/drm: add BenQ to manufacturer list
5 years ago
Simon Ser 6ca82087b1 backend/drm: fix segfault in init_drm_surface
5 years ago
Simon Ser 8681e4ab8a backend/drm, backend/libinput: listen to session destroy
5 years ago
Jason e8855ee462 Amend typos
5 years ago
Simon Ser 16e5e9541b Add -Wmissing-prototypes
5 years ago
Simon Ser 6c649bab53 output: add wlr_output_event_present.commit_seq
5 years ago
Simon Ser 0e57effd38 backend/drm: add support for custom modes
5 years ago
Simon Ser e97c2c3639 backend/drm: retry without modifiers for the primary plane
5 years ago
Simon Ser fd25e2ca11 backend/drm: track gbm_bo during direct scan-out
5 years ago
Simon Ser 2bdd1d0896 backend/drm: use modifiers for our GBM buffers
5 years ago
Ivan Molodetskikh 5f78ea20fa drm: use IMPORT_FD for INVALID modifier
5 years ago
Rouven Czerwinski bf90474b74 backend/drm: check for mst: in path property
5 years ago
Simon Ser 8d2ea9544b backend/drm: fix missing plane formats
5 years ago
Antonin Décimo 39c5d93dea backend/drm: use UINT64_C for uint64_t literals
5 years ago
Rouven Czerwinski 01f903874b Revert "output: atomic mode"
5 years ago
Rouven Czerwinski 4d36cc86eb backend/drm: destroy output immediately
5 years ago
Simon Ser ee5f98ad49 output: atomic mode, enabled, scale and transform
5 years ago