• Home
  • Raw
  • Download

Lines Matching full:pool

31  * @short_description: Vulkan command pool
37 #define GET_PRIV(pool) gst_vulkan_command_pool_get_instance_private (pool) argument
55 "vulkancommandpool", 0, "Vulkan Command Pool"));
60 gst_vulkan_command_pool_init (GstVulkanCommandPool * pool) in gst_vulkan_command_pool_init() argument
62 GstVulkanCommandPoolPrivate *priv = GET_PRIV (pool); in gst_vulkan_command_pool_init()
85 GstVulkanCommandPool *pool = GST_VULKAN_COMMAND_POOL (object); in gst_vulkan_command_pool_finalize() local
86 GstVulkanCommandPoolPrivate *priv = GET_PRIV (pool); in gst_vulkan_command_pool_finalize()
88 gst_vulkan_command_pool_lock (pool); in gst_vulkan_command_pool_finalize()
91 gst_vulkan_command_pool_unlock (pool); in gst_vulkan_command_pool_finalize()
95 ("Destroying a Vulkan command pool that has outstanding buffers!"); in gst_vulkan_command_pool_finalize()
97 if (pool->pool) in gst_vulkan_command_pool_finalize()
98 vkDestroyCommandPool (pool->queue->device->device, pool->pool, NULL); in gst_vulkan_command_pool_finalize()
99 pool->pool = VK_NULL_HANDLE; in gst_vulkan_command_pool_finalize()
101 gst_clear_object (&pool->queue); in gst_vulkan_command_pool_finalize()
110 * @pool: a #GstVulkanCommandPool
112 * Returns: (transfer full): the parent #GstVulkanQueue for this command pool
117 gst_vulkan_command_pool_get_queue (GstVulkanCommandPool * pool) in gst_vulkan_command_pool_get_queue() argument
119 g_return_val_if_fail (GST_IS_VULKAN_COMMAND_POOL (pool), NULL); in gst_vulkan_command_pool_get_queue()
121 return pool->queue ? gst_object_ref (pool->queue) : NULL; in gst_vulkan_command_pool_get_queue()
125 command_alloc (GstVulkanCommandPool * pool, GError ** error) in command_alloc() argument
134 cmd_info.commandPool = pool->pool; in command_alloc()
138 gst_vulkan_command_pool_lock (pool); in command_alloc()
139 err = vkAllocateCommandBuffers (pool->queue->device->device, &cmd_info, &cmd); in command_alloc()
140 gst_vulkan_command_pool_unlock (pool); in command_alloc()
147 GST_LOG_OBJECT (pool, "created cmd buffer %p", buf); in command_alloc()
153 gst_vulkan_command_pool_can_reset (GstVulkanCommandPool * pool) in gst_vulkan_command_pool_can_reset() argument
155 g_return_val_if_fail (GST_IS_VULKAN_COMMAND_POOL (pool), FALSE); in gst_vulkan_command_pool_can_reset()
158 * pool creation */ in gst_vulkan_command_pool_can_reset()
164 * @pool: a #GstVulkanCommandPool
172 gst_vulkan_command_pool_create (GstVulkanCommandPool * pool, GError ** error) in gst_vulkan_command_pool_create() argument
177 g_return_val_if_fail (GST_IS_VULKAN_COMMAND_POOL (pool), NULL); in gst_vulkan_command_pool_create()
179 priv = GET_PRIV (pool); in gst_vulkan_command_pool_create()
181 if (gst_vulkan_command_pool_can_reset (pool)) { in gst_vulkan_command_pool_create()
182 gst_vulkan_command_pool_lock (pool); in gst_vulkan_command_pool_create()
184 gst_vulkan_command_pool_unlock (pool); in gst_vulkan_command_pool_create()
187 cmd = command_alloc (pool, error); in gst_vulkan_command_pool_create()
191 cmd->pool = gst_object_ref (pool); in gst_vulkan_command_pool_create()
193 gst_vulkan_command_pool_lock (pool); in gst_vulkan_command_pool_create()
198 GST_OBJECT_NAME (pool)); in gst_vulkan_command_pool_create()
199 gst_vulkan_command_pool_unlock (pool); in gst_vulkan_command_pool_create()
204 gst_vulkan_command_pool_release_buffer (GstVulkanCommandPool * pool, in gst_vulkan_command_pool_release_buffer() argument
210 g_return_if_fail (GST_IS_VULKAN_COMMAND_POOL (pool)); in gst_vulkan_command_pool_release_buffer()
212 g_return_if_fail (buffer->pool == pool); in gst_vulkan_command_pool_release_buffer()
214 priv = GET_PRIV (pool); in gst_vulkan_command_pool_release_buffer()
215 can_reset = gst_vulkan_command_pool_can_reset (pool); in gst_vulkan_command_pool_release_buffer()
217 gst_vulkan_command_pool_lock (pool); in gst_vulkan_command_pool_release_buffer()
221 GST_TRACE_OBJECT (pool, "reset command buffer %p", buffer); in gst_vulkan_command_pool_release_buffer()
226 gst_vulkan_command_pool_unlock (pool); in gst_vulkan_command_pool_release_buffer()
229 gst_clear_object (&buffer->pool); in gst_vulkan_command_pool_release_buffer()
237 * @pool: a #GstVulkanCommandPool
240 * the pool's internal resources. Any modification of any of the allocated
243 * the Vulkan API requirements that host access to the command pool is
249 gst_vulkan_command_pool_lock (GstVulkanCommandPool * pool) in gst_vulkan_command_pool_lock() argument
252 g_return_if_fail (GST_IS_VULKAN_COMMAND_POOL (pool)); in gst_vulkan_command_pool_lock()
253 priv = GET_PRIV (pool); in gst_vulkan_command_pool_lock()
259 * @pool: a #GstVulkanCommandPool
267 gst_vulkan_command_pool_unlock (GstVulkanCommandPool * pool) in gst_vulkan_command_pool_unlock() argument
270 g_return_if_fail (GST_IS_VULKAN_COMMAND_POOL (pool)); in gst_vulkan_command_pool_unlock()
271 priv = GET_PRIV (pool); in gst_vulkan_command_pool_unlock()