Closed flowerdancedatou closed 3 years ago
BufferTransition pre_transfer_transition = { *UniformBuffer, // VkBuffer Buffer VK_ACCESS_UNIFORM_READ_BIT, // VkAccessFlags CurrentAccess VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags NewAccess VK_QUEUE_FAMILY_IGNORED, // uint32_t CurrentQueueFamily VK_QUEUE_FAMILY_IGNORED // uint32_t NewQueueFamily };
SetBufferMemoryBarrier( command_buffer, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, { pre_transfer_transition } ); std::vector<VkBufferCopy> regions = { { 0, // VkDeviceSize srcOffset 0, // VkDeviceSize dstOffset 2 * 16 * sizeof(float) // VkDeviceSize size } }; CopyDataBetweenBuffers(command_buffer, *StagingBuffer, *UniformBuffer, regions); BufferTransition post_transfer_transition = { *UniformBuffer, // VkBuffer Buffer VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags CurrentAccess VK_ACCESS_UNIFORM_READ_BIT, // VkAccessFlags NewAccess VK_QUEUE_FAMILY_IGNORED, // uint32_t CurrentQueueFamily VK_QUEUE_FAMILY_IGNORED // uint32_t NewQueueFamily }; SetBufferMemoryBarrier( command_buffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, { post_transfer_transition } );
Is it deadlock?
BufferTransition pre_transfer_transition = { *UniformBuffer, // VkBuffer Buffer VK_ACCESS_UNIFORM_READ_BIT, // VkAccessFlags CurrentAccess VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags NewAccess VK_QUEUE_FAMILY_IGNORED, // uint32_t CurrentQueueFamily VK_QUEUE_FAMILY_IGNORED // uint32_t NewQueueFamily };
Is it deadlock?