kwin/src/plugins/platforms/drm
Vlad Zahorodnii 2200febcd6 Restore fbo binding after updating surface texture from EGLStreams
Currently, data from client buffer EGLStream is copied to a surface
texture. An fbo is used for that purpose. The main issue with it is that
it doesn't restore the old framebuffer binding.

The surface texture can be updated in the middle of a compositing cycle.

If the framebuffer binding is not restored, any window that must be
rendered in an offscreen texture won't be rendered to the offscreen
texture.

This change makes EglStreamSurfaceTextureWayland restore the fbo binding
so the DeformEffect and software screen rotation work as expected with
the proprietary NVIDIA driver.

BUG: 442697
2021-09-21 12:41:45 +03:00
..
abstract_egl_drm_backend.cpp Remove screenGeometryChanged() in OpenGLBackend and QPainterBackend 2021-07-26 14:55:54 +00:00
abstract_egl_drm_backend.h platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
CMakeLists.txt Implement DRM leasing 2021-09-17 23:09:08 +02:00
drm.json SVN_SILENT made messages (.desktop file) - always resolve ours 2021-09-08 01:27:17 +00:00
drm_abstract_output.cpp platforms/drm: introduce virtual outputs 2021-08-07 17:18:40 +02:00
drm_abstract_output.h platforms/drm: drop some unused methods 2021-09-16 18:03:14 +02:00
drm_backend.cpp platforms/drm: improve VT switching behavior 2021-09-13 16:58:49 +02:00
drm_backend.h platforms/drm: consider KWIN_DRM_DEVICES for hotplugged gpus 2021-08-17 19:23:35 +02:00
drm_buffer.cpp platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
drm_buffer.h platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
drm_buffer_gbm.cpp platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
drm_buffer_gbm.h wayland: Switch to ClientBuffer 2021-07-23 15:33:38 +00:00
drm_gpu.cpp Implement DRM leasing 2021-09-17 23:09:08 +02:00
drm_gpu.h Implement DRM leasing 2021-09-17 23:09:08 +02:00
drm_lease_output.cpp Implement DRM leasing 2021-09-17 23:09:08 +02:00
drm_lease_output.h Implement DRM leasing 2021-09-17 23:09:08 +02:00
drm_object.cpp platforms/drm: simplify active handling a bit 2021-09-17 11:34:51 +02:00
drm_object.h platforms/drm: simplify active handling a bit 2021-09-17 11:34:51 +02:00
drm_object_connector.cpp platforms/drm: allow modesets when setting Broadcast RGB 2021-09-17 15:48:40 +02:00
drm_object_connector.h Test DrmPipelines for outputs 2021-09-08 02:44:29 +02:00
drm_object_crtc.cpp platforms/drm: directly check for required properties 2021-08-27 20:25:18 +00:00
drm_object_crtc.h platforms/drm: work around tigerlake bug 2021-08-05 12:25:54 +00:00
drm_object_plane.cpp platforms/drm: disable explicit modifiers by default 2021-09-17 13:52:07 +00:00
drm_object_plane.h platforms/drm: explicit modifiers 2021-08-16 16:56:32 +02:00
drm_output.cpp platforms/drm: drop some unused methods 2021-09-16 18:03:14 +02:00
drm_output.h platforms/drm: drop some unused methods 2021-09-16 18:03:14 +02:00
drm_pipeline.cpp platforms/drm: fix buffer re-using 2021-09-20 14:28:58 +02:00
drm_pipeline.h platforms/drm: simplify active handling a bit 2021-09-17 11:34:51 +02:00
drm_pointer.h
drm_virtual_output.cpp platforms/drm: drop some unused methods 2021-09-16 18:03:14 +02:00
drm_virtual_output.h platforms/drm: drop some unused methods 2021-09-16 18:03:14 +02:00
dumb_swapchain.cpp platforms/drm: Add buffer age support in qpainter backend 2021-07-25 09:59:00 +03:00
dumb_swapchain.h platforms/drm: Add buffer age support in qpainter backend 2021-07-25 09:59:00 +03:00
edid.cpp
edid.h
egl_gbm_backend.cpp platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
egl_gbm_backend.h platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
egl_multi_backend.cpp platforms/drm: correct multi-gpu mistake 2021-08-30 23:00:19 +02:00
egl_multi_backend.h Port screenId based rendering methods to AbstractOutput 2021-08-25 13:53:33 +02:00
egl_stream_backend.cpp Restore fbo binding after updating surface texture from EGLStreams 2021-09-21 12:41:45 +03:00
egl_stream_backend.h platforms/drm: re-use buffers for testing 2021-09-17 11:56:20 +02:00
gbm_dmabuf.cpp platforms/drm: use drm formats instead of gbm formats 2021-08-27 11:56:36 +00:00
gbm_dmabuf.h
gbm_surface.cpp platforms/drm: explicit modifiers 2021-08-16 16:56:32 +02:00
gbm_surface.h platforms/drm: explicit modifiers 2021-08-16 16:56:32 +02:00
logging.cpp
logging.h
scene_qpainter_drm_backend.cpp Wayland: Add support for protocol kde-output-device_v2, allow to detect drm mode changes 2021-09-01 13:37:43 +00:00
scene_qpainter_drm_backend.h Port screenId based rendering methods to AbstractOutput 2021-08-25 13:53:33 +02:00
shadowbuffer.cpp platforms/drm: introduce virtual outputs 2021-08-07 17:18:40 +02:00
shadowbuffer.h platforms/drm: introduce virtual outputs 2021-08-07 17:18:40 +02:00