Skip to content

intel: add MI command write/read fencing

What does this MR do and why?

For performance reasons, the Xe KMD wants to enable a separate pipe for read & write operations in the MI commands, leading to a previous write operation not always completing before a later read operation.

This would wreck a bunch of things since we kind of expect write & read to be ordered.

This MR enables tracking in the mi_builder so that we don't have to replicate things in each driver.

Anv still has a few special cases where CS writes data pulled by internal shader so this is taken care of as well.

Merge request reports