| 23 | namespace core |
| 24 | { |
| 25 | vkb::core::CommandPoolBase::CommandPoolBase(vkb::core::DeviceCpp &device_, |
| 26 | uint32_t queue_family_index, |
| 27 | vkb::rendering::RenderFrameCpp *render_frame_, |
| 28 | size_t thread_index, |
| 29 | vkb::CommandBufferResetMode reset_mode) : |
| 30 | device{device_}, render_frame{render_frame_}, thread_index{thread_index}, reset_mode{reset_mode} |
| 31 | { |
| 32 | vk::CommandPoolCreateFlags flags; |
| 33 | switch (reset_mode) |
| 34 | { |
| 35 | case vkb::CommandBufferResetMode::ResetIndividually: |
| 36 | case vkb::CommandBufferResetMode::AlwaysAllocate: |
| 37 | flags = vk::CommandPoolCreateFlagBits::eResetCommandBuffer; |
| 38 | break; |
| 39 | case vkb::CommandBufferResetMode::ResetPool: |
| 40 | default: |
| 41 | flags = vk::CommandPoolCreateFlagBits::eTransient; |
| 42 | break; |
| 43 | } |
| 44 | |
| 45 | vk::CommandPoolCreateInfo command_pool_create_info{.flags = flags, .queueFamilyIndex = queue_family_index}; |
| 46 | |
| 47 | handle = device.get_handle().createCommandPool(command_pool_create_info); |
| 48 | } |
| 49 | |
| 50 | CommandPoolBase::CommandPoolBase(CommandPoolBase &&other) : |
| 51 | device{other.device}, |
nothing calls this directly
no test coverage detected