summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-09-14 19:17:10 -0400
committerJonathan Bradley <jcb@pikum.xyz>2023-09-14 19:17:10 -0400
commit471f9de68e636134a6160057a15af4ba344bc75f (patch)
treec1d81f04078ef3ad1a2cfc93134a41d52a212b8b /src/window.cpp
parentd6744ad270e48b686faf3c0d3eee1b3fc4b541cd (diff)
rename and expose graphics-specific vulkan items
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/window.cpp b/src/window.cpp
index 443fdea..1c53d7b 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -54,7 +54,8 @@ VkPipeline graphicsPipeline;
VkFramebuffer *swapchainFramebuffers = nullptr;
VkCommandPool transferCommandPool;
VkCommandBuffer transferCommandBuffer;
-VkCommandPool vkCommandPool;
+VkCommandPool graphicsCommandPool;
+VkCommandBuffer graphicsCommandBuffer;
VkCommandBuffer presentCommandBuffers[MAX_FRAMES_IN_FLIGHT];
VkSemaphore presentImageAvailableSemaphores[MAX_FRAMES_IN_FLIGHT];
VkSemaphore presentRenderFinishedSemaphores[MAX_FRAMES_IN_FLIGHT];
@@ -837,7 +838,7 @@ void CreateCommandPool() {
poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
poolInfo.queueFamilyIndex = graphicsFamilyIndex;
- auto result = vkCreateCommandPool(vkDevice, &poolInfo, vkAllocator, &vkCommandPool);
+ auto result = vkCreateCommandPool(vkDevice, &poolInfo, vkAllocator, &graphicsCommandPool);
if (result != VK_SUCCESS) {
throw "failed to create command pool";
}
@@ -853,7 +854,7 @@ void CreateCommandPool() {
void CreateCommandBuffer() {
VkCommandBufferAllocateInfo allocInfo{};
allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
- allocInfo.commandPool = vkCommandPool;
+ allocInfo.commandPool = graphicsCommandPool;
allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
allocInfo.commandBufferCount = MAX_FRAMES_IN_FLIGHT;
@@ -863,6 +864,11 @@ void CreateCommandBuffer() {
}
allocInfo.commandBufferCount = 1;
+ result = vkAllocateCommandBuffers(vkDevice, &allocInfo, &graphicsCommandBuffer);
+ if (result != VK_SUCCESS) {
+ throw "failed to allocate command buffer";
+ }
+
allocInfo.commandPool = transferCommandPool;
result = vkAllocateCommandBuffers(vkDevice, &allocInfo, &transferCommandBuffer);
if (result != VK_SUCCESS) {
@@ -1131,7 +1137,7 @@ void DestroyWindow() {
vkDestroySemaphore(vkDevice, presentRenderFinishedSemaphores[i], vkAllocator);
vkDestroyFence(vkDevice, presentInFlightFences[i], vkAllocator);
}
- vkDestroyCommandPool(vkDevice, vkCommandPool, vkAllocator);
+ vkDestroyCommandPool(vkDevice, graphicsCommandPool, vkAllocator);
vkDestroyCommandPool(vkDevice, transferCommandPool, vkAllocator);
vkDestroyPipeline(vkDevice, graphicsPipeline, vkAllocator);
vkDestroyPipelineLayout(vkDevice, pipelineLayout, vkAllocator);