kwin/src/backends/drm
Vlad Zahorodnii 9f93358bc1 backends/drm: Notify about failed frames if there are actually pending frames
In case a modeset needs to be performed, the drm backend will test all
pipelines to ensure that new mode won't cause any bandwidth issues on
other outputs, etc.

To do that, it may delay presenting frames. If the new configuration
doesn't work, it needs to notify about failed frames.

However, the relevant code that notifies the RenderLoop about failed
atomic commits doesn't check if there's actually a pending modeset
present.

When switching between VTs, systemd can revoke master permissions from
kwin. To make things even more trickier, kwin can try to present a frame
in that short time span.
2021-11-25 11:15:50 +02:00
..
CMakeLists.txt backends/drm: some simplifications for multi gpu 2021-11-12 09:30:13 +01:00
drm.json
drm_abstract_output.cpp
drm_abstract_output.h
drm_backend.cpp backends/drm: ignore placholder outputs for the output config 2021-11-16 17:08:08 +01:00
drm_backend.h platforms/drm: more dynamic crtc assignment 2021-11-09 22:15:31 +01:00
drm_buffer.cpp
drm_buffer.h
drm_buffer_gbm.cpp platforms/drm: delay presentation for modesets 2021-11-09 22:15:31 +01:00
drm_buffer_gbm.h platforms/drm: delay presentation for modesets 2021-11-09 22:15:31 +01:00
drm_gpu.cpp backends/drm: Notify about failed frames if there are actually pending frames 2021-11-25 11:15:50 +02:00
drm_gpu.h properly fix bsd build 2021-11-22 13:15:01 +00:00
drm_lease_output.cpp platforms/drm: more dynamic crtc assignment 2021-11-09 22:15:31 +01:00
drm_lease_output.h platforms/drm: more dynamic crtc assignment 2021-11-09 22:15:31 +01:00
drm_object.cpp platforms/drm: improve logging a bit 2021-11-09 22:15:31 +01:00
drm_object.h platforms/drm: remove property blob handling from DrmProperty 2021-11-09 22:15:31 +01:00
drm_object_connector.cpp platforms/drm: Move ownership of mode blob to connector mode 2021-11-09 22:15:31 +01:00
drm_object_connector.h platforms/drm: Move ownership of mode blob to connector mode 2021-11-09 22:15:31 +01:00
drm_object_crtc.cpp platforms/drm: Move ownership of mode blob to connector mode 2021-11-09 22:15:31 +01:00
drm_object_crtc.h platforms/drm: disable unused resources on modesets 2021-11-09 22:15:31 +01:00
drm_object_plane.cpp platforms/drm: disable unused resources on modesets 2021-11-09 22:15:31 +01:00
drm_object_plane.h platforms/drm: disable unused resources on modesets 2021-11-09 22:15:31 +01:00
drm_output.cpp backends/drm: drop some unused stuff in DrmGpu 2021-11-22 11:30:31 +00:00
drm_output.h backends/drm: drop DrmBackend as a friend of DrmOutput 2021-11-22 11:30:31 +00:00
drm_pipeline.cpp backends/drm: Notify about failed frames if there are actually pending frames 2021-11-25 11:15:50 +02:00
drm_pipeline.h backends/drm: Notify about failed frames if there are actually pending frames 2021-11-25 11:15:50 +02:00
drm_pointer.h
drm_property.cpp platforms/drm: remove property blob handling from DrmProperty 2021-11-09 22:15:31 +01:00
drm_property.h platforms/drm: remove property blob handling from DrmProperty 2021-11-09 22:15:31 +01:00
drm_virtual_output.cpp platforms/drm: more dynamic crtc assignment 2021-11-09 22:15:31 +01:00
drm_virtual_output.h platforms/drm: more dynamic crtc assignment 2021-11-09 22:15:31 +01:00
dumb_swapchain.cpp backends/drm: drop some unused stuff in DrmGpu 2021-11-22 11:30:31 +00:00
dumb_swapchain.h
edid.cpp
edid.h
egl_gbm_backend.cpp backends/drm: some simplifications for multi gpu 2021-11-12 09:30:13 +01:00
egl_gbm_backend.h Unify beginFrame() and endFrame() hooks for OpenGL and QPainter backends 2021-11-16 10:43:56 +00:00
egl_multi_backend.cpp Unify beginFrame() and endFrame() hooks for OpenGL and QPainter backends 2021-11-16 10:43:56 +00:00
egl_multi_backend.h Unify beginFrame() and endFrame() hooks for OpenGL and QPainter backends 2021-11-16 10:43:56 +00:00
gbm_dmabuf.cpp
gbm_dmabuf.h
gbm_surface.cpp backends/drm: some simplifications for multi gpu 2021-11-12 09:30:13 +01:00
gbm_surface.h
logging.cpp
logging.h
scene_qpainter_drm_backend.cpp backends/drm: drop some unused stuff in DrmGpu 2021-11-22 11:30:31 +00:00
scene_qpainter_drm_backend.h Unify beginFrame() and endFrame() hooks for OpenGL and QPainter backends 2021-11-16 10:43:56 +00:00
shadowbuffer.cpp
shadowbuffer.h