26#include <Objectively/Object.h>
41typedef struct CommandBufferInterface CommandBufferInterface;
126struct CommandBufferInterface {
131 ObjectInterface objectInterface;
159 ComputePass *(*beginComputePass)(
CommandBuffer *self,
const SDL_GPUStorageTextureReadWriteBinding *storageTextures, Uint32 numStorageTextures,
const SDL_GPUStorageBufferReadWriteBinding *storageBuffers, Uint32 numStorageBuffers);
184 RenderPass *(*beginRenderPass)(
CommandBuffer *self,
const SDL_GPUColorTargetInfo *colorTargets, Uint32 numColorTargets,
const SDL_GPUDepthStencilTargetInfo *depthStencil);
191 void (*blitTexture)(
const CommandBuffer *self,
const SDL_GPUBlitInfo *info);
209 void (*generateMipmaps)(
const CommandBuffer *self, SDL_GPUTexture *texture);
227 void (*insertDebugLabel)(
const CommandBuffer *self,
const char *text);
241 void (*pushComputeUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
248 void (*pushDebugGroup)(
const CommandBuffer *self,
const char *name);
255 void (*pushFragmentUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
271 void (*pushUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
278 void (*pushVertexUniformData)(
const CommandBuffer *self, Uint32 slot,
const void *data, Uint32 length);
OBJECTIVELYGPU_EXPORT Class * _CommandBuffer(void)
Definition CommandBuffer.c:325
#define OBJECTIVELYGPU_EXPORT
Definition Types.h:35
A recorded sequence of GPU commands for a single frame.
Definition CommandBuffer.h:80
RenderDevice * device
The RenderDevice that this CommandBuffer belongs to.
Definition CommandBuffer.h:101
Object object
The superclass.
Definition CommandBuffer.h:85
CommandBufferInterface * interface
The interface.
Definition CommandBuffer.h:91
ident data
User data.
Definition CommandBuffer.h:120
SDL_GPUCommandBuffer * commands
The underlying SDL command buffer.
Definition CommandBuffer.h:96
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
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:49
SDL_GPUTexture * texture
The swapchain render target for this frame.
Definition CommandBuffer.h:54
SDL_Size size
The swapchain dimensions in pixels.
Definition CommandBuffer.h:64
SDL_GPUTextureFormat format
The swapchain texture format.
Definition CommandBuffer.h:59