• Daniel Stone's avatar
    gl-renderer: Support EGL_KHR_partial_update · df2095fa
    Daniel Stone authored
    partial_update is an EGL extension which allows us to inform the driver
    ahead of time the limits of the areas we'll be writing to. This helps
    performance for GPU hardware which renders into a local tile buffer:
    informing the driver of the rendering extents means it can avoid
    fetching unchanged tiles into the tile buffer and subsequently writing
    them out.
    
    The extension complements rather than replaces EGL_EXT_buffer_age (used
    before partial_update to know which areas we need to update) and
    EGL_KHR_swap_buffers_with_damage (used after partial_update to inform
    the winsys of the changed region).
    
    Note however that partial_update deals in buffer-damage regions ('what
    has changed since the last time I used _this_ buffer?'), whereas
    swap_buffers_with_damage deals in surface-damage regions ('what has
    changed since the last time I rendered?'). An explanatory diagram can be
    found in the specification:
    https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_partial_update.txt
    
    Fixes: #134
    Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
    df2095fa
Name
Last commit
Last update
.gitlab-ci Loading commit data...
clients Loading commit data...
compositor Loading commit data...
data Loading commit data...
desktop-shell Loading commit data...
doc Loading commit data...
fullscreen-shell Loading commit data...
include Loading commit data...
ivi-shell Loading commit data...
libweston Loading commit data...
libweston-desktop Loading commit data...
man Loading commit data...
protocol Loading commit data...
remoting Loading commit data...
shared Loading commit data...
tests Loading commit data...
tools/zunitc Loading commit data...
wcap Loading commit data...
xwayland Loading commit data...
.editorconfig Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING Loading commit data...
README.md Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
notes.txt Loading commit data...
releasing.txt Loading commit data...
weston.ini.in Loading commit data...