Exposes Metal-specific functionality of a render device. More...
#include <RenderDeviceMtl.h>
Public Member Functions | |
virtual id< MTLDevice > DILIGENT_CALL_TYPE | GetMtlDevice () const =0 |
Returns the pointer to Metal device (MTLDevice). | |
virtual void DILIGENT_CALL_TYPE | CreateTextureFromMtlResource (id< MTLTexture > mtlTexture, RESOURCE_STATE InitialState, ITexture **ppTexture)=0 |
Creates a texture from existing Metal resource. | |
virtual void DILIGENT_CALL_TYPE | CreateBufferFromMtlResource (id< MTLBuffer > mtlBuffer, const BufferDesc &BuffDesc, RESOURCE_STATE InitialState, IBuffer **ppBuffer)=0 |
Creates a buffer from existing Metal resource. | |
virtual void DILIGENT_CALL_TYPE | CreateBLASFromMtlResource (id< MTLAccelerationStructure > mtlBLAS, const BottomLevelASDesc &Desc, RESOURCE_STATE InitialState, IBottomLevelAS **ppBLAS) API_AVAILABLE(ios(14) |
Creates a buffer from existing Metal resource. | |
virtual void DILIGENT_CALL_TYPE | CreateTLASFromMtlResource (id< MTLAccelerationStructure > mtlTLAS, const TopLevelASDesc &Desc, RESOURCE_STATE InitialState, ITopLevelAS **ppTLAS) API_AVAILABLE(ios(14) |
Creates a buffer from existing Metal resource. | |
virtual void DILIGENT_CALL_TYPE | CreateRasterizationRateMapFromMtlResource (id< MTLRasterizationRateMap > mtlRRM, IRasterizationRateMapMtl **ppRRM) API_AVAILABLE(ios(13) |
Creates a rasterization rate map from existing Metal resource. | |
virtual void DILIGENT_CALL_TYPE | CreateRasterizationRateMap (const RasterizationRateMapCreateInfo &CreateInfo, IRasterizationRateMapMtl **ppRRM)=0 |
Creates a rasterization rate map. | |
virtual void DILIGENT_CALL_TYPE | CreateSparseTexture (const TextureDesc &TexDesc, IDeviceMemory *pMemory, ITexture **ppTexture)=0 |
![]() | |
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. | |
![]() | |
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 |
Exposes Metal-specific functionality of a render device.
|
pure virtual |
Creates a sparse texture