| 6205 | } |
| 6206 | |
| 6207 | [[nodiscard]] bool GetMemoryCommandBuffer(VkCommandBuffer *&pMemCommandBuffer) |
| 6208 | { |
| 6209 | auto &MemCommandBuffer = m_vMemoryCommandBuffers[m_CurImageIndex]; |
| 6210 | if(!m_vUsedMemoryCommandBuffer[m_CurImageIndex]) |
| 6211 | { |
| 6212 | m_vUsedMemoryCommandBuffer[m_CurImageIndex] = true; |
| 6213 | |
| 6214 | vkResetCommandBuffer(MemCommandBuffer, VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT); |
| 6215 | |
| 6216 | VkCommandBufferBeginInfo BeginInfo{}; |
| 6217 | BeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; |
| 6218 | BeginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; |
| 6219 | if(vkBeginCommandBuffer(MemCommandBuffer, &BeginInfo) != VK_SUCCESS) |
| 6220 | { |
| 6221 | SetError(EGfxErrorType::GFX_ERROR_TYPE_RENDER_RECORDING, "Command buffer cannot be filled anymore."); |
| 6222 | return false; |
| 6223 | } |
| 6224 | } |
| 6225 | pMemCommandBuffer = &MemCommandBuffer; |
| 6226 | return true; |
| 6227 | } |
| 6228 | |
| 6229 | [[nodiscard]] bool GetGraphicCommandBuffer(VkCommandBuffer *&pDrawCommandBuffer, size_t RenderThreadIndex) |
| 6230 | { |
no outgoing calls
no test coverage detected