Description

Minimal RAII owner for Vulkan objects required by the Sensor RT backend.

This class deliberately owns only instance/device/queue state. Acceleration structures, descriptor sets, SBTs, and command buffers are layered above it.

#include <ChVulkanRTDevice.h>

Public Member Functions

 ChVulkanRTDevice (const ChVulkanRTDeviceConfig &config={})
 
 ChVulkanRTDevice (const ChVulkanRTDevice &)=delete
 
ChVulkanRTDeviceoperator= (const ChVulkanRTDevice &)=delete
 
VkInstance GetInstance () const
 
VkPhysicalDevice GetPhysicalDevice () const
 
VkDevice GetDevice () const
 
VkQueue GetQueue () const
 
uint32_t GetQueueFamilyIndex () const
 
const VkPhysicalDeviceProperties & GetPhysicalDeviceProperties () const
 
const ChVulkanRTCapabilitiesGetCapabilities () const
 
uint32_t FindMemoryType (uint32_t type_bits, VkMemoryPropertyFlags required_flags) const
 

Public Attributes

PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR = nullptr
 
PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = nullptr
 
PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = nullptr
 
PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR = nullptr
 
PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR = nullptr
 
PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR = nullptr
 
PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = nullptr
 
PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = nullptr
 
PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = nullptr
 

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_sensor/vulkan/ChVulkanRTDevice.h
  • /builds/uwsbel/chrono/src/chrono_sensor/vulkan/ChVulkanRTDevice.cpp