Skip to content
  • Pekka Paalanen's avatar
    gl-renderer: implement output capture · f60c9cc1
    Pekka Paalanen authored
    
    
    This services output capture tasks for the 'framebuffer' and 'full
    framebuffer' pixel sources.
    
    Both pixel sources come from the same source: the EGLSurface. The only
    difference is the area. The EGLSurface contains the borders used for
    output decorations, hence 'full framebuffer' is possible to capture.
    
    We use GL_ANGLE_pack_reverse_row_order extension to make glReadPixels
    return the image data in the layout we need for wl_shm buffers directly.
    Without the extension we have to flip manually.
    
    Another extension to the same effect is MESA_pack_invert, but this is
    not specified for GL ES. It also uses a different token value, so it
    cannot be directly substituted even if supported.
    
    Signed-off-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
    f60c9cc1
Loading