aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/drm.c
AgeCommit message (Collapse)Author
2018-03-21backend/drm: remove remaining raw GL callemersion
This makes the hardware cursor code a less efficient. Can be fixed with a GLES3 renderer.
2018-03-21render/gles2: make wlr_renderer_begin take viewport sizeemersion
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-19render: split render.h into wlr_renderer.h and wlr_texture.hemersion
2018-03-15matrix: rename wlr_matrix_texture to wlr_matrix_projectionemersion
2018-03-15renderer: replace wlr_texture_get_matrix by wlr_render_textureemersion
2018-03-15matrix: use 2D matricesemersion
2018-03-15matrix: unify API, don't use array pointersemersion
2018-03-15matrix: move to types/emersion
2018-03-12backend/drm: fix cursor hotspot not updatedemersion
2018-03-11backend/drm: refactor wlr_drm_connector_set_cursoremersion
2018-03-01prevent current_mode null on output_enable(false)Markus Ongyerth
The current mode was set to NULL to abuse it as state variable persisting DRM suspend/resume, this results resulted in a segfault on normal DPMS cycle. This reverts that change and uses the wlr_output enabled variable, which also persists and makes more sense.
2018-02-26restore dpms state on drm resumeMarkus Ongyerth
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-25Add alpha to wlr_render_with_matrixGuido Günther
so we can use the alpha channel to e.g. blend in textures
2018-02-19Revert "ELF Visibility"Drew DeVault
2018-02-19Explicitly export EFL symbolsScott Anderson
2018-02-12Reformat all #include directivesemersion
2018-02-12Make wlr_signal_emit_safe privateemersion
2018-02-12Remove wlr_backend.events.{output_remove,device_remove}emersion
2018-02-12Add wlr_signal_emit_safeemersion
2018-02-10Merge pull request #618 from VincentVanlaer/atomic-gammaDrew DeVault
Add atomic gamma control
2018-02-09Swap buffers with damageemersion
2018-02-09Set needs_swap on output when gamma changesVincent Vanlaer
2018-02-09Do not allow gamma control without a crtcVincent Vanlaer
2018-02-09Add atomic gamma lut size fetchingVincent Vanlaer
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-09Add atomic gamma settingVincent Vanlaer
2018-02-09Merge remote-tracking branch 'upstream/master' into output-damageemersion
2018-02-06prevents reuse of outdated wlr_output stateMarkus Ongyerth
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.
2018-02-03Merge remote-tracking branch 'upstream/master' into output-damageemersion
2018-02-02backend/drm: update output enabled property on modesetemersion
2018-02-02backend/drm: support updating cursor when session is pausedemersion
2018-01-30Fix some typosGuido Günther
Prefer initialize over initialise since used more often in the sources.
2018-01-30backend/drm: fix hw cursor position on rotated and scaled outputsemersion
output: add wlr_output_transformed_resolution
2018-01-28backend/drm: do not retry pageflip when swapping buffersemersion
2018-01-28Do not flush damage if swapping buffers failedemersion
This should solve issues with multiple outputs on DRM backend.
2018-01-28Merge remote-tracking branch 'upstream/master' into output-damageemersion
2018-01-27drm: Use ptrdiff_t instead of intmax_t in format stringGuido Günther
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
2018-01-27Fix flickering when switching VTemersion
2018-01-26output: add wlr_output_schedule_frameemersion
2018-01-26Damage tracking for transformed outputsemersion
2018-01-21Merge remote-tracking branch 'upstream/master' into output-damageemersion
2018-01-21Add con/crtc null check to move_cursor in drmTimidger
2018-01-21Added crtc null check for other drm funcsTimidger
2018-01-21Fixes #575Timidger
2018-01-21output: add damage tracking via buffer ageemersion
2018-01-20backend/drm: fix hardware cursors not movingemersion
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.
2018-01-19backend/drm: do not try a pageflip is another one is in pendingemersion
2018-01-19backend/drm: fix retry pageflipemersion
2018-01-07Fix output enable in DRM backendemersion
2018-01-04Add wlr_output::enabledemersion
2017-12-26Fix cursor on transformed output with DRM backendemersion