nvk: Split out nvk_cmd_fill_memory

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41275>
This commit is contained in:
Mel Henning 2026-04-06 17:36:46 -04:00 committed by Marge Bot
parent 8b7525dd5d
commit d4eb5c76c9
2 changed files with 24 additions and 12 deletions

View file

@ -437,6 +437,10 @@ void nvk_cmd_dispatch_shader(struct nvk_cmd_buffer *cmd,
uint32_t groupCountY,
uint32_t groupCountZ);
void nvk_cmd_fill_memory(struct nvk_cmd_buffer *cmd,
uint64_t dst_addr, uint64_t size,
uint32_t data);
void nvk_meta_resolve_rendering(struct nvk_cmd_buffer *cmd,
const VkRenderingInfo *pRenderingInfo);

View file

@ -893,19 +893,11 @@ nvk_CmdCopyImage2(VkCommandBuffer commandBuffer,
}
}
VKAPI_ATTR void VKAPI_CALL
nvk_CmdFillBuffer(VkCommandBuffer commandBuffer,
VkBuffer dstBuffer,
VkDeviceSize dstOffset,
VkDeviceSize size,
uint32_t data)
void
nvk_cmd_fill_memory(struct nvk_cmd_buffer *cmd,
uint64_t dst_addr, uint64_t size,
uint32_t data)
{
VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer);
VK_FROM_HANDLE(nvk_buffer, dst_buffer, dstBuffer);
uint64_t dst_addr = vk_buffer_address(&dst_buffer->vk, dstOffset);
size = vk_buffer_range(&dst_buffer->vk, dstOffset, size);
uint32_t max_dim = 1 << 15;
struct nv_push *p = nvk_cmd_buffer_push(cmd, 7);
@ -964,6 +956,22 @@ nvk_CmdFillBuffer(VkCommandBuffer commandBuffer,
}
}
VKAPI_ATTR void VKAPI_CALL
nvk_CmdFillBuffer(VkCommandBuffer commandBuffer,
VkBuffer dstBuffer,
VkDeviceSize dstOffset,
VkDeviceSize size,
uint32_t data)
{
VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer);
VK_FROM_HANDLE(nvk_buffer, dst_buffer, dstBuffer);
uint64_t dst_addr = vk_buffer_address(&dst_buffer->vk, dstOffset);
size = vk_buffer_range(&dst_buffer->vk, dstOffset, size);
nvk_cmd_fill_memory(cmd, dst_addr, size, data);
}
VKAPI_ATTR void VKAPI_CALL
nvk_CmdUpdateBuffer(VkCommandBuffer commandBuffer,
VkBuffer dstBuffer,