diff --git a/src/panfrost/vulkan/csf/panvk_cmd_buffer.h b/src/panfrost/vulkan/csf/panvk_cmd_buffer.h index 92ae1275762..6359f724cf3 100644 --- a/src/panfrost/vulkan/csf/panvk_cmd_buffer.h +++ b/src/panfrost/vulkan/csf/panvk_cmd_buffer.h @@ -468,7 +468,7 @@ void panvk_per_arch(cs_next_iter_sb)(struct panvk_cmd_buffer *cmdbuf, enum panvk_subqueue_id subqueue, struct cs_index scratch_regs); -void panvk_per_arch(get_cs_deps)(struct panvk_cmd_buffer *cmdbuf, +void panvk_per_arch(add_cs_deps)(struct panvk_cmd_buffer *cmdbuf, const VkDependencyInfo *in, struct panvk_cs_deps *out); diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c index 17ee48815c5..eea0832a8ee 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_buffer.c @@ -526,12 +526,10 @@ normalize_dependency(VkPipelineStageFlags2 *src_stages, } void -panvk_per_arch(get_cs_deps)(struct panvk_cmd_buffer *cmdbuf, +panvk_per_arch(add_cs_deps)(struct panvk_cmd_buffer *cmdbuf, const VkDependencyInfo *in, struct panvk_cs_deps *out) { - memset(out, 0, sizeof(*out)); - for (uint32_t i = 0; i < in->memoryBarrierCount; i++) { const VkMemoryBarrier2 *barrier = &in->pMemoryBarriers[i]; VkPipelineStageFlags2 src_stages = barrier->srcStageMask; @@ -695,7 +693,7 @@ panvk_per_arch(CmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo *pDependencyInfo) { VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer); - struct panvk_cs_deps deps; + struct panvk_cs_deps deps = {0}; /* Intra render pass barriers can be skipped iff we're inside a render * pass. */ @@ -703,7 +701,7 @@ panvk_per_arch(CmdPipelineBarrier2)(VkCommandBuffer commandBuffer, (pDependencyInfo->dependencyFlags & VK_DEPENDENCY_BY_REGION_BIT)) return; - panvk_per_arch(get_cs_deps)(cmdbuf, pDependencyInfo, &deps); + panvk_per_arch(add_cs_deps)(cmdbuf, pDependencyInfo, &deps); if (deps.needs_draw_flush) panvk_per_arch(cmd_flush_draws)(cmdbuf); diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_event.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_event.c index e2d48eb39eb..815d6f9e2ac 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_event.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_event.c @@ -18,7 +18,7 @@ panvk_per_arch(CmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent _event, VK_FROM_HANDLE(panvk_event, event, _event); /* Wrap stageMask with a VkDependencyInfo object so we can re-use - * get_cs_deps(). */ + * add_cs_deps(). */ const VkMemoryBarrier2 barrier = { .srcStageMask = stageMask, }; @@ -26,9 +26,9 @@ panvk_per_arch(CmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent _event, .memoryBarrierCount = 1, .pMemoryBarriers = &barrier, }; - struct panvk_cs_deps deps; + struct panvk_cs_deps deps = {0}; - panvk_per_arch(get_cs_deps)(cmdbuf, &info, &deps); + panvk_per_arch(add_cs_deps)(cmdbuf, &info, &deps); for (uint32_t i = 0; i < PANVK_SUBQUEUE_COUNT; i++) { struct cs_builder *b = panvk_get_cs_builder(cmdbuf, i); @@ -64,9 +64,9 @@ panvk_per_arch(CmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent _event, { VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer); VK_FROM_HANDLE(panvk_event, event, _event); - struct panvk_cs_deps deps; + struct panvk_cs_deps deps = {0}; - panvk_per_arch(get_cs_deps)(cmdbuf, pDependencyInfo, &deps); + panvk_per_arch(add_cs_deps)(cmdbuf, pDependencyInfo, &deps); if (deps.needs_draw_flush) panvk_per_arch(cmd_flush_draws)(cmdbuf); @@ -109,9 +109,9 @@ static void cmd_wait_event(struct panvk_cmd_buffer *cmdbuf, struct panvk_event *event, const VkDependencyInfo *info) { - struct panvk_cs_deps deps; + struct panvk_cs_deps deps = {0}; - panvk_per_arch(get_cs_deps)(cmdbuf, info, &deps); + panvk_per_arch(add_cs_deps)(cmdbuf, info, &deps); for (uint32_t i = 0; i < PANVK_SUBQUEUE_COUNT; i++) { struct cs_builder *b = panvk_get_cs_builder(cmdbuf, i);