Foundation
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Attributes | List of all members
Foundation::RHI::RHIDevice Class Referenceabstract

#include <Device.hpp>

Inheritance diagram for Foundation::RHI::RHIDevice:
Foundation::RHI::RHIObject Foundation::RHI::VulkanDevice

Classes

struct  DeviceDesc
 

Public Member Functions

 RHIDevice (RHIApplication const &app)
 
virtual Span< RHIResourceFormat constGetSwapchainSupportedFormats () const =0
 
virtual Span< RHISwapchainPresentMode constGetSwapchainSupportedPresentModes () const =0
 
virtual RHIDeviceScopedObjectHandle< RHISwapchainCreateSwapchain (RHISwapchain::SwapchainDesc const &desc)=0
 
virtual RHISwapchainGetSwapchain (Handle handle) const =0
 
virtual void DestroySwapchain (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIPipelineStateCreatePipelineState (RHIPipelineState::PipelineStateDesc const &desc)=0
 
virtual RHIPipelineStateGetPipelineState (Handle handle) const =0
 
virtual void DestroyPipelineState (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIShaderModuleCreateShaderModule (RHIShaderModule::ShaderModuleDesc const &desc)=0
 
virtual RHIShaderModuleGetShaderModule (Handle handle) const =0
 
virtual void DestroyShaderModule (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHICommandPoolCreateCommandPool (RHICommandPool::PoolDesc type)=0
 
virtual RHICommandPoolGetCommandPool (Handle handle) const =0
 
virtual void DestroyCommandPool (Handle handle)=0
 
virtual RHIDeviceQueueGetDeviceQueue (RHIDeviceQueueType type) const =0
 
virtual RHIDeviceScopedObjectHandle< RHIDeviceSemaphoreCreateSemaphore (bool is_timeline=false)=0
 
virtual RHIDeviceSemaphoreGetSemaphore (Handle handle) const =0
 
virtual void DestroySemaphore (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIDeviceFenceCreateFence (bool signaled=true)=0
 
virtual RHIDeviceFenceGetFence (Handle handle) const =0
 
virtual void DestroyFence (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIBufferCreateBuffer (RHIBufferDesc const &desc)=0
 
virtual RHIBufferGetBuffer (Handle handle) const =0
 
virtual void DestroyBuffer (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHITextureCreateTexture (RHITextureDesc const &desc)=0
 
virtual RHITextureGetImage (Handle handle) const =0
 
virtual void DestroyImage (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIDeviceDescriptorSetLayoutCreateDescriptorSetLayout (RHIDeviceDescriptorSetLayoutDesc const &desc)=0
 
virtual RHIDeviceDescriptorSetLayoutGetDescriptorSetLayout (Handle handle) const =0
 
virtual void DestroyDescriptorSetLayout (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIDeviceDescriptorPoolCreateDescriptorPool (RHIDeviceDescriptorPool::PoolDesc const &desc)=0
 
virtual RHIDeviceDescriptorPoolGetDescriptorPool (Handle handle) const =0
 
virtual void DestroyDescriptorPool (Handle handle)=0
 
virtual RHIDeviceScopedObjectHandle< RHIDeviceSamplerCreateSampler (RHIDeviceSampler::SamplerDesc const &desc)=0
 
virtual RHIDeviceSamplerGetSampler (Handle handle) const =0
 
virtual void DestroySampler (Handle handle)=0
 
virtual void ResetFences (Span< const RHIDeviceObjectHandle< RHIDeviceFence > > fences)=0
 
virtual void WaitForFences (Span< const RHIDeviceObjectHandle< RHIDeviceFence > > fences, bool wait_all, size_t timeout)=0
 
virtual void SignalTimelineSemaphores (Span< const Pair< RHIDeviceObjectHandle< RHIDeviceSemaphore >, size_t > > semaphores)=0
 
virtual void WaitForTimelineSemaphores (Span< const Pair< RHIDeviceObjectHandle< RHIDeviceSemaphore >, size_t > > semaphores, size_t timeout)=0
 
virtual void WaitIdle () const =0
 
virtual void DebugSetObjectName (const char *name)=0
 
- Public Member Functions inherited from Foundation::RHI::RHIObject
 RHIObject ()=default
 
 RHIObject (RHIObject const &)=delete
 
RHIObjectoperator= (const RHIObject &)=delete
 
 RHIObject (RHIObject &&)=delete
 
RHIObjectoperator= (RHIObject &&)=delete
 
virtual ~RHIObject ()=default
 

Protected Attributes

const RHIApplicationmApp
 

Constructor & Destructor Documentation

◆ RHIDevice()

Foundation::RHI::RHIDevice::RHIDevice ( RHIApplication const app)
inline

Member Function Documentation

◆ CreateBuffer()

virtual RHIDeviceScopedObjectHandle< RHIBuffer > Foundation::RHI::RHIDevice::CreateBuffer ( RHIBufferDesc const desc)
pure virtual

◆ CreateCommandPool()

virtual RHIDeviceScopedObjectHandle< RHICommandPool > Foundation::RHI::RHIDevice::CreateCommandPool ( RHICommandPool::PoolDesc  type)
pure virtual

◆ CreateDescriptorPool()

virtual RHIDeviceScopedObjectHandle< RHIDeviceDescriptorPool > Foundation::RHI::RHIDevice::CreateDescriptorPool ( RHIDeviceDescriptorPool::PoolDesc const desc)
pure virtual

◆ CreateDescriptorSetLayout()

virtual RHIDeviceScopedObjectHandle< RHIDeviceDescriptorSetLayout > Foundation::RHI::RHIDevice::CreateDescriptorSetLayout ( RHIDeviceDescriptorSetLayoutDesc const desc)
pure virtual

◆ CreateFence()

virtual RHIDeviceScopedObjectHandle< RHIDeviceFence > Foundation::RHI::RHIDevice::CreateFence ( bool  signaled = true)
pure virtual

◆ CreatePipelineState()

virtual RHIDeviceScopedObjectHandle< RHIPipelineState > Foundation::RHI::RHIDevice::CreatePipelineState ( RHIPipelineState::PipelineStateDesc const desc)
pure virtual

◆ CreateSampler()

virtual RHIDeviceScopedObjectHandle< RHIDeviceSampler > Foundation::RHI::RHIDevice::CreateSampler ( RHIDeviceSampler::SamplerDesc const desc)
pure virtual

◆ CreateSemaphore()

virtual RHIDeviceScopedObjectHandle< RHIDeviceSemaphore > Foundation::RHI::RHIDevice::CreateSemaphore ( bool  is_timeline = false)
pure virtual

◆ CreateShaderModule()

virtual RHIDeviceScopedObjectHandle< RHIShaderModule > Foundation::RHI::RHIDevice::CreateShaderModule ( RHIShaderModule::ShaderModuleDesc const desc)
pure virtual

◆ CreateSwapchain()

virtual RHIDeviceScopedObjectHandle< RHISwapchain > Foundation::RHI::RHIDevice::CreateSwapchain ( RHISwapchain::SwapchainDesc const desc)
pure virtual

◆ CreateTexture()

virtual RHIDeviceScopedObjectHandle< RHITexture > Foundation::RHI::RHIDevice::CreateTexture ( RHITextureDesc const desc)
pure virtual

◆ DebugSetObjectName()

virtual void Foundation::RHI::RHIDevice::DebugSetObjectName ( const char name)
pure virtual

◆ DestroyBuffer()

virtual void Foundation::RHI::RHIDevice::DestroyBuffer ( Handle  handle)
pure virtual

◆ DestroyCommandPool()

virtual void Foundation::RHI::RHIDevice::DestroyCommandPool ( Handle  handle)
pure virtual

◆ DestroyDescriptorPool()

virtual void Foundation::RHI::RHIDevice::DestroyDescriptorPool ( Handle  handle)
pure virtual

◆ DestroyDescriptorSetLayout()

virtual void Foundation::RHI::RHIDevice::DestroyDescriptorSetLayout ( Handle  handle)
pure virtual

◆ DestroyFence()

virtual void Foundation::RHI::RHIDevice::DestroyFence ( Handle  handle)
pure virtual

◆ DestroyImage()

virtual void Foundation::RHI::RHIDevice::DestroyImage ( Handle  handle)
pure virtual

◆ DestroyPipelineState()

virtual void Foundation::RHI::RHIDevice::DestroyPipelineState ( Handle  handle)
pure virtual

◆ DestroySampler()

virtual void Foundation::RHI::RHIDevice::DestroySampler ( Handle  handle)
pure virtual

◆ DestroySemaphore()

virtual void Foundation::RHI::RHIDevice::DestroySemaphore ( Handle  handle)
pure virtual

◆ DestroyShaderModule()

virtual void Foundation::RHI::RHIDevice::DestroyShaderModule ( Handle  handle)
pure virtual

◆ DestroySwapchain()

virtual void Foundation::RHI::RHIDevice::DestroySwapchain ( Handle  handle)
pure virtual

◆ GetBuffer()

virtual RHIBuffer * Foundation::RHI::RHIDevice::GetBuffer ( Handle  handle) const
pure virtual

◆ GetCommandPool()

virtual RHICommandPool * Foundation::RHI::RHIDevice::GetCommandPool ( Handle  handle) const
pure virtual

◆ GetDescriptorPool()

virtual RHIDeviceDescriptorPool * Foundation::RHI::RHIDevice::GetDescriptorPool ( Handle  handle) const
pure virtual

◆ GetDescriptorSetLayout()

virtual RHIDeviceDescriptorSetLayout * Foundation::RHI::RHIDevice::GetDescriptorSetLayout ( Handle  handle) const
pure virtual

◆ GetDeviceQueue()

virtual RHIDeviceQueue * Foundation::RHI::RHIDevice::GetDeviceQueue ( RHIDeviceQueueType  type) const
pure virtual

◆ GetFence()

virtual RHIDeviceFence * Foundation::RHI::RHIDevice::GetFence ( Handle  handle) const
pure virtual

◆ GetImage()

virtual RHITexture * Foundation::RHI::RHIDevice::GetImage ( Handle  handle) const
pure virtual

◆ GetPipelineState()

virtual RHIPipelineState * Foundation::RHI::RHIDevice::GetPipelineState ( Handle  handle) const
pure virtual

◆ GetSampler()

virtual RHIDeviceSampler * Foundation::RHI::RHIDevice::GetSampler ( Handle  handle) const
pure virtual

◆ GetSemaphore()

virtual RHIDeviceSemaphore * Foundation::RHI::RHIDevice::GetSemaphore ( Handle  handle) const
pure virtual

◆ GetShaderModule()

virtual RHIShaderModule * Foundation::RHI::RHIDevice::GetShaderModule ( Handle  handle) const
pure virtual

◆ GetSwapchain()

virtual RHISwapchain * Foundation::RHI::RHIDevice::GetSwapchain ( Handle  handle) const
pure virtual

◆ GetSwapchainSupportedFormats()

virtual Span< RHIResourceFormat const > Foundation::RHI::RHIDevice::GetSwapchainSupportedFormats ( ) const
pure virtual

◆ GetSwapchainSupportedPresentModes()

virtual Span< RHISwapchainPresentMode const > Foundation::RHI::RHIDevice::GetSwapchainSupportedPresentModes ( ) const
pure virtual

◆ ResetFences()

virtual void Foundation::RHI::RHIDevice::ResetFences ( Span< const RHIDeviceObjectHandle< RHIDeviceFence > >  fences)
pure virtual

◆ SignalTimelineSemaphores()

virtual void Foundation::RHI::RHIDevice::SignalTimelineSemaphores ( Span< const Pair< RHIDeviceObjectHandle< RHIDeviceSemaphore >, size_t > >  semaphores)
pure virtual

◆ WaitForFences()

virtual void Foundation::RHI::RHIDevice::WaitForFences ( Span< const RHIDeviceObjectHandle< RHIDeviceFence > >  fences,
bool  wait_all,
size_t  timeout 
)
pure virtual

◆ WaitForTimelineSemaphores()

virtual void Foundation::RHI::RHIDevice::WaitForTimelineSemaphores ( Span< const Pair< RHIDeviceObjectHandle< RHIDeviceSemaphore >, size_t > >  semaphores,
size_t  timeout 
)
pure virtual

◆ WaitIdle()

virtual void Foundation::RHI::RHIDevice::WaitIdle ( ) const
pure virtual

Member Data Documentation

◆ mApp

const RHIApplication& Foundation::RHI::RHIDevice::mApp
protected

The documentation for this class was generated from the following file: