Skip to content

freedreno/a6xx: Fix for stale texture view CSOs after UBWC uncompression

Rob Clark requested to merge robclark/mesa:wip/uncompress-vs-cso into master

A sequence like:

  1. create sampler view CSO with UBWC resource
  2. later create another sampler view or image view with the same resource, but a format that triggers demoting the resource to uncompressed
  3. bind CSO created in step (1)

would not work correctly, because the CSO created in step (1) is still setup for UBWC, despite the fact that the resource had since been demoted to uncompressed.

Fortunately this is easy enough to detect, as the resource's seqno would have been updated.

This was something I found while debugging my threaded-context branch, where it becomes a more likely occurrence due to CSO creation happening in frontend thread, but state binding happening later in driver thread. But this fix is not strictly related to threaded-context so splitting it out into it's own MR

Merge request reports