18 #ifndef INCLUDED_RENDERER_BACKEND_DUMMY_DEVICE 19 #define INCLUDED_RENDERER_BACKEND_DUMMY_DEVICE 39 class CDeviceCommandContext;
70 const char* name,
const uint32_t usage,
99 const uint32_t usage,
const bool depth,
const bool stencil)
const override;
121 #endif // INCLUDED_RENDERER_BACKEND_DUMMY_DEVICE AttachmentLoadOp
Load operation is set for each attachment, what should be done with its content on BeginFramebufferPa...
Definition: IFramebuffer.h:36
bool IsFramebufferFormatSupported(const Format format) const override
Definition: Device.cpp:151
std::string m_Version
Definition: Device.h:106
Type
Definition: ITexture.h:36
AttachmentStoreOp
Store operation is set for each attachment, what should be done with its content on EndFramebufferPas...
Definition: IFramebuffer.h:51
Type
Definition: IBuffer.h:34
const std::string & GetDriverInformation() const override
Definition: Device.h:51
std::unique_ptr< IVertexInputLayout > CreateVertexInputLayout(const PS::span< const SVertexAttributeFormat > attributes) override
Creates a vertex input layout.
Definition: Device.cpp:83
void Report(const ScriptRequest &rq, JS::HandleValue settings) override
Definition: Device.cpp:67
Capabilities m_Capabilities
Definition: Device.h:112
Backend GetBackend() const override
Definition: Device.h:47
CDevice()
Definition: Device.cpp:42
Format
Definition: Format.h:27
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:97
std::unique_ptr< IFramebuffer > m_Backbuffer
Definition: Device.h:110
std::string m_Name
Definition: Device.h:105
std::unique_ptr< IBuffer > CreateBuffer(const char *name, const IBuffer::Type type, const uint32_t size, const bool dynamic) override
Definition: Device.cpp:112
Definition: PipelineState.h:164
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:89
const std::string & GetVersion() const override
Definition: Device.h:50
std::unique_ptr< IFramebuffer > CreateFramebuffer(const char *name, SColorAttachment *colorAttachment, SDepthStencilAttachment *depthStencilAttachment) override
Definition: Device.cpp:106
std::string m_DriverInformation
Definition: Device.h:107
Definition: IFramebuffer.h:67
Backend
Definition: Backend.h:27
void OnWindowResize(const uint32_t width, const uint32_t height) override
Should be called on window surface resize.
Definition: Device.cpp:142
Represents a mapping of name strings to value strings, for use with #if and #ifdef and similar condit...
Definition: ShaderDefines.h:146
const Capabilities & GetCapabilities() const override
Definition: Device.h:101
bool IsTextureFormatSupported(const Format format) const override
Definition: Device.cpp:146
const std::string & GetName() const override
Definition: Device.h:49
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:130
std::vector< std::string > m_Extensions
Definition: Device.h:108
unsigned int uint32_t
Definition: wposix_types.h:53
Definition: VideoMode.h:28
std::unique_ptr< IShaderProgram > CreateShaderProgram(const CStr &name, const CShaderDefines &defines) override
Definition: Device.cpp:118
const std::vector< std::string > & GetExtensions() const override
Definition: Device.h:52
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:156
Definition: IFramebuffer.h:59
bool AcquireNextBackbuffer() override
Acquires a backbuffer for rendering a frame.
Definition: Device.cpp:124
Spidermonkey maintains some 'local' state via the JSContext* object.
Definition: ScriptRequest.h:59
IFramebuffer stores attachments which should be used by backend as rendering destinations.
Definition: IFramebuffer.h:84
std::unique_ptr< IGraphicsPipelineState > CreateGraphicsPipelineState(const SGraphicsPipelineStateDesc &pipelineStateDesc) override
Creates a graphics pipeline state.
Definition: Device.cpp:77
void Present() override
Presents the backbuffer to the swapchain queue to be flipped on a screen.
Definition: Device.cpp:137
std::unique_ptr< IDeviceCommandContext > CreateCommandContext() override
Definition: Device.cpp:72
Simplifed version of std::span (C++20) as we don't support the original one yet.
Definition: Span.h:36