Skip to content

Draft: panvk: Support VK_KHR_dynamic_rendering_local_read

Boris Brezillon requested to merge bbrezillon/mesa:panvk-read-local into main

What does this MR do and why?

Add support for color attachment and input attachment remapping along with a lowering pass turn input attachment loads into load_converted_output_pan intructions when the input attachment is part of the render pass. When that's not the case, we keep lowering those to texture accesses.

For some reason I don't quite understand, LD_TILE.z_stencil causes an INVALID_INSTR_ENC encoding on Bifrost, so it's only really tested on on g610 and is one of the reason the MR is a Draft. If we don't get to the bottom of this failure, we might want to enable local_read on v10+ only to unblock things.

This got sorted out by @larsivsi last week. Unlike Valhall, where the conversion is ignored, on Bifrost a depth LD_TILE needs a valid conversion (depth format matching the depth format).

We probably want to take VK_DEPENDENCY_BY_REGION_BIT into account in the CSF barrier logic so the render pass doesn't get split when framebuffer-local dependencies are defined. On Bifrost, the render pass splitting is a bit of a mess, so I'd rather not touch that in this MR.

Depends on !32415 (merged).

/cc @larsivsi

Edited by Boris Brezillon

Merge request reports

Loading