On Mon, Jul 05, 2021 at 09:46:29AM +0200, Thomas Zimmermann wrote: > Vkms copies each plane's framebuffer into the output buffer; essentially > using a shadow buffer. DRM provides struct drm_shadow_plane_state, which > handles the details of mapping/unmapping shadow buffers into memory for > active planes. > > Convert vkms to the helpers. Makes vkms use shared code and gives more > test exposure to shadow-plane helpers. > > Thomas Zimmermann (4): > drm/gem: Export implementation of shadow-plane helpers > drm/vkms: Inherit plane state from struct drm_shadow_plane_state > drm/vkms: Let shadow-plane helpers prepare the plane's FB > drm/vkms: Use dma-buf mapping from shadow-plane state for composing So I think right now this fits, but I think it'll mismit going forward: We don't really have a shadow-plane that we then toss to the hw, it's a shadow-crtc-area. Right now there's no difference, because we don't support positioning/scaling the primary plane. But that's all kinda stuff that's on the table. But conceptually at least the compositioning buffer should bet part of the crtc, not of the primary plane. So not sure what to do, but also coffee hasn't kicked in yet, so maybe I'm just confused. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch