MCPcopy Create free account
hub / github.com/begla/Intrinsic / initVkCommandPools

Method initVkCommandPools

IntrinsicCore/src/IntrinsicRendererRenderSystem.cpp:1094–1140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1092// <-
1093
1094void RenderSystem::initVkCommandPools()
1095{
1096 _INTR_LOG_INFO("Creating Vulkan command pools...");
1097
1098 // Prim. command pool
1099 {
1100 VkCommandPoolCreateInfo commandPoolCreateInfo = {};
1101 {
1102 commandPoolCreateInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
1103 commandPoolCreateInfo.pNext = nullptr;
1104 commandPoolCreateInfo.queueFamilyIndex =
1105 _vkGraphicsAndComputeQueueFamilyIndex;
1106 commandPoolCreateInfo.flags =
1107 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
1108 }
1109
1110 VkResult result = vkCreateCommandPool(_vkDevice, &commandPoolCreateInfo,
1111 nullptr, &_vkPrimaryCommandPool);
1112 _INTR_VK_CHECK_RESULT(result);
1113 }
1114
1115 // Second. command pool
1116 {
1117 const uint32_t actualSecondCmdPoolCount =
1118 _INTR_VK_SECONDARY_COMMAND_BUFFER_COUNT;
1119 _vkSecondaryCommandPools.resize(actualSecondCmdPoolCount);
1120
1121 for (uint32_t i = 0u; i < actualSecondCmdPoolCount; ++i)
1122 {
1123 VkCommandPoolCreateInfo commandPoolCreateInfo = {};
1124 {
1125 commandPoolCreateInfo.sType =
1126 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
1127 commandPoolCreateInfo.pNext = nullptr;
1128 commandPoolCreateInfo.queueFamilyIndex =
1129 _vkGraphicsAndComputeQueueFamilyIndex;
1130 commandPoolCreateInfo.flags =
1131 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
1132 }
1133
1134 VkResult result =
1135 vkCreateCommandPool(_vkDevice, &commandPoolCreateInfo, nullptr,
1136 &_vkSecondaryCommandPools[i]);
1137 _INTR_VK_CHECK_RESULT(result);
1138 }
1139 }
1140}
1141
1142// <-
1143

Callers

nothing calls this directly

Calls 1

resizeMethod · 0.80

Tested by

no test coverage detected