Skip to content

venus: properly ignore format fields in VkPipelineRenderingCreateInfo

Yiwei Zhang requested to merge zzyiwei/mesa:vn-pipeline-rendering-fix into main

What does this MR do and why?

venus: properly ignore format fields in VkPipelineRenderingCreateInfo

Zink and vkd3d-proton both don't zero-init VkPipelineRenderingCreateInfo with GPL (valid usage per VK spec), which leads to Venus encoding garbage with cold cache. This MR fixes it by splitting self and pnext fixes while conditionally allocate, copy and scrub ignored fields in the rendering info.

Then after fixing Venus to be more robust, we get Zink out from the suboptimal encoding path in Venus during pipeline creation.

Test:

  • Zink on Venus with GPL enabled no longer crashes (tested with traces)
  • vkd3d-proton on Venus with GPL enabled no longer crashes (tested with ROTTR)
Edited by Yiwei Zhang

Merge request reports