Hi Qiang, Qiang Yu <yuq...@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: https://github.com/harishkrupo/external-mesa/commit/0753dfc182ed214c4c1b2b0695b73078664fc618 https://github.com/harishkrupo/external-mesa/commit/77dccee24134d9a59c8916fe4dcd734babbad412 > 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 > EGL_EXT_buffer_age, > 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: > https://community.arm.com/graphics/b/blog/posts/mali-performance-3-is-egl_5f00_buffer_5f00_preserved-a-good-thing > Thanks, will read it. Regards Harish Krupo _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev