VulkanDevice refactoring
This commit is contained in:
parent
109d3e718d
commit
2e6e9d5eb2
10 changed files with 83 additions and 60 deletions
|
|
@ -116,13 +116,13 @@ namespace vk
|
|||
assert(vulkanDevice);
|
||||
for (auto attachment : attachments)
|
||||
{
|
||||
vkDestroyImage(vulkanDevice->device, attachment.image, nullptr);
|
||||
vkDestroyImageView(vulkanDevice->device, attachment.view, nullptr);
|
||||
vkFreeMemory(vulkanDevice->device, attachment.memory, nullptr);
|
||||
vkDestroyImage(vulkanDevice->logicalDevice, attachment.image, nullptr);
|
||||
vkDestroyImageView(vulkanDevice->logicalDevice, attachment.view, nullptr);
|
||||
vkFreeMemory(vulkanDevice->logicalDevice, attachment.memory, nullptr);
|
||||
}
|
||||
vkDestroySampler(vulkanDevice->device, sampler, nullptr);
|
||||
vkDestroyRenderPass(vulkanDevice->device, renderPass, nullptr);
|
||||
vkDestroyFramebuffer(vulkanDevice->device, framebuffer, nullptr);
|
||||
vkDestroySampler(vulkanDevice->logicalDevice, sampler, nullptr);
|
||||
vkDestroyRenderPass(vulkanDevice->logicalDevice, renderPass, nullptr);
|
||||
vkDestroyFramebuffer(vulkanDevice->logicalDevice, framebuffer, nullptr);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -185,12 +185,12 @@ namespace vk
|
|||
VkMemoryRequirements memReqs;
|
||||
|
||||
// Create image for this attachment
|
||||
VK_CHECK_RESULT(vkCreateImage(vulkanDevice->device, &image, nullptr, &attachment.image));
|
||||
vkGetImageMemoryRequirements(vulkanDevice->device, attachment.image, &memReqs);
|
||||
VK_CHECK_RESULT(vkCreateImage(vulkanDevice->logicalDevice, &image, nullptr, &attachment.image));
|
||||
vkGetImageMemoryRequirements(vulkanDevice->logicalDevice, attachment.image, &memReqs);
|
||||
memAlloc.allocationSize = memReqs.size;
|
||||
memAlloc.memoryTypeIndex = vulkanDevice->getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
|
||||
VK_CHECK_RESULT(vkAllocateMemory(vulkanDevice->device, &memAlloc, nullptr, &attachment.memory));
|
||||
VK_CHECK_RESULT(vkBindImageMemory(vulkanDevice->device, attachment.image, attachment.memory, 0));
|
||||
VK_CHECK_RESULT(vkAllocateMemory(vulkanDevice->logicalDevice, &memAlloc, nullptr, &attachment.memory));
|
||||
VK_CHECK_RESULT(vkBindImageMemory(vulkanDevice->logicalDevice, attachment.image, attachment.memory, 0));
|
||||
|
||||
attachment.subresourceRange = {};
|
||||
attachment.subresourceRange.aspectMask = aspectMask;
|
||||
|
|
@ -214,7 +214,7 @@ namespace vk
|
|||
//todo: workaround for depth+stencil attachments
|
||||
imageView.subresourceRange.aspectMask = (attachment.hasDepth()) ? VK_IMAGE_ASPECT_DEPTH_BIT : aspectMask;
|
||||
imageView.image = attachment.image;
|
||||
VK_CHECK_RESULT(vkCreateImageView(vulkanDevice->device, &imageView, nullptr, &attachment.view));
|
||||
VK_CHECK_RESULT(vkCreateImageView(vulkanDevice->logicalDevice, &imageView, nullptr, &attachment.view));
|
||||
|
||||
// Fill attachment description
|
||||
attachment.description = {};
|
||||
|
|
@ -264,7 +264,7 @@ namespace vk
|
|||
samplerInfo.minLod = 0.0f;
|
||||
samplerInfo.maxLod = 1.0f;
|
||||
samplerInfo.borderColor = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE;
|
||||
return vkCreateSampler(vulkanDevice->device, &samplerInfo, nullptr, &sampler);
|
||||
return vkCreateSampler(vulkanDevice->logicalDevice, &samplerInfo, nullptr, &sampler);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -326,7 +326,7 @@ namespace vk
|
|||
renderPassInfo.attachmentCount = static_cast<uint32_t>(attachmentDescriptions.size());
|
||||
renderPassInfo.subpassCount = 1;
|
||||
renderPassInfo.pSubpasses = &subpass;
|
||||
VK_CHECK_RESULT(vkCreateRenderPass(vulkanDevice->device, &renderPassInfo, nullptr, &renderPass));
|
||||
VK_CHECK_RESULT(vkCreateRenderPass(vulkanDevice->logicalDevice, &renderPassInfo, nullptr, &renderPass));
|
||||
|
||||
std::vector<VkImageView> attachmentViews;
|
||||
for (auto attachment : attachments)
|
||||
|
|
@ -352,7 +352,7 @@ namespace vk
|
|||
framebufferInfo.width = width;
|
||||
framebufferInfo.height = height;
|
||||
framebufferInfo.layers = maxLayers;
|
||||
VK_CHECK_RESULT(vkCreateFramebuffer(vulkanDevice->device, &framebufferInfo, nullptr, &framebuffer));
|
||||
VK_CHECK_RESULT(vkCreateFramebuffer(vulkanDevice->logicalDevice, &framebufferInfo, nullptr, &framebuffer));
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue