Skip to content

Fix partial upate

Boris Brezillon requested to merge bbrezillon/mesa:fix-partial-upd into master

The partial_update() infra is broken and needs fixing at the gallium core level: the BACK_LEFT attachment can be outdated when the user calls KHR_partial_update(), leading to a damage region update on the wrong pipe_resource object. That's what patch 1 in this series is trying to address.

We also have a bug in the panfrost driver where implicit flushes (triggered by ->transfer_[un]map()) mess up the damage region attached to a render target. When implicit flush happen we have no other option but to trigger a full FB reload (AKA reset the damage region) because we don't know what has been changed by the draws we flushed. That's what patch 2 is addressing.

This MR superseeds is meant to replace !2676 (closed), but I keep !2676 (closed) in case this one is not deemed acceptable.

Thanks,

Boris

/cc @alyssa @tomeu @anarsoul @yuq825 @daniels @mareko

Merge request reports