nvk/cmd_copy: Use PIPELINED for user transfers

Vulkan requires applications to insert any necessary pipeline barriers.

Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671>
This commit is contained in:
Mel Henning 2025-10-01 20:11:21 -04:00 committed by Marge Bot
parent 08861bad46
commit e9432eb3e0

View file

@ -398,7 +398,7 @@ nvk_CmdCopyBuffer2(VkCommandBuffer commandBuffer,
P_NV90B5_LINE_COUNT(p, 1);
P_IMMD(p, NV90B5, LAUNCH_DMA, {
.data_transfer_type = DATA_TRANSFER_TYPE_NON_PIPELINED,
.data_transfer_type = DATA_TRANSFER_TYPE_PIPELINED,
.multi_line_enable = MULTI_LINE_ENABLE_TRUE,
.flush_enable = FLUSH_ENABLE_TRUE,
.src_memory_layout = SRC_MEMORY_LAYOUT_PITCH,
@ -941,7 +941,7 @@ nvk_CmdFillBuffer(VkCommandBuffer commandBuffer,
P_NV90B5_LINE_COUNT(p, height);
P_IMMD(p, NV90B5, LAUNCH_DMA, {
.data_transfer_type = DATA_TRANSFER_TYPE_NON_PIPELINED,
.data_transfer_type = DATA_TRANSFER_TYPE_PIPELINED,
.multi_line_enable = height > 1,
.flush_enable = FLUSH_ENABLE_TRUE,
.src_memory_layout = SRC_MEMORY_LAYOUT_PITCH,
@ -982,7 +982,7 @@ nvk_CmdUpdateBuffer(VkCommandBuffer commandBuffer,
P_NV90B5_LINE_COUNT(p, 1);
P_IMMD(p, NV90B5, LAUNCH_DMA, {
.data_transfer_type = DATA_TRANSFER_TYPE_NON_PIPELINED,
.data_transfer_type = DATA_TRANSFER_TYPE_PIPELINED,
.multi_line_enable = MULTI_LINE_ENABLE_TRUE,
.flush_enable = FLUSH_ENABLE_TRUE,
.src_memory_layout = SRC_MEMORY_LAYOUT_PITCH,