Skip to content
  • Emma Anholt's avatar
    glamor: Delay making pixmaps shareable until we need to. · 7bd0f79c
    Emma Anholt authored and Adam Jackson's avatar Adam Jackson committed
    
    
    If a pixmap isn't getting exported as a dmabuf, then we don't need to
    make an EGLImage/GBM bo for it.  This should reduce normal pixmap
    allocation overhead, and also lets the driver choose non-scanout
    formats which may be much higher performance.
    
    On Raspberry Pi, where scanout isn't usable as a texture source, this
    improves x11perf -copypixwin100 from about 4300/sec to 5780/sec under
    xcompmgr -a, because we no longer need to upload our x11perf window to
    a tiled temporary in order to render it to the screen.
    
    v2: Just use pixmap->usage_hint instead of a new field.  Drop the
        changes that started storing gbm_bos in the pixmap priv due to
        lifetime issues.
    v3: Fix a missing gbm_bo_destroy() on the pixmap-from-fd success path.
    
    [ajax: Restore glamor_egl_create_argb8888_based_texture for ABI reasons.
    I'm not aware of any driver using it directly, but.]
    
    Signed-off-by: default avatarEric Anholt <eric@anholt.net>
    Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
    (cherry picked from commit 51984ddd)
    7bd0f79c