slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
| Public 成员函数 | 所有成员列表
gfx::IDevice类 参考abstract

#include <slang-gfx.h>

类 gfx::IDevice 继承关系图:
Inheritance graph
[图例]
gfx::IDevice 的协作图:
Collaboration graph
[图例]

struct  Desc
 
struct  InteropHandles
 
struct  ShaderCacheDesc
 
struct  SlangDesc
 

Public 成员函数

virtual SLANG_NO_THROW Result SLANG_MCALL getNativeDeviceHandles (InteropHandles *outHandles)=0
 
virtual SLANG_NO_THROW bool SLANG_MCALL hasFeature (const char *feature)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL getFeatures (const char **outFeatures, Size bufferSize, GfxCount *outFeatureCount)=0
 Returns a list of features supported by the renderer.
 
virtual SLANG_NO_THROW Result SLANG_MCALL getFormatSupportedResourceStates (Format format, ResourceStateSet *outStates)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL getSlangSession (slang::ISession **outSlangSession)=0
 
ComPtr< slang::ISession > getSlangSession ()
 
virtual SLANG_NO_THROW Result SLANG_MCALL createTransientResourceHeap (const ITransientResourceHeap::Desc &desc, ITransientResourceHeap **outHeap)=0
 
ComPtr< ITransientResourceHeapcreateTransientResourceHeap (const ITransientResourceHeap::Desc &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createTextureResource (const ITextureResource::Desc &desc, const ITextureResource::SubresourceData *initData, ITextureResource **outResource)=0
 
SLANG_NO_THROW ComPtr< ITextureResourcecreateTextureResource (const ITextureResource::Desc &desc, const ITextureResource::SubresourceData *initData=nullptr)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createTextureFromNativeHandle (InteropHandle handle, const ITextureResource::Desc &srcDesc, ITextureResource **outResource)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createTextureFromSharedHandle (InteropHandle handle, const ITextureResource::Desc &srcDesc, const Size size, ITextureResource **outResource)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createBufferResource (const IBufferResource::Desc &desc, const void *initData, IBufferResource **outResource)=0
 Create a buffer resource
 
SLANG_NO_THROW ComPtr< IBufferResourcecreateBufferResource (const IBufferResource::Desc &desc, const void *initData=nullptr)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createBufferFromNativeHandle (InteropHandle handle, const IBufferResource::Desc &srcDesc, IBufferResource **outResource)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createBufferFromSharedHandle (InteropHandle handle, const IBufferResource::Desc &srcDesc, IBufferResource **outResource)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createSamplerState (ISamplerState::Desc const &desc, ISamplerState **outSampler)=0
 
ComPtr< ISamplerStatecreateSamplerState (ISamplerState::Desc const &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createTextureView (ITextureResource *texture, IResourceView::Desc const &desc, IResourceView **outView)=0
 
ComPtr< IResourceViewcreateTextureView (ITextureResource *texture, IResourceView::Desc const &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createBufferView (IBufferResource *buffer, IBufferResource *counterBuffer, IResourceView::Desc const &desc, IResourceView **outView)=0
 
ComPtr< IResourceViewcreateBufferView (IBufferResource *buffer, IBufferResource *counterBuffer, IResourceView::Desc const &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createFramebufferLayout (IFramebufferLayout::Desc const &desc, IFramebufferLayout **outFrameBuffer)=0
 
ComPtr< IFramebufferLayoutcreateFramebufferLayout (IFramebufferLayout::Desc const &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createFramebuffer (IFramebuffer::Desc const &desc, IFramebuffer **outFrameBuffer)=0
 
ComPtr< IFramebuffercreateFramebuffer (IFramebuffer::Desc const &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createRenderPassLayout (const IRenderPassLayout::Desc &desc, IRenderPassLayout **outRenderPassLayout)=0
 
ComPtr< IRenderPassLayoutcreateRenderPassLayout (const IRenderPassLayout::Desc &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createSwapchain (ISwapchain::Desc const &desc, WindowHandle window, ISwapchain **outSwapchain)=0
 
ComPtr< ISwapchaincreateSwapchain (ISwapchain::Desc const &desc, WindowHandle window)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createInputLayout (IInputLayout::Desc const &desc, IInputLayout **outLayout)=0
 
ComPtr< IInputLayoutcreateInputLayout (IInputLayout::Desc const &desc)
 
Result createInputLayout (Size vertexSize, InputElementDesc const *inputElements, GfxCount inputElementCount, IInputLayout **outLayout)
 
ComPtr< IInputLayoutcreateInputLayout (Size vertexSize, InputElementDesc const *inputElements, GfxCount inputElementCount)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createCommandQueue (const ICommandQueue::Desc &desc, ICommandQueue **outQueue)=0
 
ComPtr< ICommandQueuecreateCommandQueue (const ICommandQueue::Desc &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createShaderObject (slang::TypeReflection *type, ShaderObjectContainerType container, IShaderObject **outObject)=0
 
ComPtr< IShaderObjectcreateShaderObject (slang::TypeReflection *type)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createMutableShaderObject (slang::TypeReflection *type, ShaderObjectContainerType container, IShaderObject **outObject)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createShaderObjectFromTypeLayout (slang::TypeLayoutReflection *typeLayout, IShaderObject **outObject)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createMutableShaderObjectFromTypeLayout (slang::TypeLayoutReflection *typeLayout, IShaderObject **outObject)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createMutableRootShaderObject (IShaderProgram *program, IShaderObject **outObject)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createShaderTable (const IShaderTable::Desc &desc, IShaderTable **outTable)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createProgram (const IShaderProgram::Desc &desc, IShaderProgram **outProgram, ISlangBlob **outDiagnosticBlob=nullptr)=0
 
ComPtr< IShaderProgramcreateProgram (const IShaderProgram::Desc &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createProgram2 (const IShaderProgram::CreateDesc2 &createDesc, IShaderProgram **outProgram, ISlangBlob **outDiagnosticBlob=nullptr)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createGraphicsPipelineState (const GraphicsPipelineStateDesc &desc, IPipelineState **outState)=0
 
ComPtr< IPipelineStatecreateGraphicsPipelineState (const GraphicsPipelineStateDesc &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createComputePipelineState (const ComputePipelineStateDesc &desc, IPipelineState **outState)=0
 
ComPtr< IPipelineStatecreateComputePipelineState (const ComputePipelineStateDesc &desc)
 
virtual SLANG_NO_THROW Result SLANG_MCALL createRayTracingPipelineState (const RayTracingPipelineStateDesc &desc, IPipelineState **outState)=0
 
virtual SLANG_NO_THROW SlangResult SLANG_MCALL readTextureResource (ITextureResource *resource, ResourceState state, ISlangBlob **outBlob, Size *outRowPitch, Size *outPixelSize)=0
 Read back texture resource and stores the result in outBlob.
 
virtual SLANG_NO_THROW SlangResult SLANG_MCALL readBufferResource (IBufferResource *buffer, Offset offset, Size size, ISlangBlob **outBlob)=0
 
virtual SLANG_NO_THROW const DeviceInfo &SLANG_MCALL getDeviceInfo () const =0
 Get the type of this renderer
 
virtual SLANG_NO_THROW Result SLANG_MCALL createQueryPool (const IQueryPool::Desc &desc, IQueryPool **outPool)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL getAccelerationStructurePrebuildInfo (const IAccelerationStructure::BuildInputs &buildInputs, IAccelerationStructure::PrebuildInfo *outPrebuildInfo)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createAccelerationStructure (const IAccelerationStructure::CreateDesc &desc, IAccelerationStructure **outView)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createFence (const IFence::Desc &desc, IFence **outFence)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL waitForFences (GfxCount fenceCount, IFence **fences, uint64_t *values, bool waitForAll, uint64_t timeout)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL getTextureAllocationInfo (const ITextureResource::Desc &desc, Size *outSize, Size *outAlignment)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL getTextureRowAlignment (Size *outAlignment)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL getCooperativeVectorProperties (CooperativeVectorProperties *properties, uint32_t *propertyCount)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createShaderObject2 (slang::ISession *slangSession, slang::TypeReflection *type, ShaderObjectContainerType container, IShaderObject **outObject)=0
 
virtual SLANG_NO_THROW Result SLANG_MCALL createMutableShaderObject2 (slang::ISession *slangSession, slang::TypeReflection *type, ShaderObjectContainerType container, IShaderObject **outObject)=0
 
- Public 成员函数 继承自 ISlangUnknown
virtual SLANG_NO_THROW SlangResult SLANG_MCALL queryInterface (SlangUUID const &uuid, void **outObject)=0
 
virtual SLANG_NO_THROW uint32_t SLANG_MCALL addRef ()=0
 
virtual SLANG_NO_THROW uint32_t SLANG_MCALL release ()=0
 
 SLANG_COM_INTERFACE (0x00000000, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}) virtual SLANG_NO_THROW SlangResult SLANG_MCALL queryInterface(SlangUUID const &uuid
 
virtual SLANG_NO_THROW uint32_t SLANG_MCALL addRef ()=0
 
virtual SLANG_NO_THROW uint32_t SLANG_MCALL release ()=0
 
SlangResult QueryInterface (struct _GUID const &uuid, void **outObject)
 
uint32_t AddRef ()
 
uint32_t Release ()
 

额外继承的成员函数

- Public 属性 继承自 ISlangUnknown
void ** outObject = 0
 

成员函数说明

◆ createAccelerationStructure()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createAccelerationStructure ( const IAccelerationStructure::CreateDesc & desc,
IAccelerationStructure ** outView )
pure virtual

◆ createBufferFromNativeHandle()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createBufferFromNativeHandle ( InteropHandle handle,
const IBufferResource::Desc & srcDesc,
IBufferResource ** outResource )
pure virtual

◆ createBufferFromSharedHandle()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createBufferFromSharedHandle ( InteropHandle handle,
const IBufferResource::Desc & srcDesc,
IBufferResource ** outResource )
pure virtual

◆ createBufferResource() [1/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createBufferResource ( const IBufferResource::Desc & desc,
const void * initData,
IBufferResource ** outResource )
pure virtual

Create a buffer resource

这是这个函数的调用关系图:

◆ createBufferResource() [2/2]

SLANG_NO_THROW ComPtr< IBufferResource > gfx::IDevice::createBufferResource ( const IBufferResource::Desc & desc,
const void * initData = nullptr )
inline
函数调用图:

◆ createBufferView() [1/2]

ComPtr< IResourceView > gfx::IDevice::createBufferView ( IBufferResource * buffer,
IBufferResource * counterBuffer,
IResourceView::Desc const & desc )
inline
函数调用图:

◆ createBufferView() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createBufferView ( IBufferResource * buffer,
IBufferResource * counterBuffer,
IResourceView::Desc const & desc,
IResourceView ** outView )
pure virtual
这是这个函数的调用关系图:

◆ createCommandQueue() [1/2]

ComPtr< ICommandQueue > gfx::IDevice::createCommandQueue ( const ICommandQueue::Desc & desc)
inline
函数调用图:

◆ createCommandQueue() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createCommandQueue ( const ICommandQueue::Desc & desc,
ICommandQueue ** outQueue )
pure virtual
这是这个函数的调用关系图:

◆ createComputePipelineState() [1/2]

ComPtr< IPipelineState > gfx::IDevice::createComputePipelineState ( const ComputePipelineStateDesc & desc)
inline
函数调用图:

◆ createComputePipelineState() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createComputePipelineState ( const ComputePipelineStateDesc & desc,
IPipelineState ** outState )
pure virtual
这是这个函数的调用关系图:

◆ createFence()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createFence ( const IFence::Desc & desc,
IFence ** outFence )
pure virtual

◆ createFramebuffer() [1/2]

ComPtr< IFramebuffer > gfx::IDevice::createFramebuffer ( IFramebuffer::Desc const & desc)
inline
函数调用图:

◆ createFramebuffer() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createFramebuffer ( IFramebuffer::Desc const & desc,
IFramebuffer ** outFrameBuffer )
pure virtual
这是这个函数的调用关系图:

◆ createFramebufferLayout() [1/2]

ComPtr< IFramebufferLayout > gfx::IDevice::createFramebufferLayout ( IFramebufferLayout::Desc const & desc)
inline
函数调用图:

◆ createFramebufferLayout() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createFramebufferLayout ( IFramebufferLayout::Desc const & desc,
IFramebufferLayout ** outFrameBuffer )
pure virtual
这是这个函数的调用关系图:

◆ createGraphicsPipelineState() [1/2]

ComPtr< IPipelineState > gfx::IDevice::createGraphicsPipelineState ( const GraphicsPipelineStateDesc & desc)
inline
函数调用图:

◆ createGraphicsPipelineState() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createGraphicsPipelineState ( const GraphicsPipelineStateDesc & desc,
IPipelineState ** outState )
pure virtual
这是这个函数的调用关系图:

◆ createInputLayout() [1/4]

ComPtr< IInputLayout > gfx::IDevice::createInputLayout ( IInputLayout::Desc const & desc)
inline
函数调用图:

◆ createInputLayout() [2/4]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createInputLayout ( IInputLayout::Desc const & desc,
IInputLayout ** outLayout )
pure virtual
这是这个函数的调用关系图:

◆ createInputLayout() [3/4]

ComPtr< IInputLayout > gfx::IDevice::createInputLayout ( Size vertexSize,
InputElementDesc const * inputElements,
GfxCount inputElementCount )
inline
函数调用图:

◆ createInputLayout() [4/4]

Result gfx::IDevice::createInputLayout ( Size vertexSize,
InputElementDesc const * inputElements,
GfxCount inputElementCount,
IInputLayout ** outLayout )
inline
函数调用图:

◆ createMutableRootShaderObject()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createMutableRootShaderObject ( IShaderProgram * program,
IShaderObject ** outObject )
pure virtual

◆ createMutableShaderObject()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createMutableShaderObject ( slang::TypeReflection * type,
ShaderObjectContainerType container,
IShaderObject ** outObject )
pure virtual

◆ createMutableShaderObject2()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createMutableShaderObject2 ( slang::ISession * slangSession,
slang::TypeReflection * type,
ShaderObjectContainerType container,
IShaderObject ** outObject )
pure virtual

◆ createMutableShaderObjectFromTypeLayout()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createMutableShaderObjectFromTypeLayout ( slang::TypeLayoutReflection * typeLayout,
IShaderObject ** outObject )
pure virtual

◆ createProgram() [1/2]

ComPtr< IShaderProgram > gfx::IDevice::createProgram ( const IShaderProgram::Desc & desc)
inline
函数调用图:

◆ createProgram() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createProgram ( const IShaderProgram::Desc & desc,
IShaderProgram ** outProgram,
ISlangBlob ** outDiagnosticBlob = nullptr )
pure virtual
这是这个函数的调用关系图:

◆ createProgram2()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createProgram2 ( const IShaderProgram::CreateDesc2 & createDesc,
IShaderProgram ** outProgram,
ISlangBlob ** outDiagnosticBlob = nullptr )
pure virtual

◆ createQueryPool()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createQueryPool ( const IQueryPool::Desc & desc,
IQueryPool ** outPool )
pure virtual

◆ createRayTracingPipelineState()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createRayTracingPipelineState ( const RayTracingPipelineStateDesc & desc,
IPipelineState ** outState )
pure virtual

◆ createRenderPassLayout() [1/2]

ComPtr< IRenderPassLayout > gfx::IDevice::createRenderPassLayout ( const IRenderPassLayout::Desc & desc)
inline
函数调用图:

◆ createRenderPassLayout() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createRenderPassLayout ( const IRenderPassLayout::Desc & desc,
IRenderPassLayout ** outRenderPassLayout )
pure virtual
这是这个函数的调用关系图:

◆ createSamplerState() [1/2]

ComPtr< ISamplerState > gfx::IDevice::createSamplerState ( ISamplerState::Desc const & desc)
inline
函数调用图:

◆ createSamplerState() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createSamplerState ( ISamplerState::Desc const & desc,
ISamplerState ** outSampler )
pure virtual
这是这个函数的调用关系图:

◆ createShaderObject() [1/2]

ComPtr< IShaderObject > gfx::IDevice::createShaderObject ( slang::TypeReflection * type)
inline
函数调用图:

◆ createShaderObject() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createShaderObject ( slang::TypeReflection * type,
ShaderObjectContainerType container,
IShaderObject ** outObject )
pure virtual
这是这个函数的调用关系图:

◆ createShaderObject2()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createShaderObject2 ( slang::ISession * slangSession,
slang::TypeReflection * type,
ShaderObjectContainerType container,
IShaderObject ** outObject )
pure virtual

◆ createShaderObjectFromTypeLayout()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createShaderObjectFromTypeLayout ( slang::TypeLayoutReflection * typeLayout,
IShaderObject ** outObject )
pure virtual

◆ createShaderTable()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createShaderTable ( const IShaderTable::Desc & desc,
IShaderTable ** outTable )
pure virtual

◆ createSwapchain() [1/2]

ComPtr< ISwapchain > gfx::IDevice::createSwapchain ( ISwapchain::Desc const & desc,
WindowHandle window )
inline
函数调用图:

◆ createSwapchain() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createSwapchain ( ISwapchain::Desc const & desc,
WindowHandle window,
ISwapchain ** outSwapchain )
pure virtual
这是这个函数的调用关系图:

◆ createTextureFromNativeHandle()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createTextureFromNativeHandle ( InteropHandle handle,
const ITextureResource::Desc & srcDesc,
ITextureResource ** outResource )
pure virtual

◆ createTextureFromSharedHandle()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createTextureFromSharedHandle ( InteropHandle handle,
const ITextureResource::Desc & srcDesc,
const Size size,
ITextureResource ** outResource )
pure virtual

◆ createTextureResource() [1/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createTextureResource ( const ITextureResource::Desc & desc,
const ITextureResource::SubresourceData * initData,
ITextureResource ** outResource )
pure virtual

Create a texture resource.

If initData is non-null, then it must point to an array of ITextureResource::SubresourceData with one element for each subresource of the texture being created.

The number of subresources in a texture is:

effectiveElementCount * mipLevelCount

where the effective element count is computed as:

effectiveElementCount = (isArray ? arrayElementCount : 1) * (isCube ? 6 : 1);
这是这个函数的调用关系图:

◆ createTextureResource() [2/2]

SLANG_NO_THROW ComPtr< ITextureResource > gfx::IDevice::createTextureResource ( const ITextureResource::Desc & desc,
const ITextureResource::SubresourceData * initData = nullptr )
inline

Create a texture resource. initData holds the initialize data to set the contents of the texture when constructed.

函数调用图:

◆ createTextureView() [1/2]

ComPtr< IResourceView > gfx::IDevice::createTextureView ( ITextureResource * texture,
IResourceView::Desc const & desc )
inline
函数调用图:

◆ createTextureView() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createTextureView ( ITextureResource * texture,
IResourceView::Desc const & desc,
IResourceView ** outView )
pure virtual
这是这个函数的调用关系图:

◆ createTransientResourceHeap() [1/2]

ComPtr< ITransientResourceHeap > gfx::IDevice::createTransientResourceHeap ( const ITransientResourceHeap::Desc & desc)
inline
函数调用图:

◆ createTransientResourceHeap() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::createTransientResourceHeap ( const ITransientResourceHeap::Desc & desc,
ITransientResourceHeap ** outHeap )
pure virtual
这是这个函数的调用关系图:

◆ getAccelerationStructurePrebuildInfo()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getAccelerationStructurePrebuildInfo ( const IAccelerationStructure::BuildInputs & buildInputs,
IAccelerationStructure::PrebuildInfo * outPrebuildInfo )
pure virtual

◆ getCooperativeVectorProperties()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getCooperativeVectorProperties ( CooperativeVectorProperties * properties,
uint32_t * propertyCount )
pure virtual

◆ getDeviceInfo()

virtual SLANG_NO_THROW const DeviceInfo &SLANG_MCALL gfx::IDevice::getDeviceInfo ( ) const
pure virtual

Get the type of this renderer

◆ getFeatures()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getFeatures ( const char ** outFeatures,
Size bufferSize,
GfxCount * outFeatureCount )
pure virtual

Returns a list of features supported by the renderer.

◆ getFormatSupportedResourceStates()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getFormatSupportedResourceStates ( Format format,
ResourceStateSet * outStates )
pure virtual

◆ getNativeDeviceHandles()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getNativeDeviceHandles ( InteropHandles * outHandles)
pure virtual

◆ getSlangSession() [1/2]

ComPtr< slang::ISession > gfx::IDevice::getSlangSession ( )
inline
函数调用图:
这是这个函数的调用关系图:

◆ getSlangSession() [2/2]

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getSlangSession ( slang::ISession ** outSlangSession)
pure virtual

◆ getTextureAllocationInfo()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getTextureAllocationInfo ( const ITextureResource::Desc & desc,
Size * outSize,
Size * outAlignment )
pure virtual

◆ getTextureRowAlignment()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::getTextureRowAlignment ( Size * outAlignment)
pure virtual

◆ hasFeature()

virtual SLANG_NO_THROW bool SLANG_MCALL gfx::IDevice::hasFeature ( const char * feature)
pure virtual

◆ readBufferResource()

virtual SLANG_NO_THROW SlangResult SLANG_MCALL gfx::IDevice::readBufferResource ( IBufferResource * buffer,
Offset offset,
Size size,
ISlangBlob ** outBlob )
pure virtual

◆ readTextureResource()

virtual SLANG_NO_THROW SlangResult SLANG_MCALL gfx::IDevice::readTextureResource ( ITextureResource * resource,
ResourceState state,
ISlangBlob ** outBlob,
Size * outRowPitch,
Size * outPixelSize )
pure virtual

Read back texture resource and stores the result in outBlob.

◆ waitForFences()

virtual SLANG_NO_THROW Result SLANG_MCALL gfx::IDevice::waitForFences ( GfxCount fenceCount,
IFence ** fences,
uint64_t * values,
bool waitForAll,
uint64_t timeout )
pure virtual

Wait on the host for the fences to signals. timeout is in nanoseconds, can be set to kTimeoutInfinite.


该类的文档由以下文件生成: