Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IRenderDeviceD3D11 Struct Referenceabstract

Exposes Direct3D11-specific functionality of a render device. More...

#include <RenderDeviceD3D11.h>

Inheritance diagram for Diligent::IRenderDeviceD3D11:
Diligent.IRenderDevice Diligent.IObject

Public Member Functions

virtual ID3D11Device *DILIGENT_CALL_TYPE GetD3D11Device ()=0
 Returns a pointer to the ID3D11Device interface of the internal Direct3D11 object.
 
virtual void DILIGENT_CALL_TYPE CreateBufferFromD3DResource (ID3D11Buffer *pd3d11Buffer, const BufferDesc &BuffDesc, RESOURCE_STATE InitialState, IBuffer **ppBuffer)=0
 Creates a buffer object from native d3d11 buffer.
 
virtual void DILIGENT_CALL_TYPE CreateTexture1DFromD3DResource (ID3D11Texture1D *pd3d11Texture, RESOURCE_STATE InitialState, ITexture **ppTexture)=0
 Creates a texture object from native d3d11 1D texture.
 
virtual void DILIGENT_CALL_TYPE CreateTexture2DFromD3DResource (ID3D11Texture2D *pd3d11Texture, RESOURCE_STATE InitialState, ITexture **ppTexture)=0
 Creates a texture object from native d3d11 2D texture.
 
virtual void DILIGENT_CALL_TYPE CreateTexture3DFromD3DResource (ID3D11Texture3D *pd3d11Texture, RESOURCE_STATE InitialState, ITexture **ppTexture)=0
 Creates a texture object from native d3d11 3D texture.
 
- Public Member Functions inherited from Diligent.IRenderDevice
virtual void DILIGENT_CALL_TYPE CreateBuffer (const BufferDesc &BuffDesc, const BufferData *pBuffData, IBuffer **ppBuffer)=0
 Creates a new buffer object.
 
virtual void DILIGENT_CALL_TYPE CreateShader (const ShaderCreateInfo &ShaderCI, IShader **ppShader, IDataBlob **ppCompilerOutput=nullptr)=0
 Creates a new shader object.
 
virtual void DILIGENT_CALL_TYPE CreateTexture (const TextureDesc &TexDesc, const TextureData *pData, ITexture **ppTexture)=0
 Creates a new texture object.
 
virtual void DILIGENT_CALL_TYPE CreateSampler (const SamplerDesc &SamDesc, ISampler **ppSampler)=0
 Creates a new sampler object.
 
virtual void DILIGENT_CALL_TYPE CreateResourceMapping (const ResourceMappingCreateInfo &ResMappingCI, IResourceMapping **ppMapping)=0
 Creates a new resource mapping.
 
virtual void DILIGENT_CALL_TYPE CreateGraphicsPipelineState (const GraphicsPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState)=0
 Creates a new graphics pipeline state object.
 
virtual void DILIGENT_CALL_TYPE CreateComputePipelineState (const ComputePipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState)=0
 Creates a new compute pipeline state object.
 
virtual void DILIGENT_CALL_TYPE CreateRayTracingPipelineState (const RayTracingPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState)=0
 Creates a new ray tracing pipeline state object.
 
virtual void DILIGENT_CALL_TYPE CreateTilePipelineState (const TilePipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState)=0
 Creates a new tile pipeline state object.
 
virtual void DILIGENT_CALL_TYPE CreateFence (const FenceDesc &Desc, IFence **ppFence)=0
 Creates a new fence object.
 
virtual void DILIGENT_CALL_TYPE CreateQuery (const QueryDesc &Desc, IQuery **ppQuery)=0
 Creates a new query object.
 
virtual void DILIGENT_CALL_TYPE CreateRenderPass (const RenderPassDesc &Desc, IRenderPass **ppRenderPass)=0
 Creates a render pass object.
 
virtual void DILIGENT_CALL_TYPE CreateFramebuffer (const FramebufferDesc &Desc, IFramebuffer **ppFramebuffer)=0
 Creates a framebuffer object.
 
virtual void DILIGENT_CALL_TYPE CreateBLAS (const BottomLevelASDesc &Desc, IBottomLevelAS **ppBLAS)=0
 Creates a bottom-level acceleration structure object (BLAS).
 
virtual void DILIGENT_CALL_TYPE CreateTLAS (const TopLevelASDesc &Desc, ITopLevelAS **ppTLAS)=0
 Creates a top-level acceleration structure object (TLAS).
 
virtual void DILIGENT_CALL_TYPE CreateSBT (const ShaderBindingTableDesc &Desc, IShaderBindingTable **ppSBT)=0
 Creates a shader resource binding table object (SBT).
 
virtual void DILIGENT_CALL_TYPE CreatePipelineResourceSignature (const PipelineResourceSignatureDesc &Desc, IPipelineResourceSignature **ppSignature)=0
 Creates a pipeline resource signature object.
 
virtual void DILIGENT_CALL_TYPE CreateDeviceMemory (const DeviceMemoryCreateInfo &CreateInfo, IDeviceMemory **ppMemory)=0
 Creates a device memory object.
 
virtual void DILIGENT_CALL_TYPE CreatePipelineStateCache (const PipelineStateCacheCreateInfo &CreateInfo, IPipelineStateCache **ppPSOCache)=0
 Creates a pipeline state cache object.
 
