26#include <Objectively/Object.h>
37typedef struct CopyPassInterface CopyPassInterface;
79 SDL_GPUCopyPass *pass;
90struct CopyPassInterface {
95 ObjectInterface objectInterface;
102 void (*copyBufferToBuffer)(
const CopyPass *self,
const SDL_GPUBufferLocation *src,
const SDL_GPUBufferLocation *dst, Uint32 size,
bool cycle);
109 void (*copyTextureToTexture)(
const CopyPass *self,
const SDL_GPUTextureLocation *src,
const SDL_GPUTextureLocation *dst, Uint32 w, Uint32 h, Uint32 d,
bool cycle);
116 void (*downloadBuffer)(
const CopyPass *self,
const SDL_GPUBufferRegion *src,
const SDL_GPUTransferBufferLocation *dst);
123 void (*downloadTexture)(
const CopyPass *self,
const SDL_GPUTextureRegion *src,
const SDL_GPUTextureTransferInfo *dst);
134 void (*downloadQueryResults)(
const CopyPass *self,
QueryPool *pool, Uint32 firstQuery, Uint32 count,
const SDL_GPUTransferBufferLocation *dst);
156 void (*uploadBuffer)(
const CopyPass *self,
const SDL_GPUTransferBufferLocation *src,
const SDL_GPUBufferRegion *dst,
bool cycle);
173 void (*uploadData)(
const CopyPass *self, SDL_GPUBuffer *dst,
const void *data, Uint32 size, Uint32 offset,
bool cycle);
184 void (*uploadTexture)(
const CopyPass *self,
const SDL_GPUTextureTransferInfo *src,
const SDL_GPUTextureRegion *dst,
bool cycle);
OBJECTIVELYGPU_EXPORT Class * _CopyPass(void)
Definition CopyPass.c:202
#define OBJECTIVELYGPU_EXPORT
Definition Types.h:35
A recorded sequence of GPU commands for a single frame.
Definition CommandBuffer.h:80
A scoped copy pass for uploading CPU data and copying GPU resources.
Definition CopyPass.h:55
Object object
The superclass.
Definition CopyPass.h:60
CopyPassInterface * interface
The interface.
Definition CopyPass.h:66
ident data
User data.
Definition CopyPass.h:84
An SDL_GPUQueryPool and its metadata.
Definition QueryPool.h:96