Skip to content

iris/bufmgr: Remove all GTT map support and perform staging blits in a few more cases

Kenneth Graunke requested to merge kwg/mesa:iris-mmap-2 into main

This would close #4747 (closed).

This series:

  • Removes confusing mmap fallbacks.

    Most people had trouble even explaining when these cases would trigger. It turns out, they'd only happen if trying to directly CPU map an imported buffer backed by memory on another device, assuming that IOMMU was working. They also relied on the GTT map interface, which tries to detile any tiled buffers, which is not what we want, so we'd fail to map any tiled ones. Most such buffers are linear, but this could have caused problems with Intel discrete.

  • Removes GTT mapping support altogether.

    Now we only have two kinds of maps: writeback maps with CPU caches, and write-combining maps.

  • Uses staging blits for corner cases where we're trying to CPU read from slow uncached memory (or imported BOs that may not be mappable).

  • Cleans up some code.

Part 2 added:

The series also now adds code to:

  • Stop supporting multiple simultaneous mmaps modes at a time, instead deciding on a single mode for the BO up front.

This completes the work on #4747 (closed).

Edited by Kenneth Graunke

Merge request reports