![]() |
XII Release 0.1.0
|
Public Member Functions | |
| virtual xiiGALCommandQueue * | GetCommandQueue (xiiBitflags< xiiGALCommandQueueFlags > queueFlags) const override final |
| Retrieves a pointer to the compute queue if available, null otherwise. | |
| XII_ALWAYS_INLINE xiiAllocatorBase * | GetAllocator () const |
| XII_ALWAYS_INLINE ID3D12Device1 * | GetD3D12Device () const |
| XII_ALWAYS_INLINE IDXGIAdapter1 * | GetDXGIAdapter () const |
| XII_ALWAYS_INLINE IDXGIFactory4 * | GetDXGIFactory () const |
| XII_ALWAYS_INLINE xiiMemoryAllocatorD3D12 * | GetD3D12Allocator () const |
| void | ReportLiveGPUObjects () |
Public Member Functions inherited from xiiGALDevice | |
| xiiResult | Initialize () |
| Initialize device. | |
| void | BeginFrame () |
| Begins a render frame. | |
| void | EndFrame () |
| Ends a render frame. | |
| void | WaitIdle () |
| Waits until all outstanding operations on the GPU are complete and destroys any pending resources and GPU objects. | |
| const xiiGALDeviceCreationDescription & | GetDescription () const |
| Returns the creation description for this device. | |
| const xiiGALGraphicsDeviceAdapterDescription & | GetGraphicsDeviceAdapterProperties () const |
| This retrieves the device properties. See xiiGraphicsDeviceAdapterDescription. | |
| const xiiGALDeviceFeatures & | GetFeatures () const |
| This retrieves the device feature states. See xiiGALDeviceFeatures. | |
| const xiiGALDeviceLimits & | GetLimits () const |
| This retrieves the device limits. See xiiGALDeviceLimits. | |
| xiiEnum< xiiGALGraphicsDeviceType > | GetGraphicsDeviceType () const |
| This retrieves the device graphics API type. See xiiGALGraphicsDeviceType. | |
| xiiMutex & | GetMutex () const |
| This returns critical section lock. | |
| xiiSharedPtr< xiiGALSwapChain > | CreateSwapChain (const xiiGALSwapChainCreationDescription &description) |
| This creates a swap chain object. | |
| xiiSharedPtr< xiiGALCommandList > | CreateCommandList (const xiiGALCommandListCreationDescription &description) |
| This creates a command list object. | |
| xiiSharedPtr< xiiGALBlendState > | CreateBlendState (const xiiGALBlendStateCreationDescription &description) |
| This creates a new blend state object. | |
| xiiSharedPtr< xiiGALDepthStencilState > | CreateDepthStencilState (const xiiGALDepthStencilStateCreationDescription &description) |
| This creates a new depth stencil state object. | |
| xiiSharedPtr< xiiGALRasterizerState > | CreateRasterizerState (const xiiGALRasterizerStateCreationDescription &description) |
| This creates a new rasterizer state object. | |
| xiiSharedPtr< xiiGALShader > | CreateShader (const xiiGALShaderCreationDescription &description) |
| This creates a new shader object. | |
| xiiSharedPtr< xiiGALBuffer > | CreateBuffer (const xiiGALBufferCreationDescription &description, const xiiGALBufferData *pInitialData=nullptr, xiiBitflags< xiiGALExternalMemoryKind > externalMemoryKind=xiiGALExternalMemoryKind::None) |
| This creates a new buffer object. | |
| xiiSharedPtr< xiiGALTexture > | CreateTexture (const xiiGALTextureCreationDescription &description, const xiiGALTextureData *pInitialData=nullptr, xiiBitflags< xiiGALExternalMemoryKind > externalMemoryKind=xiiGALExternalMemoryKind::None) |
| This creates a new texture object. | |
| xiiSharedPtr< xiiGALSampler > | CreateSampler (const xiiGALSamplerCreationDescription &description) |
| This creates a new sampler object. | |
| xiiSharedPtr< xiiGALQuery > | CreateQuery (const xiiGALQueryCreationDescription &description) |
| This creates a new query object. | |
| xiiSharedPtr< xiiGALFence > | CreateFence (const xiiGALFenceCreationDescription &description) |
| This creates a new fence object. | |
| xiiSharedPtr< xiiGALRenderPass > | CreateRenderPass (const xiiGALRenderPassCreationDescription &description) |
| This creates a new render pass object. | |
| xiiSharedPtr< xiiGALFramebuffer > | CreateFramebuffer (const xiiGALFramebufferCreationDescription &description) |
| This creates a new frame buffer object. | |
| xiiSharedPtr< xiiGALBottomLevelAS > | CreateBottomLevelAS (const xiiGALBottomLevelASCreationDescription &description) |
| This creates a new bottom-level acceleration structure object. | |
| xiiSharedPtr< xiiGALTopLevelAS > | CreateTopLevelAS (const xiiGALTopLevelASCreationDescription &description) |
| This creates a new top-level acceleration structure object. | |
| xiiSharedPtr< xiiGALPipelineResourceSignature > | CreatePipelineResourceSignature (xiiGALPipelineResourceSignatureCreationDescription &description) |
| This creates a new pipeline resource signature object. | |
| xiiSharedPtr< xiiGALGraphicsPipelineState > | CreateGraphicsPipelineState (const xiiGALGraphicsPipelineStateCreationDescription &description) |
| This creates a new graphics pipeline state object. | |
| xiiSharedPtr< xiiGALComputePipelineState > | CreateComputePipelineState (const xiiGALComputePipelineStateCreationDescription &description) |
| This creates a new compute pipeline state object. | |
| xiiSharedPtr< xiiGALRayTracingPipelineState > | CreateRayTracingPipelineState (const xiiGALRayTracingPipelineStateCreationDescription &description) |
| This creates a new ray tracing pipeline state object. | |
| xiiSharedPtr< xiiGALTilePipelineState > | CreateTilePipelineState (const xiiGALTilePipelineStateCreationDescription &description) |
| This creates a new tile pipeline state object. | |
Public Member Functions inherited from xiiGALObject | |
| XII_ALWAYS_INLINE xiiStringView | GetDebugName () const |
| Returns the debug name of this resource. | |
| void | SetDebugName (xiiStringView sDebugName) const |
| Sets the debug name for this resource. | |
Public Member Functions inherited from xiiReflectedClass | |
| virtual const xiiRTTI * | GetDynamicRTTI () const |
| bool | IsInstanceOf (const xiiRTTI *pType) const |
| Returns whether the type of this instance is of the given type or derived from it. | |
| template<typename T> | |
| XII_ALWAYS_INLINE bool | IsInstanceOf () const |
| Returns whether the type of this instance is of the given type or derived from it. | |
Public Member Functions inherited from xiiRefCounted | |
| virtual | ~xiiRefCounted ()=default |
| Adds a virtual destructor. | |
Public Member Functions inherited from xiiRefCountingImpl | |
| xiiRefCountingImpl ()=default | |
| Constructor. | |
| xiiRefCountingImpl (const xiiRefCountingImpl &rhs) | |
| void | operator= (const xiiRefCountingImpl &rhs) |
| xiiUInt32 | AddRef () const |
| Increments the reference counter. Returns the new reference count. | |
| xiiUInt32 | ReleaseRef () const |
| Decrements the reference counter. Returns the new reference count. | |
| bool | IsReferenced () const |
| Returns true if the reference count is greater than 0, false otherwise. | |
| xiiUInt32 | GetRefCount () const |
| Returns the current reference count. | |
Protected Member Functions | |
| virtual xiiResult | InitializePlatform () override final |
| virtual xiiResult | PostInitializePlatform () override final |
| virtual void | BeginFramePlatform () override final |
| virtual void | EndFramePlatform () override final |
| virtual xiiInternal::NewInstance< xiiGALSwapChain > | CreateSwapChainPlatform (const xiiGALSwapChainCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALCommandList > | CreateCommandListPlatform (const xiiGALCommandListCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALBlendState > | CreateBlendStatePlatform (const xiiGALBlendStateCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALDepthStencilState > | CreateDepthStencilStatePlatform (const xiiGALDepthStencilStateCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALRasterizerState > | CreateRasterizerStatePlatform (const xiiGALRasterizerStateCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALShader > | CreateShaderPlatform (const xiiGALShaderCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALBuffer > | CreateBufferPlatform (const xiiGALBufferCreationDescription &description, const xiiGALBufferData *pInitialData, xiiBitflags< xiiGALExternalMemoryKind > externalMemoryKind) override final |
| virtual xiiInternal::NewInstance< xiiGALTexture > | CreateTexturePlatform (const xiiGALTextureCreationDescription &description, const xiiGALTextureData *pInitialData, xiiBitflags< xiiGALExternalMemoryKind > externalMemoryKind) override final |
| virtual xiiInternal::NewInstance< xiiGALSampler > | CreateSamplerPlatform (const xiiGALSamplerCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALQuery > | CreateQueryPlatform (const xiiGALQueryCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALFence > | CreateFencePlatform (const xiiGALFenceCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALRenderPass > | CreateRenderPassPlatform (const xiiGALRenderPassCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALFramebuffer > | CreateFramebufferPlatform (const xiiGALFramebufferCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALBottomLevelAS > | CreateBottomLevelASPlatform (const xiiGALBottomLevelASCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALTopLevelAS > | CreateTopLevelASPlatform (const xiiGALTopLevelASCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALPipelineResourceSignature > | CreatePipelineResourceSignaturePlatform (const xiiGALPipelineResourceSignatureCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALGraphicsPipelineState > | CreateGraphicsPipelineStatePlatform (const xiiGALGraphicsPipelineStateCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALComputePipelineState > | CreateComputePipelineStatePlatform (const xiiGALComputePipelineStateCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALRayTracingPipelineState > | CreateRayTracingPipelineStatePlatform (const xiiGALRayTracingPipelineStateCreationDescription &description) override final |
| virtual xiiInternal::NewInstance< xiiGALTilePipelineState > | CreateTilePipelineStatePlatform (const xiiGALTilePipelineStateCreationDescription &description) override final |
| virtual void | WaitIdlePlatform () override final |
| virtual xiiResult | FillCapabilitiesPlatform () override final |
Protected Member Functions inherited from xiiGALDevice | |
| xiiGALDevice (xiiAllocatorBase *pAllocator, const xiiGALDeviceCreationDescription &creationDescription) | |
| xiiResult | PostInitialize () |
| Initialization after device capabilities are known. | |
| void | VerifyMultithreadedAccess () const |
| Asserts that either this device supports multi-threaded resource creation, or that this function is executed on the main thread. | |
| void | FinalizeTextureInternal (const xiiGALTextureCreationDescription &description, xiiSharedPtr< xiiGALTexture > &pTexture) |
| void | FinalizeBufferInternal (const xiiGALBufferCreationDescription &description, xiiSharedPtr< xiiGALBuffer > &pBuffer) |
Protected Member Functions inherited from xiiGALObject | |
| virtual XII_ALWAYS_INLINE void | SetDebugNamePlatform (xiiStringView sName) const |
Friends | |
| xiiInternal::NewInstance< xiiGALDevice > | CreateD3D12Device (xiiAllocatorBase *pAllocator, const xiiGALDeviceCreationDescription &description) |
Additional Inherited Members | |
Static Public Member Functions inherited from xiiGALDevice | |
| static void | SetDefaultDevice (xiiSharedPtr< xiiGALDevice > pDefaultDevice) |
| Sets a default graphics device. | |
| static xiiSharedPtr< xiiGALDevice > | GetDefaultDevice () |
| Retrieves the default device. This will be nullptr if none is set. | |
| static bool | HasDefaultDevice () |
| This returns true if there is a set default device. | |
Static Public Member Functions inherited from xiiNoBase | |
| static const xiiRTTI * | GetStaticRTTI () |
Static Public Attributes inherited from xiiGALDevice | |
| static xiiEvent< const xiiGALDeviceEvent &, xiiMutex > | s_Events |
| Registers event handlers. | |
Protected Attributes inherited from xiiGALDevice | |
| xiiGALDeviceCreationDescription | m_Description |
| xiiProxyAllocator | m_Allocator |
| xiiLocalAllocatorWrapper | m_AllocatorWrapper |
| xiiMutex | m_Mutex |
| xiiGALGraphicsDeviceAdapterDescription | m_AdapterDescription |
|
finaloverrideprotectedvirtual |
|
finaloverridevirtual |
Retrieves a pointer to the compute queue if available, null otherwise.
| queueType | - The queue type that has the required feature. |
Implements xiiGALDevice.
|
finaloverrideprotectedvirtual |
|
finaloverrideprotectedvirtual |