Minor cleanup of some vulkan rtx code
This commit is contained in:
parent
0e90098de8
commit
69778667aa
3 changed files with 91 additions and 38 deletions
|
|
@ -545,6 +545,46 @@ std::unique_ptr<VulkanBuffer> BufferBuilder::Create(VulkanDevice* device)
|
|||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
AccelerationStructureBuilder::AccelerationStructureBuilder()
|
||||
{
|
||||
}
|
||||
|
||||
AccelerationStructureBuilder& AccelerationStructureBuilder::Type(VkAccelerationStructureTypeKHR type)
|
||||
{
|
||||
createInfo.type = type;
|
||||
return *this;
|
||||
}
|
||||
|
||||
AccelerationStructureBuilder& AccelerationStructureBuilder::Buffer(VulkanBuffer* buffer, VkDeviceSize size)
|
||||
{
|
||||
createInfo.buffer = buffer->buffer;
|
||||
createInfo.offset = 0;
|
||||
createInfo.size = size;
|
||||
return *this;
|
||||
}
|
||||
|
||||
AccelerationStructureBuilder& AccelerationStructureBuilder::Buffer(VulkanBuffer* buffer, VkDeviceSize offset, VkDeviceSize size)
|
||||
{
|
||||
createInfo.buffer = buffer->buffer;
|
||||
createInfo.offset = offset;
|
||||
createInfo.size = size;
|
||||
return *this;
|
||||
}
|
||||
|
||||
std::unique_ptr<VulkanAccelerationStructure> AccelerationStructureBuilder::Create(VulkanDevice* device)
|
||||
{
|
||||
VkAccelerationStructureKHR hande = {};
|
||||
VkResult result = vkCreateAccelerationStructureKHR(device->device, &createInfo, nullptr, &hande);
|
||||
if (result != VK_SUCCESS)
|
||||
throw std::runtime_error("vkCreateAccelerationStructureKHR failed");
|
||||
auto obj = std::make_unique<VulkanAccelerationStructure>(device, hande);
|
||||
if (debugName)
|
||||
obj->SetDebugName(debugName);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ComputePipelineBuilder::ComputePipelineBuilder()
|
||||
{
|
||||
pipelineInfo.sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue