18 #ifndef INCLUDED_RENDERER_BACKEND_DUMMY_DEVICECOMMANDCONTEXT 19 #define INCLUDED_RENDERER_BACKEND_DUMMY_DEVICECOMMANDCONTEXT 53 void ClearFramebuffer(
const bool color,
const bool depth,
const bool stencil)
override;
61 const void* data,
const size_t dataSize,
64 const void* data,
const size_t dataSize,
87 const uint32_t bindingSlot,
const void* data,
const uint32_t dataSize)
override;
97 const uint32_t firstIndex,
const uint32_t indexCount,
const int32_t vertexOffset)
override;
104 const int32_t vertexOffset)
override;
112 const int32_t bindingSlot,
113 const float value)
override;
115 const int32_t bindingSlot,
116 const float valueX,
const float valueY)
override;
118 const int32_t bindingSlot,
119 const float valueX,
const float valueY,
120 const float valueZ)
override;
122 const int32_t bindingSlot,
123 const float valueX,
const float valueY,
124 const float valueZ,
const float valueW)
override;
131 void Flush()
override;
136 static std::unique_ptr<CDeviceCommandContext>
Create(
CDevice* device);
149 #endif // INCLUDED_RENDERER_BACKEND_DUMMY_DEVICECOMMANDCONTEXT void DrawIndexedInRange(const uint32_t firstIndex, const uint32_t indexCount, const uint32_t start, const uint32_t end) override
Definition: DeviceCommandContext.cpp:178
void UploadTexture(ITexture *texture, const Format dataFormat, const void *data, const size_t dataSize, const uint32_t level=0, const uint32_t layer=0) override
Definition: DeviceCommandContext.cpp:59
void DrawInstanced(const uint32_t firstVertex, const uint32_t vertexCount, const uint32_t firstInstance, const uint32_t instanceCount) override
Definition: DeviceCommandContext.cpp:168
void SetScissors(const uint32_t scissorCount, const Rect *scissors) override
Definition: DeviceCommandContext.cpp:123
void DrawIndexed(const uint32_t firstIndex, const uint32_t indexCount, const int32_t vertexOffset) override
Definition: DeviceCommandContext.cpp:164
void SetIndexBufferData(const void *data, const uint32_t dataSize) override
Definition: DeviceCommandContext.cpp:148
std::function< void(u8 *)> UploadBufferFunction
Definition: DeviceCommandContext.h:69
Definition: ITexture.h:33
void SetIndexBuffer(IBuffer *buffer) override
Definition: DeviceCommandContext.cpp:144
static std::unique_ptr< CDeviceCommandContext > Create(CDevice *device)
Definition: DeviceCommandContext.cpp:38
void BeginFramebufferPass(IFramebuffer *framebuffer) override
Starts a framebuffer pass, performs attachment load operations.
Definition: DeviceCommandContext.cpp:110
void Flush() override
Definition: DeviceCommandContext.cpp:98
void SetVertexBuffer(const uint32_t bindingSlot, IBuffer *buffer, const uint32_t offset) override
Definition: DeviceCommandContext.cpp:135
void UploadBufferRegion(IBuffer *buffer, const void *data, const uint32_t dataOffset, const uint32_t dataSize) override
Definition: DeviceCommandContext.cpp:80
void SetUniform(const int32_t bindingSlot, const float value) override
Definition: DeviceCommandContext.cpp:187
void DrawIndexedInstanced(const uint32_t firstIndex, const uint32_t indexCount, const uint32_t firstInstance, const uint32_t instanceCount, const int32_t vertexOffset) override
Definition: DeviceCommandContext.cpp:173
void BeginScopedLabel(const char *name) override
Definition: DeviceCommandContext.cpp:90
Format
Definition: Format.h:27
void Draw(const uint32_t firstVertex, const uint32_t vertexCount) override
Definition: DeviceCommandContext.cpp:160
void SetGraphicsPipelineState(IGraphicsPipelineState *pipelineState) override
Binds the graphics pipeline state.
Definition: DeviceCommandContext.cpp:54
IDevice * GetDevice() override
Definition: DeviceCommandContext.cpp:49
void EndPass() override
Definition: DeviceCommandContext.cpp:156
Represents a texture object.
Definition: TextureManager.h:256
A holder for precompiled graphics pipeline description.
Definition: PipelineState.h:190
Backend
Definition: Backend.h:27
void SetTexture(const int32_t bindingSlot, ITexture *texture) override
Definition: DeviceCommandContext.cpp:183
void EndFramebufferPass() override
Finishes a framebuffer pass, performs attachment store operations.
Definition: DeviceCommandContext.cpp:114
void UploadBuffer(IBuffer *buffer, const void *data, const uint32_t dataSize) override
Definition: DeviceCommandContext.cpp:72
void ClearFramebuffer(const bool color, const bool depth, const bool stencil) override
Clears all mentioned attachments.
Definition: DeviceCommandContext.cpp:106
unsigned int uint32_t
Definition: wposix_types.h:53
Definition: VideoMode.h:28
Definition: IDeviceCommandContext.h:94
void BlitFramebuffer(IFramebuffer *destinationFramebuffer, IFramebuffer *sourceFramebuffer) override
Definition: DeviceCommandContext.cpp:102
CDevice * m_Device
Definition: DeviceCommandContext.h:140
A wrapper for backend shader program to handle high-level operations like file reloading and handling...
Definition: ShaderProgram.h:33
void SetVertexBufferData(const uint32_t bindingSlot, const void *data, const uint32_t dataSize) override
Definition: DeviceCommandContext.cpp:139
void BeginPass() override
Definition: DeviceCommandContext.cpp:152
Definition: IDeviceCommandContext.h:40
IFramebuffer stores attachments which should be used by backend as rendering destinations.
Definition: IFramebuffer.h:84
void SetViewports(const uint32_t viewportCount, const Rect *viewports) override
Definition: DeviceCommandContext.cpp:127
void UploadTextureRegion(ITexture *texture, const Format dataFormat, const void *data, const size_t dataSize, const uint32_t xOffset, const uint32_t yOffset, const uint32_t width, const uint32_t height, const uint32_t level=0, const uint32_t layer=0) override
Definition: DeviceCommandContext.cpp:65
void EndScopedLabel() override
Definition: DeviceCommandContext.cpp:94
void SetVertexInputLayout(IVertexInputLayout *vertexInputLayout) override
Binds the vertex input layout.
Definition: DeviceCommandContext.cpp:131
void ReadbackFramebufferSync(const uint32_t x, const uint32_t y, const uint32_t width, const uint32_t height, void *data) override
Definition: DeviceCommandContext.cpp:118
Simplifed version of std::span (C++20) as we don't support the original one yet.
Definition: Span.h:36
Definition: DeviceCommandContext.h:42