26 #include "RenderDevice.h" 27 #include "DeviceContext.h" 31 struct UploadBufferDesc
38 bool operator == (
const UploadBufferDesc &rhs)
const 40 return Width == rhs.Width &&
41 Height == rhs.Height &&
47 class IUploadBuffer :
public IObject
50 virtual void WaitForCopyScheduled() = 0;
51 virtual void* GetDataPtr() = 0;
52 virtual size_t GetRowStride()
const = 0;
53 virtual size_t GetDepthStride()
const = 0;
54 virtual const UploadBufferDesc& GetDesc()
const = 0;
57 struct TextureUploaderDesc
62 class ITextureUploader :
public IObject
65 virtual void RenderThreadUpdate(IDeviceContext *pContext) = 0;
66 virtual void AllocateUploadBuffer(
const UploadBufferDesc& Desc,
bool IsRenderThread, IUploadBuffer **ppBuffer) = 0;
67 virtual void ScheduleGPUCopy(ITexture *pDstTexture,
Uint32 ArraySlice,
Uint32 MipLevel, IUploadBuffer *pUploadBuffer) = 0;
68 virtual void RecycleBuffer(IUploadBuffer *pUploadBuffer) = 0;
71 void CreateTextureUploader(IRenderDevice *pDevice,
const TextureUploaderDesc& Desc, ITextureUploader **ppUploader);
TEXTURE_FORMAT
Texture formats.
Definition: GraphicsTypes.h:244
Unknown format.
Definition: GraphicsTypes.h:247
Graphics engine namespace.
Definition: AdaptiveFixedBlockAllocator.h:30
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:39