Inside of test/vulkan_probe.h there is a function system_has_vk_device() that is used to probe (at runtime) whether the current system has a Vulkan capable device available.
I think I originally wrote this essentially as as quick stop to make sure that even if GPRT was enabled at configuration time an additional check at runtime was performed to skip generation of any GPRT tests if there is no vulkan ready device available. But @pshriwise rightly pointed out that this should probably live inside of the GPRTRayTracer() constructor too.
It is also probably worth extending the checks to also query which Vulkan extensions are available on that device too. As there will be some GPUs which may have some vulkan support but not the full set of extensions needed for Vulkan ray tracing via GPRT.
Inside of
test/vulkan_probe.hthere is a functionsystem_has_vk_device()that is used to probe (at runtime) whether the current system has a Vulkan capable device available.I think I originally wrote this essentially as as quick stop to make sure that even if GPRT was enabled at configuration time an additional check at runtime was performed to skip generation of any GPRT tests if there is no vulkan ready device available. But @pshriwise rightly pointed out that this should probably live inside of the
GPRTRayTracer()constructor too.It is also probably worth extending the checks to also query which Vulkan extensions are available on that device too. As there will be some GPUs which may have some vulkan support but not the full set of extensions needed for Vulkan ray tracing via GPRT.