Hi Eric, Eric Engestrom <eric.engest...@imgtec.com> writes:
> On Wednesday, 2017-10-18 06:06:45 +0000, Harish Krupo wrote: >> Hi Eric, >> >> Eric Engestrom <e...@engestrom.ch> writes: >> > I might need to double check the spec, but I thought "no damage hint" >> > meant "no way to reduce the update, redraw the whole screen"? >> > >> > If that's the case, then SwapBuffers() and SwapBuffersWithDamages(NULL, 0) >> > should have the same effect: not setting any damage region. >> > >> > You can therefore drop the `with_damage` bool and just use `n_rects > 0`. >> > >> >> Quoting from the swap buffers with damage spec: >> If <n_rects> is 0 then <rects> is ignored and the entire >> surface is implicitly damaged and the behaviour is equivalent >> to calling eglSwapBuffers. >> >> If we were to use n_rects, then the code would be something like this: >> if (n_rects > 0) { // with_damage case >> if (!try_damage_buffer(dri2_surf, rects, n_rects)) >> wl_surface_damage(dri2_surf->wl_surface_wrapper, >> 0, 0, INT32_MAX, INT32_MAX); >> } >> else { >> // if (!dri2_surf->base.SetDamageRegionCalled) >> wl_surface_damage(dri2_surf->wl_surface_wrapper, >> 0, 0, INT32_MAX, INT32_MAX); >> } >> >> The problem here is when n_rects is zero, then according the >> swap_buffers spec the damage should be set to maximum which it will. >> This code will also be executed by SwapBuffers. In this case the maximum >> damage should be set only when no previous damage has already been set by >> SetDamageRegion otherwise the previous SetDamageRegion call would be in >> vain. (Also wayland requires that some buffer damage is set otherwise >> there will be no damage at all.) > > That last sentence is the bit I was missing: I thought if no damage > was set in WL it meant the whole screen was damaged, ie. the same way > it's defined in EGL. > > Can you point me to the WL spec where this is mentioned, or some > documentation? > If I can confirm this, then I was wrong and I apologise :] > Ok, here is the documentation from wayland.xml. https://cgit.freedesktop.org/wayland/wayland/tree/protocol/wayland.xml#n1389 >> >> Thank you >> >> Regards >> Harish Krupo _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev