v3dv: implement vkResetCommandPool

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c
index 4580c771..b251683 100644
--- a/src/broadcom/vulkan/v3dv_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c
@@ -570,6 +570,23 @@
    return cmd_buffer_reset(cmd_buffer, flags);
 }
 
+VkResult
+v3dv_ResetCommandPool(VkDevice device,
+                      VkCommandPool commandPool,
+                      VkCommandPoolResetFlags flags)
+{
+   V3DV_FROM_HANDLE(v3dv_cmd_pool, pool, commandPool);
+
+   VkCommandBufferResetFlags reset_flags = 0;
+   if (flags & VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)
+      reset_flags = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT;
+   list_for_each_entry(struct v3dv_cmd_buffer, cmd_buffer,
+                       &pool->cmd_buffers, pool_link) {
+      cmd_buffer_reset(cmd_buffer, reset_flags);
+   }
+
+   return VK_SUCCESS;
+}
 static void
 emit_clip_window(struct v3dv_job *job, const VkRect2D *rect)
 {