diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-09-14 19:17:10 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-09-14 19:17:10 -0400 |
| commit | 471f9de68e636134a6160057a15af4ba344bc75f (patch) | |
| tree | c1d81f04078ef3ad1a2cfc93134a41d52a212b8b /src | |
| parent | d6744ad270e48b686faf3c0d3eee1b3fc4b541cd (diff) | |
rename and expose graphics-specific vulkan items
Diffstat (limited to 'src')
| -rw-r--r-- | src/window.cpp | 14 | ||||
| -rw-r--r-- | src/window.hpp | 3 |
2 files changed, 13 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); diff --git a/src/window.hpp b/src/window.hpp index 0ff88ad..ff9e677 100644 --- a/src/window.hpp +++ b/src/window.hpp @@ -26,6 +26,9 @@ extern VkPhysicalDeviceProperties vkPhysicalDeviceProperties; extern VkSurfaceKHR vkSurfaceKHR; extern VkDevice vkDevice; extern VkAllocationCallbacks *vkAllocator; +extern VkQueue graphicsQueue; +extern VkCommandPool graphicsCommandPool; +extern VkCommandBuffer graphicsCommandBuffer; extern VkQueue transferQueue; extern VkCommandPool transferCommandPool; extern VkCommandBuffer transferCommandBuffer; |
