26#include <Objectively/Object.h>
42typedef struct CommandBufferInterface CommandBufferInterface;
127struct CommandBufferInterface {
132 ObjectInterface objectInterface;
162 ComputePass *(*beginComputePass)(
CommandBuffer *self,
const SDL_GPUStorageTextureReadWriteBinding *storageTextures, Uint32 numStorageTextures,
const SDL_GPUStorageBufferReadWriteBinding *storageBuffers, Uint32 numStorageBuffers);
187 RenderPass *(*beginRenderPass)(
CommandBuffer *self,
const SDL_GPUColorTargetInfo *colorTargets, Uint32 numColorTargets,
const SDL_GPUDepthStencilTargetInfo *depthStencil);
213 void (*blitTexture)(
const CommandBuffer *self,
const SDL_GPUBlitInfo *info);
231 void (*generateMipmaps)(
const CommandBuffer *self, SDL_GPUTexture *texture);
249 void (*insertDebugLabel)(
const CommandBuffer *self,
const char *text);
263 void (*pushComputeUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
270 void (*pushDebugGroup)(
const CommandBuffer *self,
const char *name);
277 void (*pushFragmentUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
293 void (*pushUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
300 void (*pushVertexUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
OBJECTIVELYGPU_EXPORT Class * _CommandBuffer(void)
Definition CommandBuffer.c:356
#define OBJECTIVELYGPU_EXPORT
Definition Types.h:35
A recorded sequence of GPU commands for a single frame.
Definition CommandBuffer.h:81
RenderDevice * device
The RenderDevice that this CommandBuffer belongs to.
Definition CommandBuffer.h:102
Object object
The superclass.
Definition CommandBuffer.h:86
CommandBufferInterface * interface
The interface.
Definition CommandBuffer.h:92
ident data
User data.
Definition CommandBuffer.h:121
SDL_GPUCommandBuffer * commands
The underlying SDL command buffer.
Definition CommandBuffer.h:97
A scoped compute pass for recording GPU compute dispatches.
Definition ComputePass.h:56
A scoped copy pass for uploading CPU data and copying GPU resources.
Definition CopyPass.h:55
An SDL_GPUFence, signaled once a submitted CommandBuffer's GPU work completes.
Definition Fence.h:55
An off-screen render target grouping a color and/or depth texture.
Definition Framebuffer.h:177
The RenderDevice encapsulates an SDL_GPUDevice and provides methods for allocating GPU resources,...
Definition RenderDevice.h:63
A scoped render pass for recording draw commands into a CommandBuffer.
Definition RenderPass.h:57
The SDL_Size type.
Definition Types.h:47
The swapchain texture acquired for a single frame.
Definition CommandBuffer.h:50
SDL_GPUTexture * texture
The swapchain render target for this frame.
Definition CommandBuffer.h:55
SDL_Size size
The swapchain dimensions in pixels.
Definition CommandBuffer.h:65
SDL_GPUTextureFormat format
The swapchain texture format.
Definition CommandBuffer.h:60