virtual void DILIGENT_CALL_TYPE CreateDeferredContext (IDeviceContext **ppContext)=0
 Creates a deferred context.
 
virtual const RenderDeviceInfo &DILIGENT_CALL_TYPE GetDeviceInfo () const =0
 Returns the device information, see Diligent::RenderDeviceInfo for details.
 
virtual const GraphicsAdapterInfo &DILIGENT_CALL_TYPE GetAdapterInfo () const =0
 Returns the graphics adapter information, see Diligent::GraphicsAdapterInfo for details.
 
virtual const TextureFormatInfo &DILIGENT_CALL_TYPE GetTextureFormatInfo (TEXTURE_FORMAT TexFormat) const =0
 Returns the basic texture format information.
 
virtual const TextureFormatInfoExt &DILIGENT_CALL_TYPE GetTextureFormatInfoExt (TEXTURE_FORMAT TexFormat)=0
 Returns the extended texture format information.
 
virtual SparseTextureFormatInfo DILIGENT_CALL_TYPE GetSparseTextureFormatInfo (TEXTURE_FORMAT TexFormat, RESOURCE_DIMENSION Dimension, Uint32 SampleCount) const =0
 Returns the sparse texture format info for the given texture format, resource dimension and sample count.
 
virtual void DILIGENT_CALL_TYPE ReleaseStaleResources (Bool ForceRelease=false)=0
 
virtual void DILIGENT_CALL_TYPE IdleGPU ()=0
 Waits until all outstanding operations on the GPU are complete.
 
virtual IEngineFactory *DILIGENT_CALL_TYPE GetEngineFactory () const =0
 Returns engine factory this device was created from.
 
virtual IThreadPool *DILIGENT_CALL_TYPE GetShaderCompilationThreadPool () const =0
 Returns a pointer to the shader compilation thread pool.
 
void CreatePipelineState (const GraphicsPipelineStateCreateInfo &CI, IPipelineState **ppPipelineState)
 Overloaded alias for CreateGraphicsPipelineState.
 
void CreatePipelineState (const ComputePipelineStateCreateInfo &CI, IPipelineState **ppPipelineState)
 Overloaded alias for CreateComputePipelineState.
 
void CreatePipelineState (const RayTracingPipelineStateCreateInfo &CI, IPipelineState **ppPipelineState)
 Overloaded alias for CreateRayTracingPipelineState.
 
void CreatePipelineState (const TilePipelineStateCreateInfo &CI, IPipelineState **ppPipelineState)
 Overloaded alias for CreateTilePipelineState.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Exposes Direct3D11-specific functionality of a render device.

Member Function Documentation

◆ CreateBufferFromD3DResource()

virtual void DILIGENT_CALL_TYPE Diligent::IRenderDeviceD3D11::CreateBufferFromD3DResource ( ID3D11Buffer * pd3d11Buffer,
const BufferDesc & BuffDesc,
RESOURCE_STATE InitialState,
IBuffer ** ppBuffer )
pure virtual

Creates a buffer object from native d3d11 buffer.

Parameters
[in]pd3d11Buffer- Pointer to the native buffer
[in]BuffDesc- Buffer description. Most of the fields will be populated automatically if left in default values. The only field that must be populated is BufferDesc::Format, when initializing a formatted buffer.
[in]InitialState- Initial buffer state. See Diligent::RESOURCE_STATE.
[out]ppBuffer- 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.

◆ CreateTexture1DFromD3DResource()

virtual void DILIGENT_CALL_TYPE Diligent::IRenderDeviceD3D11::CreateTexture1DFromD3DResource ( ID3D11Texture1D * pd3d11Texture,
RESOURCE_STATE InitialState,
ITexture ** ppTexture )
pure virtual

Creates a texture object from native d3d11 1D texture.

Parameters
[in]pd3d11Texture- pointer to the native 1D texture
[in]InitialState- Initial texture state. See Diligent::RESOURCE_STATE.
[out]ppTexture- 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.

◆ CreateTexture2DFromD3DResource()

virtual void DILIGENT_CALL_TYPE Diligent::IRenderDeviceD3D11::CreateTexture2DFromD3DResource ( ID3D11Texture2D * pd3d11Texture,
RESOURCE_STATE InitialState,
ITexture ** ppTexture )
pure virtual

Creates a texture object from native d3d11 2D texture.

Parameters
[in]pd3d11Texture- pointer to the native 2D texture
[in]InitialState- Initial texture state. See Diligent::RESOURCE_STATE.
[out]ppTexture- 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.

◆ CreateTexture3DFromD3DResource()

virtual void DILIGENT_CALL_TYPE Diligent::IRenderDeviceD3D11::CreateTexture3DFromD3DResource ( ID3D11Texture3D * pd3d11Texture,
RESOURCE_STATE InitialState,
ITexture ** ppTexture )
pure virtual

Creates a texture object from native d3d11 3D texture.

Parameters
[in]pd3d11Texture- pointer to the native 3D texture
[in]InitialState- Initial texture state. See Diligent::RESOURCE_STATE.
[out]ppTexture- 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.

◆ GetD3D11Device()

virtual ID3D11Device *DILIGENT_CALL_TYPE Diligent::IRenderDeviceD3D11::GetD3D11Device ( )
pure virtual

Returns a pointer to the ID3D11Device interface of the internal Direct3D11 object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.