[Mesa-dev] Question about EGL_KHR_partial_update implementation
harish.krupo.kps at intel.com
Tue Jul 3 04:02:17 UTC 2018
Qiang Yu <yuq825 at gmail.com> writes:
>> > For lima implementation, I want to use the damage region (buffer
>> > damage) provided
>> > by EGL_KHR_partial_update to skip rendering of un-damaged region when
>> > eglSwapBuffersXXX. And tell damage region (surface damage) to compositor should
>> > be left to eglSwapBuffersWithDamageKHR provided by
>> > EGL_KHR_swap_buffers_with_damage.
>> How do you plan to implement it?
> You mean the mesa framework part or the gpu driver part? For mesa
> framework part I'd like
> to add a driver callback to set damage region, and when flush, driver
> use the damage region
> to skip un-damage region's render. But I don't have a detail plan.
Nice. For the framework part, I was planning on adding a DRI interface
for this and let drivers implement it. If you want to have a look:
> Mali GPU split FBO into 16x16 tiles, it renders each tile into a tile
> buffer mem inside GPU, then
> GPU write this tile buffer into RAM FBO. If mali want to draw
> something based on the original
> content of the FBO tile or draw part of the FBO tile, we have to load
> the FBO tile into GPU tile
> buffer first. If we don't know the damage region before render like
> GPU has to load the whole FBO into tile buffer, which makes partial
> draw a whole FBO read/write.
> But with EGL_KHR_partial_update, we can skip load of un-damaged FBO
> tile which is really
> partial draw. I think this is the intention of this extension (which
> is also proposed by ARM guys)
> to benifit tile GPU rendering.
> Useful blog:
Thanks, will read it.
More information about the mesa-dev