Diligent::IRenderDeviceD3D12 struct

Exposes Direct3D12-specific functionality of a render device.

Contents

Base classes

struct IRenderDevice
Render device interface.

Public functions

auto GetD3D12Device() -> ID3D12Device*METHOD() virtual
Returns ID3D12Device interface of the internal Direct3D12 device object.
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 CreateTextureFromD3DResource(ID3D12Resource* pd3d12Texture, RESOURCE_STATE InitialState, ITexture** ppTexture) -> void METHOD() virtual
Creates a texture object from native d3d12 resource.
auto CreateBufferFromD3DResource(ID3D12Resource* pd3d12Buffer, const BufferDesc& BuffDesc, RESOURCE_STATE InitialState, IBuffer** ppBuffer) -> void METHOD() virtual
Creates a buffer object from native d3d12 resoruce.
auto CreateBLASFromD3DResource(ID3D12Resource* pd3d12BLAS, const BottomLevelASDesc& Desc, RESOURCE_STATE InitialState, IBottomLevelAS** ppBLAS) -> void METHOD() virtual
Creates a bottom-level AS object from native d3d12 resoruce.
auto CreateTLASFromD3DResource(ID3D12Resource* pd3d12TLAS, const TopLevelASDesc& Desc, RESOURCE_STATE InitialState, ITopLevelAS** ppTLAS) -> void METHOD() virtual
Creates a top-level AS object from native d3d12 resoruce.

Function documentation

ID3D12Device*METHOD() Diligent::IRenderDeviceD3D12::GetD3D12Device() virtual

Returns ID3D12Device interface of the internal Direct3D12 device object.

The method does NOT call AddRef() on the returned interface, so Release() must not be called.

void METHOD() Diligent::IRenderDeviceD3D12::CreateTextureFromD3DResource(ID3D12Resource* pd3d12Texture, RESOURCE_STATE InitialState, ITexture** ppTexture) virtual

Creates a texture object from native d3d12 resource.

Parameters
pd3d12Texture in - pointer to the native D3D12 texture
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::IRenderDeviceD3D12::CreateBufferFromD3DResource(ID3D12Resource* pd3d12Buffer, const BufferDesc& BuffDesc, RESOURCE_STATE InitialState, IBuffer** ppBuffer) virtual

Creates a buffer object from native d3d12 resoruce.

Parameters
pd3d12Buffer in - Pointer to the native d3d12 buffer resource
BuffDesc in - Buffer description. The system can recover buffer size, but the rest of the fields need to be populated by the client as they cannot be recovered from d3d12 resource description
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::IRenderDeviceD3D12::CreateBLASFromD3DResource(ID3D12Resource* pd3d12BLAS, const BottomLevelASDesc& Desc, RESOURCE_STATE InitialState, IBottomLevelAS** ppBLAS) virtual

Creates a bottom-level AS object from native d3d12 resoruce.

Parameters
pd3d12BLAS in - Pointer to the native d3d12 acceleration structure resource
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::IRenderDeviceD3D12::CreateTLASFromD3DResource(ID3D12Resource* pd3d12TLAS, const TopLevelASDesc& Desc, RESOURCE_STATE InitialState, ITopLevelAS** ppTLAS) virtual

Creates a top-level AS object from native d3d12 resoruce.

Parameters
pd3d12TLAS in - Pointer to the native d3d12 acceleration structure resource
Desc in - Top-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.