|
| ~CDevice () override |
|
Backend | GetBackend () const override |
|
const std::string & | GetName () const override |
|
const std::string & | GetVersion () const override |
|
const std::string & | GetDriverInformation () const override |
|
const std::vector< std::string > & | GetExtensions () const override |
|
void | Report (const ScriptRequest &rq, JS::HandleValue settings) override |
|
std::unique_ptr< IDeviceCommandContext > | CreateCommandContext () override |
|
std::unique_ptr< IGraphicsPipelineState > | CreateGraphicsPipelineState (const SGraphicsPipelineStateDesc &pipelineStateDesc) override |
| Creates a graphics pipeline state. More...
|
|
std::unique_ptr< IComputePipelineState > | CreateComputePipelineState (const SComputePipelineStateDesc &pipelineStateDesc) override |
| Creates a compute pipeline state. More...
|
|
std::unique_ptr< IVertexInputLayout > | CreateVertexInputLayout (const PS::span< const SVertexAttributeFormat > attributes) override |
| Creates a vertex input layout. More...
|
|
std::unique_ptr< ITexture > | CreateTexture (const char *name, const ITexture::Type type, const uint32_t usage, const Format format, const uint32_t width, const uint32_t height, const Sampler::Desc &defaultSamplerDesc, const uint32_t MIPLevelCount, const uint32_t sampleCount) override |
|
std::unique_ptr< ITexture > | CreateTexture2D (const char *name, const uint32_t usage, const Format format, const uint32_t width, const uint32_t height, const Sampler::Desc &defaultSamplerDesc, const uint32_t MIPLevelCount=1, const uint32_t sampleCount=1) override |
|
std::unique_ptr< IFramebuffer > | CreateFramebuffer (const char *name, SColorAttachment *colorAttachment, SDepthStencilAttachment *depthStencilAttachment) override |
|
std::unique_ptr< IBuffer > | CreateBuffer (const char *name, const IBuffer::Type type, const uint32_t size, const uint32_t usage) override |
|
std::unique_ptr< CBuffer > | CreateCBuffer (const char *name, const IBuffer::Type type, const uint32_t size, const uint32_t usage) |
|
std::unique_ptr< IShaderProgram > | CreateShaderProgram (const CStr &name, const CShaderDefines &defines) override |
|
bool | AcquireNextBackbuffer () override |
| Acquires a backbuffer for rendering a frame. More...
|
|
IFramebuffer * | GetCurrentBackbuffer (const AttachmentLoadOp colorAttachmentLoadOp, const AttachmentStoreOp colorAttachmentStoreOp, const AttachmentLoadOp depthStencilAttachmentLoadOp, const AttachmentStoreOp depthStencilAttachmentStoreOp) override |
| Returns a framebuffer for the current backbuffer with the required attachment operations. More...
|
|
void | Present () override |
| Presents the backbuffer to the swapchain queue to be flipped on a screen. More...
|
|
void | OnWindowResize (const uint32_t width, const uint32_t height) override |
| Should be called on window surface resize. More...
|
|
bool | IsTextureFormatSupported (const Format format) const override |
|
bool | IsFramebufferFormatSupported (const Format format) const override |
|
Format | GetPreferredDepthStencilFormat (const uint32_t usage, const bool depth, const bool stencil) const override |
| Returns the most suitable format for the usage. More...
|
|
const Capabilities & | GetCapabilities () const override |
|
VkDevice | GetVkDevice () |
|
VmaAllocator | GetVMAAllocator () |
|
void | ScheduleObjectToDestroy (VkObjectType type, const void *handle, const VmaAllocation allocation) |
|
void | ScheduleObjectToDestroy (VkObjectType type, const uint64_t handle, const VmaAllocation allocation) |
|
void | ScheduleTextureToDestroy (const DeviceObjectUID uid) |
|
void | SetObjectName (VkObjectType type, const void *handle, const char *name) |
|
void | SetObjectName (VkObjectType type, const uint64_t handle, const char *name) |
|
std::unique_ptr< CRingCommandContext > | CreateRingCommandContext (const size_t size) |
|
const SAvailablePhysicalDevice & | GetChoosenPhysicalDevice () const |
|
CRenderPassManager & | GetRenderPassManager () |
|
CSamplerManager & | GetSamplerManager () |
|
CDescriptorManager & | GetDescriptorManager () |
|
CTexture * | GetCurrentBackbufferTexture () |
|
CTexture * | GetOrCreateBackbufferReadbackTexture () |
|
DeviceObjectUID | GenerateNextDeviceObjectUID () |
|
virtual | ~IDevice () |
|
virtual Backend | GetBackend () const =0 |
|
virtual const std::string & | GetName () const =0 |
|
virtual const std::string & | GetVersion () const =0 |
|
virtual const std::string & | GetDriverInformation () const =0 |
|
virtual const std::vector< std::string > & | GetExtensions () const =0 |
|
virtual void | Report (const ScriptRequest &rq, JS::HandleValue settings)=0 |
|
virtual std::unique_ptr< IDeviceCommandContext > | CreateCommandContext ()=0 |
|
virtual std::unique_ptr< IGraphicsPipelineState > | CreateGraphicsPipelineState (const SGraphicsPipelineStateDesc &pipelineStateDesc)=0 |
| Creates a graphics pipeline state. More...
|
|
virtual std::unique_ptr< IComputePipelineState > | CreateComputePipelineState (const SComputePipelineStateDesc &pipelineStateDesc)=0 |
| Creates a compute pipeline state. More...
|
|
virtual std::unique_ptr< IVertexInputLayout > | CreateVertexInputLayout (const PS::span< const SVertexAttributeFormat > attributes)=0 |
| Creates a vertex input layout. More...
|
|
virtual std::unique_ptr< ITexture > | CreateTexture (const char *name, const ITexture::Type type, const uint32_t usage, const Format format, const uint32_t width, const uint32_t height, const Sampler::Desc &defaultSamplerDesc, const uint32_t MIPLevelCount, const uint32_t sampleCount)=0 |
|
virtual std::unique_ptr< ITexture > | CreateTexture2D (const char *name, const uint32_t usage, const Format format, const uint32_t width, const uint32_t height, const Sampler::Desc &defaultSamplerDesc, const uint32_t MIPLevelCount=1, const uint32_t sampleCount=1)=0 |
|
virtual std::unique_ptr< IFramebuffer > | CreateFramebuffer (const char *name, SColorAttachment *colorAttachment, SDepthStencilAttachment *depthStencilAttachment)=0 |
|
virtual std::unique_ptr< IBuffer > | CreateBuffer (const char *name, const IBuffer::Type type, const uint32_t size, const uint32_t usage)=0 |
|
virtual std::unique_ptr< IShaderProgram > | CreateShaderProgram (const CStr &name, const CShaderDefines &defines)=0 |
|
virtual bool | AcquireNextBackbuffer ()=0 |
| Acquires a backbuffer for rendering a frame. More...
|
|
virtual IFramebuffer * | GetCurrentBackbuffer (const AttachmentLoadOp colorAttachmentLoadOp, const AttachmentStoreOp colorAttachmentStoreOp, const AttachmentLoadOp depthStencilAttachmentLoadOp, const AttachmentStoreOp depthStencilAttachmentStoreOp)=0 |
| Returns a framebuffer for the current backbuffer with the required attachment operations. More...
|
|
virtual void | Present ()=0 |
| Presents the backbuffer to the swapchain queue to be flipped on a screen. More...
|
|
virtual void | OnWindowResize (const uint32_t width, const uint32_t height)=0 |
| Should be called on window surface resize. More...
|
|
virtual bool | IsTextureFormatSupported (const Format format) const =0 |
|
virtual bool | IsFramebufferFormatSupported (const Format format) const =0 |
|
virtual Format | GetPreferredDepthStencilFormat (const uint32_t usage, const bool depth, const bool stencil) const =0 |
| Returns the most suitable format for the usage. More...
|
|
virtual const Capabilities & | GetCapabilities () const =0 |
|