diff --git a/girs/GstVulkan-1.0.gir b/girs/GstVulkan-1.0.gir
index 36c72881e1..6aee400c58 100644
--- a/girs/GstVulkan-1.0.gir
+++ b/girs/GstVulkan-1.0.gir
@@ -203,6 +203,20 @@ and/or use gtk-doc annotations. -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -658,6 +672,27 @@ and/or use gtk-doc annotations. -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -863,11 +898,19 @@ and/or use gtk-doc annotations. -->
the stages in the graphics pipeline to execute the barrier
-
+
access flags
-
+
+
+
+ Timeline semaphore
+
+
+
+ Current value of the timeline semaphore
+
@@ -4369,6 +4412,438 @@ multiple times. This must be called before any other #GstVulkanMemory operation
+
+ When using the operation @cmd_buf, you should lock it using
+gst_vulkan_command_buffer_lock(), but you have to unlock it, with
+gst_vulkan_command_buffer_unlock(), when calling any of #GstVulkanOperation
+methods.
+
+
+
+
+ a newly allocated #GstVulkanOperation
+
+
+
+
+ a #GstVulkanCommandPool
+
+
+
+
+
+ Add @frame as an operation dependency by adding the timeline semaphores in
+each memory of @frame into either the wait semaphore array. The signal array
+hold the same semaphores but increasing their current value.
+
+
+ whether the @frame was added as dependency.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ a Vulkan Image #GstBuffer
+
+
+
+ pipeline stage to wait (VkPipelineStageFlags or
+ VkPipelineStageFlags2)
+
+
+
+ pipeline stage to signal (VkPipelineStageFlags or
+ VkPipelineStageFlags2)
+
+
+
+
+
+ See also: gst_vulkan_operation_use_sync2(),
+ gst_vulkan_operation_new_extra_image_barriers() and
+ gst_vulkan_operation_update_frame()
+
+Any non-repeated image barrier in @extra is appended to the internal barrier
+list.
+
+Remember to call gst_vulkan_operation_update_frame() on those frames with
+images in @extra_barriers.
+
+
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ a #GArray of extra image memory barriers to handle
+
+
+
+
+
+
+
+ See also: gst_vulkan_operation_update_frame()
+
+Adds an image memory barrier per memory in @frame with its future state. And
+it updates the @frame barrier state by calling internally
+gst_vulkan_operation_update_frame().
+
+
+ whether the @frame barriers were appended
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ a Vulkan Image #GstBuffer
+
+
+
+ destination pipeline stage (VkPipelineStageFlags or
+ VkPipelineStageFlags2)
+
+
+
+ the new access flags (VkAccessFlags2 or VkAccessFlags)
+
+
+
+ the new VkImageLayout
+
+
+
+ destination #GstVulkanQueue for a transfer of @frame
+ ownership
+
+
+
+
+
+ See also: gst_vulkan_operation_end() and gst_vulkan_operation_reset()
+
+Attempts to set the operation ready to work. It instantiates the common
+command buffer in @self and calls vkBeginCommandBuffer.
+
+After calling this function you can register commands in the command buffer,
+and finally call gst_vulkan_operation_end(). gst_vulkan_operation_reset() is
+called internally if something failed.
+
+
+ whether the operation started. It might fill @error.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ Begins a query operation in the current command buffer.
+
+
+ whether the begin command was set
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+
+
+
+ Discards barriers, and all the semaphore arrays populated by
+gst_vulkan_operation_add_dependency_frame().
+
+
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ Tries to enable the query pool for the current operation.
+
+
+ whether the query pool was enabled. It might populate @error in case
+ of error.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ the VkQueryType to enable
+
+
+
+ number of queries to enable
+
+
+
+ the structure pointer to use as pNext
+
+
+
+
+
+ See also: gst_vulkan_operation_begin() and gst_vulkan_operation_reset()
+
+It calls vkEndCommandBuffer, and later either vkQueueSubmit or
+vkQueueSubmit2KHR filling up the semaphores from images declared as
+dependencies.
+
+You have called gst_vulkan_operation_begin() before.
+gst_vulkan_operation_reset() is called internally if something fails
+
+
+ whether the operation failed. It might fill @error.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ Ends a query operation in the current command buffer.
+
+
+ whether the end command was set
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+
+
+
+ Gets the latest operation results of all the queries in @data. API users have
+to parse the binary array of @data according of their needs (usually is a
+guint32 array of size of n_query).
+
+Don't free @data.
+
+
+ whether a status was fetched. If not, it might populate @error
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ result of all queries
+
+
+
+
+
+ See also: gst_vulkan_operation_use_sync2(),
+ gst_vulkan_operation_add_extra_image_barriers() and
+ gst_vulkan_operation_update_frame()
+
+If it's required to add custom image memory barriers this function will
+allocate a new array to append in it the extra image memory barriers to
+handle.
+
+Remember to call gst_vulkan_operation_update_frame() after adding the barrier
+related with that frame.
+
+
+ A new allocated array of barriers, either
+ VkImageMemoryBarrier or VkImageMemoryBarrier2KHR, depending whether
+ synchronization2 extension is used.
+
+
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ It's a wrapper to vkCmdPipelineBarrier2{KHR} if it's available.
+
+
+ %TRUE if vkCmdPipelineBarrier2{KHR} it's available. %FALSE,
+ otherwise.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ a pointer to VkDependencyInfo
+
+
+
+
+
+ Resets the operation to a clean state.
+
+
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ Retrieves a copy of the current defined barriers internally, which will be
+used by vkCmdPipelineBarrier or vkCmdPipelineBarrier2KHR by the API user.
+
+The element type of the array might be, depending on if synchronization2
+extension is used, either VkImageMemoryBarrier or VkImageMemoryBarrier2KHR.
+
+
+ Current barriers array. Call g_array_unref() after
+ the operation is using.
+
+
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ Add or update the internal list of the future state of @frame. This state
+will be set after gst_vulkan_operation_end().
+
+This method is useful when new barriers are added to the array without using
+gst_vulkan_operation_add_frame_barrier().
+
+
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+ a #GstBuffer to update after submit
+
+
+
+ destination pipeline stage (VkPipelineStageFlags or
+ VkPipelineStageFlags2)
+
+
+
+ the new access flags (VkAccessFlags2 or VkAccessFlags)
+
+
+
+ the new VkImageLayout
+
+
+
+ destination #GstVulkanQueue for a transfer of @frame
+ ownership
+
+
+
+
+
+
+
+ whether the operations are using synchronization2 extension.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+ Waits for the operation's fence to signal.
+
+
+ whether the operation succeed.
+
+
+
+
+ a #GstVulkanOperation
+
+
+
+
+
+
+
+
+ the parent #GstObject
+
+
+
+ the current #GstVulkanCommandBuffer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6124,6 +6599,11 @@ the environment variable.
GstVulkanMemory is a #GstMemory subclass providing support for the mapping of
Vulkan device memory.
+
+
+ A #GstVulkanOperation abstract a queue operation for images adding
+automatically semaphores and barriers. It uses Synchronization2 extension if
+available. Also it enables a VkQueryPool if it's possible and it's requested.
A #GstVulkanPhysicalDevice encapsulates a VkPhysicalDevice