RavEngine
Loading...
Searching...
No Matches
RGL::DeviceD3D12 Struct Reference
Inheritance diagram for RGL::DeviceD3D12:
[legend]
Collaboration diagram for RGL::DeviceD3D12:
[legend]

Public Member Functions

 DeviceD3D12 (decltype(adapter) adapter)
 
void Flush ()
 
std::string GetBrandString ()
 
RGLSwapchainPtr CreateSwapchain (RGLSurfacePtr, RGLCommandQueuePtr, int, int) final
 
RGLPipelineLayoutPtr CreatePipelineLayout (const PipelineLayoutDescriptor &) final
 
RGLRenderPipelinePtr CreateRenderPipeline (const RenderPipelineDescriptor &) final
 
RGLComputePipelinePtr CreateComputePipeline (const ComputePipelineDescriptor &) final
 
RGLShaderLibraryPtr CreateShaderLibraryFromName (const std::string_view &name) final
 
RGLShaderLibraryPtr CreateDefaultShaderLibrary () final
 
RGLShaderLibraryPtr CreateShaderLibraryFromBytes (const std::span< const uint8_t >) final
 
RGLShaderLibraryPtr CreateShaderLibrarySourceCode (const std::string_view, const FromSourceConfig &config) final
 
RGLShaderLibraryPtr CreateShaderLibraryFromPath (const std::filesystem::path &) final
 
RGLBufferPtr CreateBuffer (const BufferConfig &) final
 
RGLTexturePtr CreateTextureWithData (const TextureConfig &, const TextureUploadData &) final
 
RGLTexturePtr CreateTexture (const TextureConfig &) final
 
RGLSamplerPtr CreateSampler (const SamplerConfig &) final
 
DeviceData GetDeviceData () final
 
TextureView GetGlobalBindlessTextureHeap () const final
 
RGLCommandQueuePtr CreateCommandQueue (QueueType type) final
 
RGLFencePtr CreateFence (bool preSignaled) final
 
void BlockUntilIdle () final
 
size_t GetTotalVRAM () const final
 
size_t GetCurrentVRAMInUse () const final
 
- Public Member Functions inherited from RGL::IDevice
virtual RGLComputePipelinePtr CreateComputePipeline (const struct ComputePipelineDescriptor &)=0
 

Public Attributes

Microsoft::WRL::ComPtr< ID3D12Device2 > device
 
Microsoft::WRL::ComPtr< IDXGIAdapter4 > adapter
 
std::shared_ptr< CommandQueueD3D12 > internalQueue
 
Microsoft::WRL::ComPtr< ID3D12GraphicsCommandList2 > internalCommandList
 
Microsoft::WRL::ComPtr< D3D12MA::Allocator > allocator
 
UINT g_RTVDescriptorHeapSize = 0
 
Microsoft::WRL::ComPtr< ID3D12Fence > deviceRemovedFence
 
Microsoft::WRL::ComPtr< ID3D12CommandSignature > multidrawSignature
 
Microsoft::WRL::ComPtr< ID3D12CommandSignature > multidrawIndexedSignature
 
Microsoft::WRL::ComPtr< ID3D12CommandSignature > dispatchIndirectSignature
 
std::optional< D3D12DynamicDescriptorHeap< 2048 > > RTVHeap
 
std::optional< D3D12DynamicDescriptorHeap< 2048 > > DSVHeap
 
std::optional< D3D12DynamicDescriptorHeap< 65536 > > CBV_SRV_UAVHeap
 
std::optional< D3D12DynamicDescriptorHeap< 2048 > > SamplerHeap
 

Additional Inherited Members

- Static Public Member Functions inherited from RGL::IDevice
static RGLDevicePtr CreateSystemDefaultDevice ()
 

Member Function Documentation

◆ BlockUntilIdle()

void RGL::DeviceD3D12::BlockUntilIdle ( )
finalvirtual

Implements RGL::IDevice.

◆ CreateBuffer()

RGLBufferPtr RGL::DeviceD3D12::CreateBuffer ( const BufferConfig &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateCommandQueue()

RGLCommandQueuePtr RGL::DeviceD3D12::CreateCommandQueue ( QueueType  type)
finalvirtual

Implements RGL::IDevice.

◆ CreateDefaultShaderLibrary()

RGLShaderLibraryPtr RGL::DeviceD3D12::CreateDefaultShaderLibrary ( )
finalvirtual

Implements RGL::IDevice.

◆ CreateFence()

RGLFencePtr RGL::DeviceD3D12::CreateFence ( bool  preSignaled)
finalvirtual

Implements RGL::IDevice.

◆ CreatePipelineLayout()

RGLPipelineLayoutPtr RGL::DeviceD3D12::CreatePipelineLayout ( const PipelineLayoutDescriptor &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateRenderPipeline()

RGLRenderPipelinePtr RGL::DeviceD3D12::CreateRenderPipeline ( const RenderPipelineDescriptor &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateSampler()

RGLSamplerPtr RGL::DeviceD3D12::CreateSampler ( const SamplerConfig &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibraryFromBytes()

RGLShaderLibraryPtr RGL::DeviceD3D12::CreateShaderLibraryFromBytes ( const std::span< const uint8_t >  )
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibraryFromName()

RGLShaderLibraryPtr RGL::DeviceD3D12::CreateShaderLibraryFromName ( const std::string_view &  name)
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibraryFromPath()

RGLShaderLibraryPtr RGL::DeviceD3D12::CreateShaderLibraryFromPath ( const std::filesystem::path &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibrarySourceCode()

RGLShaderLibraryPtr RGL::DeviceD3D12::CreateShaderLibrarySourceCode ( const std::string_view  ,
const FromSourceConfig &  config 
)
finalvirtual

Implements RGL::IDevice.

◆ CreateSwapchain()

RGLSwapchainPtr RGL::DeviceD3D12::CreateSwapchain ( RGLSurfacePtr  ,
RGLCommandQueuePtr  ,
int  ,
int   
)
finalvirtual

Implements RGL::IDevice.

◆ CreateTexture()

RGLTexturePtr RGL::DeviceD3D12::CreateTexture ( const TextureConfig &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateTextureWithData()

RGLTexturePtr RGL::DeviceD3D12::CreateTextureWithData ( const TextureConfig &  ,
const TextureUploadData &   
)
finalvirtual

Implements RGL::IDevice.

◆ GetBrandString()

std::string RGL::DeviceD3D12::GetBrandString ( )
virtual

Implements RGL::IDevice.

◆ GetCurrentVRAMInUse()

size_t RGL::DeviceD3D12::GetCurrentVRAMInUse ( ) const
finalvirtual

Implements RGL::IDevice.

◆ GetDeviceData()

DeviceData RGL::DeviceD3D12::GetDeviceData ( )
finalvirtual

Implements RGL::IDevice.

◆ GetGlobalBindlessTextureHeap()

TextureView RGL::DeviceD3D12::GetGlobalBindlessTextureHeap ( ) const
finalvirtual

Implements RGL::IDevice.

◆ GetTotalVRAM()

size_t RGL::DeviceD3D12::GetTotalVRAM ( ) const
finalvirtual

Implements RGL::IDevice.


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