• Home
  • Raw
  • Download

Lines Matching full:cmd

45 vn_cmd_get_image_memory_barriers(struct vn_command_buffer *cmd,  in vn_cmd_get_image_memory_barriers()  argument
49 if (count > cmd->builder.image_barrier_count) { in vn_cmd_get_image_memory_barriers()
52 vk_realloc(&cmd->allocator, cmd->builder.image_barriers, size, in vn_cmd_get_image_memory_barriers()
58 cmd->builder.image_barrier_count = count; in vn_cmd_get_image_memory_barriers()
59 cmd->builder.image_barriers = img_barriers; in vn_cmd_get_image_memory_barriers()
62 return cmd->builder.image_barriers; in vn_cmd_get_image_memory_barriers()
128 vn_cmd_fix_image_memory_barrier(const struct vn_command_buffer *cmd, in vn_cmd_fix_image_memory_barrier() argument
167 dst_qfi == cmd->queue_family_index) { in vn_cmd_fix_image_memory_barrier()
169 out_barrier->dstQueueFamilyIndex = cmd->queue_family_index; in vn_cmd_fix_image_memory_barrier()
190 src_qfi == cmd->queue_family_index) { in vn_cmd_fix_image_memory_barrier()
191 out_barrier->srcQueueFamilyIndex = cmd->queue_family_index; in vn_cmd_fix_image_memory_barrier()
208 struct vn_command_buffer *cmd, in vn_cmd_wait_events_fix_image_memory_barriers() argument
215 if (cmd->builder.render_pass || in vn_cmd_wait_events_fix_image_memory_barriers()
220 vn_cmd_get_image_memory_barriers(cmd, count * 2); in vn_cmd_wait_events_fix_image_memory_barriers()
222 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_cmd_wait_events_fix_image_memory_barriers()
236 vn_cmd_fix_image_memory_barrier(cmd, &src_barriers[i], img_barrier); in vn_cmd_wait_events_fix_image_memory_barriers()
264 struct vn_command_buffer *cmd, in vn_cmd_pipeline_barrier_fix_image_memory_barriers() argument
268 if (cmd->builder.render_pass || in vn_cmd_pipeline_barrier_fix_image_memory_barriers()
273 vn_cmd_get_image_memory_barriers(cmd, count); in vn_cmd_pipeline_barrier_fix_image_memory_barriers()
275 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_cmd_pipeline_barrier_fix_image_memory_barriers()
280 vn_cmd_fix_image_memory_barrier(cmd, &src_barriers[i], in vn_cmd_pipeline_barrier_fix_image_memory_barriers()
288 vn_cmd_encode_memory_barriers(struct vn_command_buffer *cmd, in vn_cmd_encode_memory_barriers() argument
296 const VkCommandBuffer cmd_handle = vn_command_buffer_to_handle(cmd); in vn_cmd_encode_memory_barriers()
329 struct vn_command_buffer *cmd, in vn_cmd_transfer_present_src_images() argument
335 vn_cmd_get_image_memory_barriers(cmd, count); in vn_cmd_transfer_present_src_images()
337 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_cmd_transfer_present_src_images()
349 vn_cmd_fix_image_memory_barrier(cmd, &img_barriers[i], in vn_cmd_transfer_present_src_images()
356 vn_cmd_encode_memory_barriers(cmd, src_stage_mask, dst_stage_mask, 0, NULL, in vn_cmd_transfer_present_src_images()
361 vn_cmd_begin_render_pass(struct vn_command_buffer *cmd, in vn_cmd_begin_render_pass() argument
366 cmd->builder.render_pass = pass; in vn_cmd_begin_render_pass()
367 cmd->builder.framebuffer = fb; in vn_cmd_begin_render_pass()
370 cmd->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY) in vn_cmd_begin_render_pass()
389 vk_alloc(&cmd->allocator, sizeof(*images) * pass->present_src_count, in vn_cmd_begin_render_pass()
392 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_cmd_begin_render_pass()
404 cmd, images, pass->present_src_attachments, pass->acquire_count); in vn_cmd_begin_render_pass()
407 cmd->builder.present_src_images = images; in vn_cmd_begin_render_pass()
411 vn_cmd_end_render_pass(struct vn_command_buffer *cmd) in vn_cmd_end_render_pass() argument
413 const struct vn_render_pass *pass = cmd->builder.render_pass; in vn_cmd_end_render_pass()
415 cmd->builder.render_pass = NULL; in vn_cmd_end_render_pass()
416 cmd->builder.framebuffer = NULL; in vn_cmd_end_render_pass()
418 if (!pass->present_src_count || !cmd->builder.present_src_images) in vn_cmd_end_render_pass()
421 const struct vn_image **images = cmd->builder.present_src_images; in vn_cmd_end_render_pass()
422 cmd->builder.present_src_images = NULL; in vn_cmd_end_render_pass()
426 cmd, images + pass->acquire_count, in vn_cmd_end_render_pass()
431 vk_free(&cmd->allocator, images); in vn_cmd_end_render_pass()
490 list_for_each_entry_safe(struct vn_command_buffer, cmd, in vn_DestroyCommandPool()
492 vn_cs_encoder_fini(&cmd->cs); in vn_DestroyCommandPool()
493 vn_object_base_fini(&cmd->base); in vn_DestroyCommandPool()
494 vk_free(alloc, cmd); in vn_DestroyCommandPool()
510 list_for_each_entry_safe(struct vn_command_buffer, cmd, in vn_ResetCommandPool()
512 vn_cs_encoder_reset(&cmd->cs); in vn_ResetCommandPool()
513 cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; in vn_ResetCommandPool()
546 struct vn_command_buffer *cmd = in vn_AllocateCommandBuffers() local
547 vk_zalloc(alloc, sizeof(*cmd), VN_DEFAULT_ALIGN, in vn_AllocateCommandBuffers()
549 if (!cmd) { in vn_AllocateCommandBuffers()
551 cmd = vn_command_buffer_from_handle(pCommandBuffers[j]); in vn_AllocateCommandBuffers()
552 vn_cs_encoder_fini(&cmd->cs); in vn_AllocateCommandBuffers()
553 list_del(&cmd->head); in vn_AllocateCommandBuffers()
554 vn_object_base_fini(&cmd->base); in vn_AllocateCommandBuffers()
555 vk_free(alloc, cmd); in vn_AllocateCommandBuffers()
562 vn_object_base_init(&cmd->base, VK_OBJECT_TYPE_COMMAND_BUFFER, in vn_AllocateCommandBuffers()
564 cmd->device = dev; in vn_AllocateCommandBuffers()
565 cmd->allocator = pool->allocator; in vn_AllocateCommandBuffers()
566 cmd->level = pAllocateInfo->level; in vn_AllocateCommandBuffers()
567 cmd->queue_family_index = pool->queue_family_index; in vn_AllocateCommandBuffers()
569 list_addtail(&cmd->head, &pool->command_buffers); in vn_AllocateCommandBuffers()
571 cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; in vn_AllocateCommandBuffers()
572 vn_cs_encoder_init(&cmd->cs, dev->instance, in vn_AllocateCommandBuffers()
575 VkCommandBuffer cmd_handle = vn_command_buffer_to_handle(cmd); in vn_AllocateCommandBuffers()
600 struct vn_command_buffer *cmd = in vn_FreeCommandBuffers() local
603 if (!cmd) in vn_FreeCommandBuffers()
606 if (cmd->builder.image_barriers) in vn_FreeCommandBuffers()
607 vk_free(alloc, cmd->builder.image_barriers); in vn_FreeCommandBuffers()
609 vn_cs_encoder_fini(&cmd->cs); in vn_FreeCommandBuffers()
610 list_del(&cmd->head); in vn_FreeCommandBuffers()
612 vn_object_base_fini(&cmd->base); in vn_FreeCommandBuffers()
613 vk_free(alloc, cmd); in vn_FreeCommandBuffers()
622 struct vn_command_buffer *cmd = in vn_ResetCommandBuffer() local
625 vn_cs_encoder_reset(&cmd->cs); in vn_ResetCommandBuffer()
626 cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; in vn_ResetCommandBuffer()
627 cmd->draw_cmd_batched = 0; in vn_ResetCommandBuffer()
629 vn_async_vkResetCommandBuffer(cmd->device->instance, commandBuffer, flags); in vn_ResetCommandBuffer()
643 vn_fix_command_buffer_begin_info(struct vn_command_buffer *cmd, in vn_fix_command_buffer_begin_info() argument
653 cmd->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY; in vn_fix_command_buffer_begin_info()
727 struct vn_command_buffer *cmd = in vn_BeginCommandBuffer() local
729 struct vn_instance *instance = cmd->device->instance; in vn_BeginCommandBuffer()
732 vn_cs_encoder_reset(&cmd->cs); in vn_BeginCommandBuffer()
733 cmd->draw_cmd_batched = 0; in vn_BeginCommandBuffer()
737 vn_fix_command_buffer_begin_info(cmd, pBeginInfo, &local_begin_info); in vn_BeginCommandBuffer()
740 if (!vn_cs_encoder_reserve(&cmd->cs, cmd_size)) { in vn_BeginCommandBuffer()
741 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_BeginCommandBuffer()
745 vn_encode_vkBeginCommandBuffer(&cmd->cs, 0, commandBuffer, pBeginInfo); in vn_BeginCommandBuffer()
747 cmd->state = VN_COMMAND_BUFFER_STATE_RECORDING; in vn_BeginCommandBuffer()
753 cmd, vn_render_pass_from_handle(inheritance_info->renderPass), in vn_BeginCommandBuffer()
761 vn_cmd_submit(struct vn_command_buffer *cmd) in vn_cmd_submit() argument
763 struct vn_instance *instance = cmd->device->instance; in vn_cmd_submit()
765 if (cmd->state != VN_COMMAND_BUFFER_STATE_RECORDING) in vn_cmd_submit()
768 vn_cs_encoder_commit(&cmd->cs); in vn_cmd_submit()
769 if (vn_cs_encoder_get_fatal(&cmd->cs)) { in vn_cmd_submit()
770 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_cmd_submit()
771 vn_cs_encoder_reset(&cmd->cs); in vn_cmd_submit()
776 vn_instance_wait_roundtrip(instance, cmd->cs.current_buffer_roundtrip); in vn_cmd_submit()
778 if (vn_instance_ring_submit(instance, &cmd->cs) != VK_SUCCESS) { in vn_cmd_submit()
779 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_cmd_submit()
783 vn_cs_encoder_reset(&cmd->cs); in vn_cmd_submit()
784 cmd->draw_cmd_batched = 0; in vn_cmd_submit()
788 vn_cmd_count_draw_and_submit_on_batch_limit(struct vn_command_buffer *cmd) in vn_cmd_count_draw_and_submit_on_batch_limit() argument
790 if (++cmd->draw_cmd_batched >= vn_env.draw_cmd_batch_limit) in vn_cmd_count_draw_and_submit_on_batch_limit()
791 vn_cmd_submit(cmd); in vn_cmd_count_draw_and_submit_on_batch_limit()
798 struct vn_command_buffer *cmd = in vn_EndCommandBuffer() local
800 struct vn_instance *instance = cmd->device->instance; in vn_EndCommandBuffer()
803 if (cmd->state != VN_COMMAND_BUFFER_STATE_RECORDING) in vn_EndCommandBuffer()
807 if (!vn_cs_encoder_reserve(&cmd->cs, cmd_size)) { in vn_EndCommandBuffer()
808 cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; in vn_EndCommandBuffer()
812 vn_encode_vkEndCommandBuffer(&cmd->cs, 0, commandBuffer); in vn_EndCommandBuffer()
814 vn_cmd_submit(cmd); in vn_EndCommandBuffer()
815 if (cmd->state == VN_COMMAND_BUFFER_STATE_INVALID) in vn_EndCommandBuffer()
818 cmd->state = VN_COMMAND_BUFFER_STATE_EXECUTABLE; in vn_EndCommandBuffer()
1164 vn_transition_prime_layout(struct vn_command_buffer *cmd, VkBuffer dst_buffer) in vn_transition_prime_layout() argument
1169 .srcQueueFamilyIndex = cmd->queue_family_index, in vn_transition_prime_layout()
1174 vn_cmd_encode_memory_barriers(cmd, VK_PIPELINE_STAGE_TRANSFER_BIT, in vn_transition_prime_layout()
1187 struct vn_command_buffer *cmd = in vn_CmdCopyImageToBuffer() local
1198 vn_transition_prime_layout(cmd, dstBuffer); in vn_CmdCopyImageToBuffer()
1206 struct vn_command_buffer *cmd = in vn_CmdCopyImageToBuffer2() local
1218 vn_transition_prime_layout(cmd, copy_info.dstBuffer); in vn_CmdCopyImageToBuffer2()
1333 struct vn_command_buffer *cmd = in vn_CmdWaitEvents() local
1338 cmd, pImageMemoryBarriers, imageMemoryBarrierCount, &transfer_count); in vn_CmdWaitEvents()
1349 vn_cmd_encode_memory_barriers(cmd, srcStageMask, dstStageMask, 0, NULL, in vn_CmdWaitEvents()
1366 struct vn_command_buffer *cmd = in vn_CmdPipelineBarrier() local
1370 cmd, pImageMemoryBarriers, imageMemoryBarrierCount); in vn_CmdPipelineBarrier()
1448 struct vn_command_buffer *cmd = in vn_CmdBeginRenderPass() local
1452 cmd, vn_render_pass_from_handle(pRenderPassBegin->renderPass), in vn_CmdBeginRenderPass()
1469 struct vn_command_buffer *cmd = in vn_CmdEndRenderPass() local
1474 vn_cmd_end_render_pass(cmd); in vn_CmdEndRenderPass()
1482 struct vn_command_buffer *cmd = in vn_CmdBeginRenderPass2() local
1486 cmd, vn_render_pass_from_handle(pRenderPassBegin->renderPass), in vn_CmdBeginRenderPass2()
1507 struct vn_command_buffer *cmd = in vn_CmdEndRenderPass2() local
1512 vn_cmd_end_render_pass(cmd); in vn_CmdEndRenderPass2()