Skip to content

radv/winsys: set IB flags prior to submit in the sysmem path

w-flo requested to merge w-flo/mesa:radv_winsys_submit_init_ib_flags into master

Setting flags to 0 is probably the safest option, though I wondered if the AMDGPU_IB_FLAG_TC_WB_NOT_INVALIDATE flag might be valid since Vulkan requires users to be quite explicit about synchronization. There could be some implicit synchronization guarantees related to command buffer submission, and I don't even know what part of my graphics hardware "TC" is, so I'll leave that decision to someone else.

Also I hope this is actually the proper fix for the ZUSI 3 issue described in the commit, as I've found various ways to work around the bug while trying to debug it (like running the game with validation layers, or the renderdoc capture layer), so maybe this is just another workaround and the bug returns after the next reboot or game / dxvk / mesa update.


This fixes missing scene objects in ZUSI 3 + dxvk. Index / vertex buffer upload using thousands of CopyBuffer commands in one huge Vulkan command buffer, mixed with lots of render pass begin/end and draw calls, failed for some of the buffers.

radv divides the huge command buffer into 3 IBs, and they had random flags set because the field was uninitialized. Maybe IBs got discarded if they had the PREAMBLE bit set.

Signed-off-by: Florian Will florian.will@gmail.com

Merge request reports