Skip to content

etnaviv: add implicit resource flush on context flush

Lucas Stach requested to merge lynxeye/mesa:etnaviv-implicit-flush into main

Currently when we have a shadow render resource, due to the original resource not being compatible with render pipe requirements, the render buffer content only gets flushed to the base resource when the frontend handles this for us (e.g. for EGL back to front swaps). Direct frontbuffer rendering or rendering to a texture only updates the shadow render buffer, but does not flush the content to the base resource, causing other users of a shared buffer to see stale content.

This series fixes this by remembering all shared resources that are aren't marked as being flushed by the frontend when they are bound as a render buffer and flushing them on context flush.

Fixes: #3721 (closed)

Edited by Lucas Stach

Merge request reports