Skip to content
  • Pekka Paalanen's avatar
    pixman-renderer: implement output capture · 0c8c2c40
    Pekka Paalanen authored
    
    
    This services output capture tasks for the 'framebuffer' and 'blending'
    pixel sources.
    
    Just like the old screenshooting path, the 'framebuffer' pixel source is
    the hardware buffer, whether a shadow is used or not. This may not be
    the best for performance, but you do get the real framebuffer contents.
    Maybe it's rgb565, or even less.
    
    When the shadow buffer is used, I realized it is effectively the same as
    the intermediate blending buffer in GL-renderer when color management is
    used. Pixman-renderer does non-linear blending only, so the shadow
    buffer is in the blending space. The shadow buffer is also always 8 bpc
    regardless of the hardware framebuffer, so the read-back may be
    different from the hardware framebuffer. Read-back from the shadow is
    optimal for performance, but not what the hardware gets.
    
    'full-framebuffer' source cannot yet be implemented, because backends do
    not tell Pixman-renderer about the margins where the wayland-backend
    blits the output decorations. The target "hardware" buffer handed to
    pixman-renderer does not allow accessing the decorations area.
    
    Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
    0c8c2c40
Loading