Post PR cleanup
Use rayTracingPipelineProperties from base class instead of expliclity querying it in the sample
This commit is contained in:
parent
fee8bcb434
commit
9756ad8c23
4 changed files with 7 additions and 39 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* Relevant code parts are marked with [POI]
|
* Relevant code parts are marked with [POI]
|
||||||
*
|
*
|
||||||
* Copyright (C) 2021-2023 by Sascha Willems - www.saschawillems.de
|
* Copyright (C) 2021-2024 by Sascha Willems - www.saschawillems.de
|
||||||
*
|
*
|
||||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||||
*/
|
*/
|
||||||
|
|
@ -463,20 +463,12 @@ public:
|
||||||
shaderGroups.push_back(shaderGroup);
|
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();
|
VkRayTracingPipelineCreateInfoKHR rayTracingPipelineCI = vks::initializers::rayTracingPipelineCreateInfoKHR();
|
||||||
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
||||||
rayTracingPipelineCI.pStages = shaderStages.data();
|
rayTracingPipelineCI.pStages = shaderStages.data();
|
||||||
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
||||||
rayTracingPipelineCI.pGroups = shaderGroups.data();
|
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;
|
rayTracingPipelineCI.layout = pipelineLayout;
|
||||||
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Vulkan Example - Hardware accelerated ray tracing intersection shader samples
|
* 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
|
* 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
|
* Instead of passing actual geometry, this samples only passes bounding boxes and sphere descriptions
|
||||||
|
|
@ -431,20 +431,12 @@ public:
|
||||||
shaderGroups.push_back(shaderGroup);
|
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();
|
VkRayTracingPipelineCreateInfoKHR rayTracingPipelineCI = vks::initializers::rayTracingPipelineCreateInfoKHR();
|
||||||
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
||||||
rayTracingPipelineCI.pStages = shaderStages.data();
|
rayTracingPipelineCI.pStages = shaderStages.data();
|
||||||
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
||||||
rayTracingPipelineCI.pGroups = shaderGroups.data();
|
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;
|
rayTracingPipelineCI.layout = pipelineLayout;
|
||||||
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* Renders a complex scene doing recursion inside the shaders for creating reflections
|
* Renders a complex scene doing recursion inside the shaders for creating reflections
|
||||||
*
|
*
|
||||||
* Copyright (C) 2019-2023 by Sascha Willems - www.saschawillems.de
|
* Copyright (C) 2019-2024 by Sascha Willems - www.saschawillems.de
|
||||||
*
|
*
|
||||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||||
*/
|
*/
|
||||||
|
|
@ -393,20 +393,12 @@ public:
|
||||||
shaderGroups.push_back(shaderGroup);
|
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();
|
VkRayTracingPipelineCreateInfoKHR rayTracingPipelineCI = vks::initializers::rayTracingPipelineCreateInfoKHR();
|
||||||
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
||||||
rayTracingPipelineCI.pStages = shaderStages.data();
|
rayTracingPipelineCI.pStages = shaderStages.data();
|
||||||
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
||||||
rayTracingPipelineCI.pGroups = shaderGroups.data();
|
rayTracingPipelineCI.pGroups = shaderGroups.data();
|
||||||
rayTracingPipelineCI.maxPipelineRayRecursionDepth = std::min(uint32_t(4), physicalDeviceRayTracingPipelinePropertiesKHR.maxRayRecursionDepth);
|
rayTracingPipelineCI.maxPipelineRayRecursionDepth = std::min(uint32_t(4), rayTracingPipelineProperties.maxRayRecursionDepth);
|
||||||
rayTracingPipelineCI.layout = pipelineLayout;
|
rayTracingPipelineCI.layout = pipelineLayout;
|
||||||
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -393,20 +393,12 @@ public:
|
||||||
shaderGroups.push_back(shaderGroup);
|
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();
|
VkRayTracingPipelineCreateInfoKHR rayTracingPipelineCI = vks::initializers::rayTracingPipelineCreateInfoKHR();
|
||||||
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
rayTracingPipelineCI.stageCount = static_cast<uint32_t>(shaderStages.size());
|
||||||
rayTracingPipelineCI.pStages = shaderStages.data();
|
rayTracingPipelineCI.pStages = shaderStages.data();
|
||||||
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
rayTracingPipelineCI.groupCount = static_cast<uint32_t>(shaderGroups.size());
|
||||||
rayTracingPipelineCI.pGroups = shaderGroups.data();
|
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;
|
rayTracingPipelineCI.layout = pipelineLayout;
|
||||||
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
VK_CHECK_RESULT(vkCreateRayTracingPipelinesKHR(device, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &rayTracingPipelineCI, nullptr, &pipeline));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue