• Eric Anholt's avatar
    glamor: Delay making pixmaps shareable until we need to. · 51984ddd
    Eric Anholt authored
    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.
    Signed-off-by: 's avatarEric Anholt <eric@anholt.net>
    Reviewed-by: 's avatarMichel Dänzer <michel.daenzer@amd.com>
    51984ddd
Name
Last commit
Last update
Xext Loading commit data...
Xi Loading commit data...
composite Loading commit data...
config Loading commit data...
damageext Loading commit data...
dbe Loading commit data...
dix Loading commit data...
doc Loading commit data...
dri3 Loading commit data...
exa Loading commit data...
fb Loading commit data...
glamor Loading commit data...
glx Loading commit data...
hw Loading commit data...
include Loading commit data...
m4 Loading commit data...
man Loading commit data...
mi Loading commit data...
miext Loading commit data...
os Loading commit data...
present Loading commit data...
pseudoramiX Loading commit data...
randr Loading commit data...
record Loading commit data...
render Loading commit data...
test Loading commit data...
xfixes Loading commit data...
xkb Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
README Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
devbook.am Loading commit data...
docbook.am Loading commit data...
fix-miregion Loading commit data...
fix-miregion-private Loading commit data...
fix-patch-whitespace Loading commit data...
fix-region Loading commit data...
manpages.am Loading commit data...
xorg-server.m4 Loading commit data...
xorg-server.pc.in Loading commit data...
xserver.ent.in Loading commit data...