Module: Mesa Branch: main Commit: e0c2244ea9b162788c781398743919956b0d55b7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0c2244ea9b162788c781398743919956b0d55b7
Author: Faith Ekstrand <[email protected]> Date: Wed Nov 29 15:24:13 2023 -0600 nvk: Drop MME_DMA_SYSMEMBAR before indirect draw/dispatch This reverts commit 3d3641e446794e3ebfe07de81b37c4d60eea26f0. We're now doing this as part of CmdWaitEvents and CmdPipelineBarrier(). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26408> --- src/nouveau/vulkan/nvk_cmd_dispatch.c | 3 +-- src/nouveau/vulkan/nvk_cmd_draw.c | 18 ++++++------------ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/nouveau/vulkan/nvk_cmd_dispatch.c b/src/nouveau/vulkan/nvk_cmd_dispatch.c index 32ed0ead7df..8ae616d4eeb 100644 --- a/src/nouveau/vulkan/nvk_cmd_dispatch.c +++ b/src/nouveau/vulkan/nvk_cmd_dispatch.c @@ -389,9 +389,8 @@ nvk_CmdDispatchIndirect(VkCommandBuffer commandBuffer, if (unlikely(qmd_addr == 0)) return; - struct nv_push *p = nvk_cmd_buffer_push(cmd, 16); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 14); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DISPATCH_INDIRECT)); P_INLINE_DATA(p, nvk_compute_local_size(cmd)); diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index 980825856d6..83307f743ab 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -2129,8 +2129,7 @@ nvk_CmdDrawIndirect(VkCommandBuffer commandBuffer, }); if (nvk_cmd_buffer_3d_cls(cmd) >= TURING_A) { - struct nv_push *p = nvk_cmd_buffer_push(cmd, 10); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 8); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDIRECT)); P_INLINE_DATA(p, begin); @@ -2247,8 +2246,7 @@ nvk_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, }); if (nvk_cmd_buffer_3d_cls(cmd) >= TURING_A) { - struct nv_push *p = nvk_cmd_buffer_push(cmd, 10); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 8); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDEXED_INDIRECT)); P_INLINE_DATA(p, begin); @@ -2345,8 +2343,7 @@ nvk_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, .split_mode = SPLIT_MODE_NORMAL_BEGIN_NORMAL_END, }); - struct nv_push *p = nvk_cmd_buffer_push(cmd, 12); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 10); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDIRECT_COUNT)); P_INLINE_DATA(p, begin); @@ -2423,8 +2420,7 @@ nvk_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, .split_mode = SPLIT_MODE_NORMAL_BEGIN_NORMAL_END, }); - struct nv_push *p = nvk_cmd_buffer_push(cmd, 12); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 10); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDEXED_INDIRECT_COUNT)); P_INLINE_DATA(p, begin); @@ -2540,10 +2536,9 @@ nvk_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, }); if (nvk_cmd_buffer_3d_cls(cmd) >= TURING_A) { - struct nv_push *p = nvk_cmd_buffer_push(cmd, 14); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 12); P_IMMD(p, NV9097, SET_DRAW_AUTO_START, counterOffset); P_IMMD(p, NV9097, SET_DRAW_AUTO_STRIDE, vertexStride); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_XFB_DRAW_INDIRECT)); @@ -2654,8 +2649,7 @@ nvk_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint64_t cb_addr = nvk_buffer_address(buffer, offset); if (nvk_cmd_buffer_device(cmd)->pdev->info.cls_eng3d >= TURING_A) { - struct nv_push *p = nvk_cmd_buffer_push(cmd, 8); - P_IMMD(p, NVC597, MME_DMA_SYSMEMBAR, 0); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_XFB_COUNTER_LOAD)); P_INLINE_DATA(p, cb_idx);
