18#ifndef INCLUDED_RENDERER_BACKEND_DUMMY_DEVICE
19#define INCLUDED_RENDERER_BACKEND_DUMMY_DEVICE
39class CDeviceCommandContext;
73 const char* name,
const uint32_t usage,
102 const uint32_t usage,
const bool depth,
const bool stencil)
const override;
Represents a mapping of name strings to value strings, for use with #if and #ifdef and similar condit...
Definition: ShaderDefines.h:147
Simplifed version of std::span (C++20) as we don't support the original one yet.
Definition: Span.h:37
std::unique_ptr< IDeviceCommandContext > CreateCommandContext() override
Definition: Device.cpp:72
Capabilities m_Capabilities
Definition: Device.h:115
void OnWindowResize(const uint32_t width, const uint32_t height) override
Should be called on window surface resize.
Definition: Device.cpp:148
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
Definition: Device.cpp:103
bool IsTextureFormatSupported(const Format format) const override
Definition: Device.cpp:152
const std::string & GetVersion() const override
Definition: Device.h:50
IFramebuffer * GetCurrentBackbuffer(const AttachmentLoadOp, const AttachmentStoreOp, const AttachmentLoadOp, const AttachmentStoreOp) override
Returns a framebuffer for the current backbuffer with the required attachment operations.
Definition: Device.cpp:136
std::unique_ptr< IFramebuffer > m_Backbuffer
Definition: Device.h:113
std::unique_ptr< IVertexInputLayout > CreateVertexInputLayout(const PS::span< const SVertexAttributeFormat > attributes) override
Creates a vertex input layout.
Definition: Device.cpp:89
Format GetPreferredDepthStencilFormat(const uint32_t usage, const bool depth, const bool stencil) const override
Returns the most suitable format for the usage.
Definition: Device.cpp:162
std::vector< std::string > m_Extensions
Definition: Device.h:111
void Present() override
Presents the backbuffer to the swapchain queue to be flipped on a screen.
Definition: Device.cpp:143
std::string m_Name
Definition: Device.h:108
const std::vector< std::string > & GetExtensions() const override
Definition: Device.h:52
std::unique_ptr< IShaderProgram > CreateShaderProgram(const CStr &name, const CShaderDefines &defines) override
Definition: Device.cpp:124
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
Definition: Device.cpp:95
bool IsFramebufferFormatSupported(const Format format) const override
Definition: Device.cpp:157
Backend GetBackend() const override
Definition: Device.h:47
std::string m_Version
Definition: Device.h:109
const std::string & GetDriverInformation() const override
Definition: Device.h:51
std::string m_DriverInformation
Definition: Device.h:110
std::unique_ptr< IBuffer > CreateBuffer(const char *name, const IBuffer::Type type, const uint32_t size, const uint32_t usage) override
Definition: Device.cpp:118
std::unique_ptr< IGraphicsPipelineState > CreateGraphicsPipelineState(const SGraphicsPipelineStateDesc &pipelineStateDesc) override
Creates a graphics pipeline state.
Definition: Device.cpp:77
std::unique_ptr< IComputePipelineState > CreateComputePipelineState(const SComputePipelineStateDesc &pipelineStateDesc) override
Creates a compute pipeline state.
Definition: Device.cpp:83
const std::string & GetName() const override
Definition: Device.h:49
const Capabilities & GetCapabilities() const override
Definition: Device.h:104
bool AcquireNextBackbuffer() override
Acquires a backbuffer for rendering a frame.
Definition: Device.cpp:130
CDevice()
Definition: Device.cpp:42
void Report(const ScriptRequest &rq, JS::HandleValue settings) override
Definition: Device.cpp:67
std::unique_ptr< IFramebuffer > CreateFramebuffer(const char *name, SColorAttachment *colorAttachment, SDepthStencilAttachment *depthStencilAttachment) override
Definition: Device.cpp:112
Type
Definition: IBuffer.h:35
IFramebuffer stores attachments which should be used by backend as rendering destinations.
Definition: IFramebuffer.h:85
Type
Definition: ITexture.h:37
Spidermonkey maintains some 'local' state via the JSContext* object.
Definition: ScriptRequest.h:60
Format
Definition: Format.h:28
AttachmentStoreOp
Store operation is set for each attachment, what should be done with its content on EndFramebufferPas...
Definition: IFramebuffer.h:52
Backend
Definition: Backend.h:28
AttachmentLoadOp
Load operation is set for each attachment, what should be done with its content on BeginFramebufferPa...
Definition: IFramebuffer.h:37
Definition: VideoMode.h:29
Definition: IFramebuffer.h:60
Definition: PipelineState.h:175
Definition: IFramebuffer.h:68
Definition: PipelineState.h:165
unsigned int uint32_t
Definition: wposix_types.h:53