XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALTextureReadback Class Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <TextureReadback.h>

Classes

struct  ReadbackRequest
struct  ReadbackCapture

Public Member Functions

 xiiGALTextureReadback (xiiGALDevice *pDevice)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
xiiResult Enqueue (xiiGALCommandList *pCommandList, const ReadbackRequest &request)
bool HasCompleted () const
 Returns true if the oldest pending readback has completed on the GPU.
ReadbackCapture GetCompleted ()
 Retrieves the oldest completed readback capture (if any). Non-blocking.
void WaitForNextCompleted ()
 Blocks until at least one pending readback completes.
void RecycleStagingTexture (xiiGALTexture *pStagingTexture)
 Recycle a staging texture back into the internal pool for reuse.

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

Helper to read back GPU compute outputs from textures into CPU-readable staging textures.

Member Function Documentation

◆ Enqueue()

xiiResult xiiGALTextureReadback::Enqueue ( xiiGALCommandList * pCommandList,
const ReadbackRequest & request )

Enqueue a readback from a texture into an internal staging texture.

Records copy commands on the provided command list and signals an internal fence. Failure rejects invalid subresources/regions or unavailable staging/fence resources without recording a copy or adding a pending capture. Supports single-sample, uncompressed 2D textures, 2D arrays and cube faces. The source and command list must belong to this helper's device.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsFoundation/Tools/TextureReadback.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsFoundation/Tools/Implementation/TextureReadback.cpp