Skip to content

vulkan/wsi/wayland: ensure drm modifiers stored in chain are immutable

Yiwei Zhang requested to merge zzyiwei/mesa:vk-wsi-wayland-suboptimal into main

What does this MR do and why?

vulkan/wsi/wayland: ensure drm modifiers stored in chain are immutable

Chain stored modifiers point to the mapping of the current feedback
shmem of the surface. The surface tracked feedback mapping will be gone
and replaced with new mapping during surface_dmabuf_feedback_done. There
are two issues here:
1. One issue is that the existing mapping is closed before been used to
   compare against new modifiers in sets_of_modifiers_are_the_same.
2. The other issue is that when the chain is still optimal, the chain
   persists while the mapping is still replaced with the one from the
   new format table shmem.

This change makes a deep copy of the modifiers to store in the chain to
ensure the modifiers used for the current chain are immutable through
the chain lifecycle.

Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>

/cc @ryanneph @daniels @llandwerlin @leandrohrb

Edited by Yiwei Zhang

Merge request reports