Hi Eric,

Eric Anholt <e...@anholt.net> writes:

> Harish Krupo <harish.krupo....@intel.com> writes:
>
>> The intension of the KHR_partial_update was not to send the damage back
>> to the platform but to send the damage to the driver to ensure that the
>> following rendering could be restricted to those regions.
>> This patch removes the set_damage_region from the egl_dri vtbl and all
>> the platfrom_*.c files.
>> Then upcomming patches add a new dri2 interface for the drivers to
>> implement
>>
>> Signed-off-by: Harish Krupo <harish.krupo....@intel.com>
>
> Why shouldn't the platform know about the damage region in a swap, if
> it's available?  It looks like it was successfully used for Android, and
> we should be using it for Present as well.

From the spec [1], the damage region referred to by partial_update spec is
the damaged part of the buffer when it is used again. The damage that the
compositor/platform needs to know is the damage between the (n-1)th
frame and the nth frame. Quoting from the spec:
"   The surface damage for frame n is the difference between frame n and frame
    (n-1), and represents the area that a compositor must recompose."
This is the damage referred to by the swap_buffers_with_damage spec [2],
whereas the partial_update damage region's objective is to restrict the 
subsequent
rendering operations on the back buffer, to only those regions which have 
changed since
that buffer was last used. This information is available as the buffer
age. Some more information: [3].


[1] 
https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_partial_update.txt
[2] 
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_swap_buffers_with_damage.txt
[3] 
https://community.arm.com/graphics/b/blog/posts/mali-performance-3-is-egl_5f00_buffer_5f00_preserved-a-good-thing

Thank you
Regards
Harish Krupo
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to