Context & Goal
To support performing hardware-accelerated ray tracing within our wrapper, we need to have APIs that support for creating these Vulkan handles. This includes handling the boilerplate for creating handles for the ray tracing pipelines.
vulkan-cpp should only expose the parameters that are going to be necessary for the user to create their handles and automatically use them to perform some operation with minimal setup.
This issue is to introduce API's for specifically the ray tracing pipeline where we may wrap around the creating the pipeline handles created via VkRayTracingPipelineCreateInfoKHR.
Enabling Ray Tracing Pipelines
We would need to enable the VK_KHR_ray_tracing_pipeline extension to have this be enabled.
Parameters to set for vkCreateRayTracingPipelineKHR
typedef struct VkRayTracingPipelineCreateInfoKHR {
VkStructureType sType;
const void* pNext;
VkPipelineCreateFlags flags;
uint32_t stageCount;
const VkPipelineShaderStageCreateInfo* pStages;
uint32_t groupCount;
const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
uint32_t maxPipelineRayRecursionDepth;
const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
const VkPipelineDynamicStateCreateInfo* pDynamicState;
VkPipelineLayout layout;
VkPipeline basePipelineHandle;
int32_t basePipelineIndex;
} VkRayTracingPipelineCreateInfoKHR;
Expected for Task Completion
This proposal will require a stable working wrapper that allows for immediate successfully in creating a ray tracing pipeline with minimal effort.
As for what form that will take, is tbd as the API designs and how these gets created are going to be updated via a comment for this issue or part of the details associated with the PR for this issue.
Context & Goal
To support performing hardware-accelerated ray tracing within our wrapper, we need to have APIs that support for creating these Vulkan handles. This includes handling the boilerplate for creating handles for the ray tracing pipelines.
vulkan-cpp should only expose the parameters that are going to be necessary for the user to create their handles and automatically use them to perform some operation with minimal setup.
This issue is to introduce API's for specifically the ray tracing pipeline where we may wrap around the creating the pipeline handles created via
VkRayTracingPipelineCreateInfoKHR.Enabling Ray Tracing Pipelines
We would need to enable the
VK_KHR_ray_tracing_pipelineextension to have this be enabled.Parameters to set for
vkCreateRayTracingPipelineKHRExpected for Task Completion
This proposal will require a stable working wrapper that allows for immediate successfully in creating a ray tracing pipeline with minimal effort.
As for what form that will take, is tbd as the API designs and how these gets created are going to be updated via a comment for this issue or part of the details associated with the PR for this issue.