From ebd8e160fbc236afba97f5c69306c808d70d3837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Wed, 19 Jul 2023 21:26:47 +0200 Subject: [PATCH] vulkan: update gir file Part-of: --- girs/GstVulkan-1.0.gir | 484 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 482 insertions(+), 2 deletions(-) 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