Diligent::IRenderDeviceVk struct

Exposes Vulkan-specific functionality of a render device.

Contents

Base classes

struct IRenderDevice
Render device interface.

Public functions

auto GetVkDevice() -> VkDevice METHOD() virtual
Returns logical Vulkan device handle.
auto GetVkPhysicalDevice() -> VkPhysicalDevice METHOD() virtual
Returns physical Vulkan device.
auto GetVkInstance() -> VkInstance METHOD() virtual
Returns Vulkan instance.
auto GetVkVersion() -> Uint32 METHOD() virtual
Returns Vulkan API version.
auto GetNextFenceValue(Uint32 QueueIndex) -> Uint64 METHOD() virtual
Returns the fence value that will be signaled by the GPU command queue next.
auto GetCompletedFenceValue(Uint32 QueueIndex) -> Uint64 METHOD() virtual
Returns the last completed fence value for the given command queue.
auto IsFenceSignaled(Uint32 QueueIndex, Uint64 FenceValue) -> Bool METHOD() virtual
Checks if the fence value has been signaled by the GPU. True means that all associated work has been finished.
auto CreateTextureFromVulkanImage(VkImage vkImage, const TextureDesc& TexDesc, RESOURCE_STATE InitialState, ITexture** ppTexture) -> void METHOD() virtual
Creates a texture object from native Vulkan image.
auto CreateBufferFromVulkanResource(VkBuffer vkBuffer, const BufferDesc& BuffDesc, RESOURCE_STATE InitialState, IBuffer** ppBuffer) -> void METHOD() virtual
Creates a buffer object from native Vulkan resource.
auto CreateBLASFromVulkanResource(VkAccelerationStructureKHR vkBLAS, const BottomLevelASDesc& Desc, RESOURCE_STATE InitialState, IBottomLevelAS** ppBLAS) -> void METHOD() virtual
Creates a bottom-level AS object from native Vulkan resource.
auto CreateTLASFromVulkanResource(VkAccelerationStructureKHR vkTLAS, const TopLevelASDesc& Desc, RESOURCE_STATE InitialState, ITopLevelAS** ppTLAS) -> void METHOD() virtual
Creates a top-level AS object from native Vulkan resource.

Function documentation

Uint32 METHOD() Diligent::IRenderDeviceVk::GetVkVersion() virtual

Returns Vulkan API version.

void METHOD() Diligent::IRenderDeviceVk::CreateTextureFromVulkanImage(VkImage vkImage, const TextureDesc& TexDesc, RESOURCE_STATE InitialState, ITexture** ppTexture) virtual

Creates a texture object from native Vulkan image.

Parameters
vkImage in - Vulkan image handle
TexDesc in - Texture description. Vulkan provides no means to retrieve any image properties from the image handle, so complete texture description must be provided
InitialState in - Initial texture state. See Diligent::RESOURCE_STATE.
ppTexture out - Address of the memory location where the pointer to the texture interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

void METHOD() Diligent::IRenderDeviceVk::CreateBufferFromVulkanResource(VkBuffer vkBuffer, const BufferDesc& BuffDesc, RESOURCE_STATE InitialState, IBuffer** ppBuffer) virtual

Creates a buffer object from native Vulkan resource.

Parameters
vkBuffer in - Vulkan buffer handle
BuffDesc in - Buffer description. Vulkan provides no means to retrieve any buffer properties from the buffer handle, so complete buffer description must be provided
InitialState in - Initial buffer state. See Diligent::RESOURCE_STATE.
ppBuffer out - Address of the memory location where the pointer to the buffer interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

void METHOD() Diligent::IRenderDeviceVk::CreateBLASFromVulkanResource(VkAccelerationStructureKHR vkBLAS, const BottomLevelASDesc& Desc, RESOURCE_STATE InitialState, IBottomLevelAS** ppBLAS) virtual

Creates a bottom-level AS object from native Vulkan resource.

Parameters
vkBLAS in - Vulkan acceleration structure handle.
Desc in - Bottom-level AS description.
InitialState in - Initial BLAS state. Can be RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_BUILD_AS_READ, RESOURCE_STATE_BUILD_AS_WRITE. See Diligent::RESOURCE_STATE.
ppBLAS out - Address of the memory location where the pointer to the bottom-level AS interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

void METHOD() Diligent::IRenderDeviceVk::CreateTLASFromVulkanResource(VkAccelerationStructureKHR vkTLAS, const TopLevelASDesc& Desc, RESOURCE_STATE InitialState, ITopLevelAS** ppTLAS) virtual

Creates a top-level AS object from native Vulkan resource.

Parameters
vkTLAS in - Vulkan acceleration structure handle.
Desc in - Bottom-level AS description.
InitialState in - Initial TLAS state. Can be RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_BUILD_AS_READ, RESOURCE_STATE_BUILD_AS_WRITE, RESOURCE_STATE_RAY_TRACING. See Diligent::RESOURCE_STATE.
ppTLAS out - Address of the memory location where the pointer to the top-level AS interface will be stored. The function calls AddRef(), so that the new object will contain one reference.