summaryrefslogtreecommitdiffstats
path: root/Android.mk
diff options
context:
space:
mode:
authorDaniel Stone <[email protected]>2015-11-07 18:25:31 +0000
committerDaniel Stone <[email protected]>2015-11-13 10:09:23 +0000
commitd1314de293e9e4a63c35f094c3893aaaed8580b4 (patch)
tree101e02b34dd25f982ac54dae715a4522863ab4fa /Android.mk
parenta29d922c1a19ecebb7c274f31248b00086cb4733 (diff)
egl/wayland: Ignore rects from SwapBuffersWithDamage
eglSwapBuffersWithDamage accepts damage-region rectangles to hint the compositor that it only needs to redraw certain areas, which was passed through the wl_surface_damage request, as designed. Wayland also offers a buffer transformation interface, e.g. to allow users to render pre-rotated buffers. Unfortunately, there is no way to query buffer transforms, and the damage region was provided in surface, rather than buffer, co-ordinate space. Users could in theory account for this themselves, but EGL also requires co-ordinates to be passed in GL/mathematical co-ordinate space, with an inversion to Wayland's natural/scanout co-ordinate space, so transformations other than a 180-degree rotation will fail as EGL attempts to subtract the region from (its view of the) surface height. Pending creation and acceptance of a wl_surface.buffer_damage request, which will accept co-ordinates in buffer co-ordinate space, pessimise to always sending full-surface damage. bce64c6c provides the explanation for why we send maximum-range damage, rather than the full size of the surface: in the presence of buffer transformations, full-surface damage may not actually cover the entire surface. Signed-off-by: Daniel Stone <[email protected]> Reviewed-by: Pekka Paalanen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'Android.mk')
0 files changed, 0 insertions, 0 deletions