|
| | RHIDevice (RHIApplication const &app) |
| |
| virtual RHIDeviceCapabilities | GetCapabilities () const =0 |
| |
| virtual RHIPipelineStateCacheKey | GetPipelineCacheKey () const =0 |
| |
| virtual RHIDeviceScopedHandle< RHISurface > | CreateSurface (RHISurface::SurfaceDesc const &desc)=0 |
| |
| virtual RHISurface * | GetSurface (Handle handle) const =0 |
| |
| virtual void | DestroySurface (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHISwapchain > | CreateSwapchain (RHISwapchain::SwapchainDesc const &desc)=0 |
| |
| virtual RHISwapchain * | GetSwapchain (Handle handle) const =0 |
| |
| virtual void | DestroySwapchain (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIPipelineStateCache > | CreatePipelineCache (RHIPipelineStateCache::PipelineStateCacheDesc const &desc)=0 |
| |
| virtual RHIPipelineStateCache * | GetPipelineCache (Handle handle) const =0 |
| |
| virtual void | DestroyPipelineCache (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIPipelineState > | CreatePipelineState (RHIPipelineState::PipelineStateDesc const &desc)=0 |
| |
| virtual RHIPipelineState * | GetPipelineState (Handle handle) const =0 |
| |
| virtual void | DestroyPipelineState (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIShaderModule > | CreateShaderModule (RHIShaderModule::ShaderModuleDesc const &desc)=0 |
| |
| virtual RHIShaderModule * | GetShaderModule (Handle handle) const =0 |
| |
| virtual void | DestroyShaderModule (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHICommandPool > | CreateCommandPool (RHICommandPool::PoolDesc type)=0 |
| |
| virtual RHICommandPool * | GetCommandPool (Handle handle) const =0 |
| |
| virtual void | DestroyCommandPool (Handle handle)=0 |
| |
| virtual RHIDeviceQueue * | GetDeviceQueue (RHIDeviceQueueType type) const =0 |
| |
| virtual RHIDeviceScopedHandle< RHIDeviceSemaphore > | CreateSemaphore (bool is_timeline=false)=0 |
| |
| virtual RHIDeviceSemaphore * | GetSemaphore (Handle handle) const =0 |
| |
| virtual void | DestroySemaphore (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIDeviceFence > | CreateFence (bool signaled=true)=0 |
| |
| virtual RHIDeviceFence * | GetFence (Handle handle) const =0 |
| |
| virtual void | DestroyFence (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIBuffer > | CreateBuffer (RHIBufferDesc const &desc)=0 |
| |
| virtual RHIBuffer * | GetBuffer (Handle handle) const =0 |
| |
| virtual void | DestroyBuffer (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHITexture > | CreateTexture (RHITextureDesc const &desc)=0 |
| |
| virtual RHITexture * | GetTexture (Handle handle) const =0 |
| |
| virtual void | DestroyTexture (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIAccelerationStructure > | CreateAccelerationStructure (RHIAccelerationStructureDesc const &desc)=0 |
| |
| virtual RHIAccelerationStructure * | GetAccelerationStructure (Handle handle) const =0 |
| |
| virtual void | DestroyAccelerationStructure (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIDeviceDescriptorSetLayout > | CreateDescriptorSetLayout (RHIDeviceDescriptorSetLayoutDesc const &desc)=0 |
| |
| virtual RHIDeviceDescriptorSetLayout * | GetDescriptorSetLayout (Handle handle) const =0 |
| |
| virtual void | DestroyDescriptorSetLayout (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIDeviceDescriptorPool > | CreateDescriptorPool (RHIDeviceDescriptorPool::PoolDesc const &desc)=0 |
| |
| virtual RHIDeviceDescriptorPool * | GetDescriptorPool (Handle handle) const =0 |
| |
| virtual void | DestroyDescriptorPool (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIDeviceSampler > | CreateSampler (RHIDeviceSampler::SamplerDesc const &desc)=0 |
| |
| virtual RHIDeviceSampler * | GetSampler (Handle handle) const =0 |
| |
| virtual void | DestroySampler (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIDeviceQueryPool > | CreateQueryPool (RHIDeviceQueryPool::QueryPoolDesc const &desc)=0 |
| |
| virtual RHIDeviceQueryPool * | GetQueryPool (Handle handle) const =0 |
| |
| virtual void | DestroyQueryPool (Handle handle)=0 |
| |
| virtual RHIDeviceScopedHandle< RHIVirtualAllocator > | CreateVirtualAllocator (uint64_t size)=0 |
| |
| virtual RHIVirtualAllocator * | GetVirtualAllocator (Handle handle) const =0 |
| |
| virtual void | DestroyVirtualAllocator (Handle handle)=0 |
| |
| virtual RHIAccelerationStructureSizeInfo | GetAccelerationStructureSizeInfo (RHIAccelerationStructureBuildDesc const &desc, Allocator *scratchAllocator=nullptr) const =0 |
| |
| virtual size_t | WriteAccelerationStructureInstanceData (RHIAccelerationStructureGeometryInstance const &data, void *dest) const =0 |
| |
| virtual void | ResetFences (Span< RHIDeviceFence *const > fences)=0 |
| |
| virtual bool | WaitForFences (Span< RHIDeviceFence *const > fences, bool wait_all, size_t timeout)=0 |
| | Wait for fences to arrive.
|
| |
| virtual void | SignalTimelineSemaphores (Span< const Pair< RHIDeviceSemaphore *, size_t > > semaphores)=0 |
| |
| virtual bool | WaitForTimelineSemaphores (Span< const Pair< RHIDeviceSemaphore *, size_t > > semaphores, size_t timeout)=0 |
| | Wait for timeline semaphores to reach specified values.
|
| |
| virtual void | WaitIdle () const =0 |
| |
| virtual void | QueryBudget (RHIDeviceHeapType heapType, size_t &used, size_t &budget) const =0 |
| |
| virtual void | QueryAllocationStats (size_t &blockBytes, size_t &allocationBytes) const =0 |
| |
| virtual void | QueryMemoryStats (RHIDeviceMemoryStats &outStats) const =0 |
| |
| virtual String | QueryDeviceString () const =0 |
| |
| virtual void | DebugSetObjectName (const char *name)=0 |
| |
| | RHIObject ()=default |
| |
| | RHIObject (RHIObject const &)=delete |
| |
| RHIObject & | operator= (const RHIObject &)=delete |
| |
| | RHIObject (RHIObject &&)=delete |
| |
| RHIObject & | operator= (RHIObject &&)=delete |
| |
| virtual | ~RHIObject ()=default |
| |