Post PR cleanup

Use rayTracingPipelineProperties from base class instead of expliclity querying it in the sample
This commit is contained in:
Sascha Willems 2024-05-04 14:06:18 +02:00
parent fee8bcb434
commit 9756ad8c23
4 changed files with 7 additions and 39 deletions

View file

@ -1,7 +1,7 @@
/*
* Vulkan Example - Hardware accelerated ray tracing intersection shader samples
*
* Copyright (C) 2023 by Sascha Willems - www.saschawillems.de
* Copyright (C) 2023-2024 by Sascha Willems - www.saschawillems.de
*
* This sample uses intersection shaders for doing prodcedural ray traced geometry
* Instead of passing actual geometry, this samples only passes bounding boxes and sphere descriptions
@ -431,20 +431,12 @@ public:
shaderGroups.push_back(shaderGroup);
}
// Get max pipeline ray tracing recursion depth for physical device
VkPhysicalDeviceRayTracingPipelinePropertiesKHR physicalDeviceRayTracingPipelinePropertiesKHR {};
physicalDeviceRayTracingPipelinePropertiesKHR.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR;
VkPhysicalDeviceProperties2 physicalDeviceProperties2;
physicalDeviceProperties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
physicalDeviceProperties2.pNext = &physicalDeviceRayTracingPipelinePropertiesKHR;
vkGetPhysicalDeviceProperties2(physicalDevice, &physicalDeviceProperties2);
VkRayTracingPipelineCreateInfoKHR rayTracingPipelineCI = vks::initializers::rayTracingPipelineCreateInfoKHR();
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
rayTracingPipelineCI.pStages = shaderStages.data();
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
rayTracingPipelineCI.pGroups = shaderGroups.data();
rayTracingPipelineCI.maxPipelineRayRecursionDepth = std::min(uint32_t(2), physicalDeviceRayTracingPipelinePropertiesKHR.maxRayRecursionDepth);
rayTracingPipelineCI.maxPipelineRayRecursionDepth = std::min(uint32_t(2), rayTracingPipelineProperties.maxRayRecursionDepth);
rayTracingPipelineCI.layout = pipelineLayout;
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
}