Foundation
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
Foundation::RenderCore::ImmediateUpload::UploadBatch Class Reference

#include <ImmediateContext.hpp>

Public Member Functions

 UploadBatch ()=default
 
 UploadBatch (UploadBatch const &)=delete
 
UploadBatchoperator= (UploadBatch const &)=delete
 
 UploadBatch (UploadBatch &&other) noexcept
 
UploadBatchoperator= (UploadBatch &&other) noexcept
 
 ~UploadBatch () noexcept
 
bool IsValid () const noexcept
 
RHICommandListGet () const
 
size_t CompletionValue () const noexcept
 
RHIDeviceSemaphoreCompletionTimeline () const
 
char * Upload (RHIBuffer *dst, size_t dataSize, size_t dstOffset)
 
char * Upload (RHITexture *dst, size_t dataSize, RHITextureSubresourceLayer dstLayer={.aspect=RHITextureAspectFlagBits::Color}, RHIOffset2D dstOffset={}, RHIExtent2D dstExtent={})
 
char * Upload (RHITexture *dst, size_t dataSize, RHITextureSubresourceLayer dstLayer, RHIOffset3D dstOffset, RHIExtent3D dstExtent)
 
bool Align (uint32_t alignment)
 
void End (RHIDeviceFence *completionFence=nullptr)
 
void End (ImmediateSubmitDesc const &desc)
 
void Abort ()
 

Public Attributes

char * begin {}
 
char * ptr {}
 
char * end {}
 

Private Member Functions

 UploadBatch (ImmediateUpload *owner, size_t lane) noexcept
 

Private Attributes

ImmediateUploadmOwner {}
 
size_t mLane {SIZE_MAX}
 
size_t mCompletionValue {}
 

Friends

struct ImmediateUpload
 

Constructor & Destructor Documentation

◆ UploadBatch() [1/4]

Foundation::RenderCore::ImmediateUpload::UploadBatch::UploadBatch ( ImmediateUpload owner,
size_t  lane 
)
privatenoexcept

◆ UploadBatch() [2/4]

Foundation::RenderCore::ImmediateUpload::UploadBatch::UploadBatch ( )
default

◆ UploadBatch() [3/4]

Foundation::RenderCore::ImmediateUpload::UploadBatch::UploadBatch ( UploadBatch const &  )
delete

◆ UploadBatch() [4/4]

Foundation::RenderCore::ImmediateUpload::UploadBatch::UploadBatch ( UploadBatch &&  other)
noexcept

◆ ~UploadBatch()

Foundation::RenderCore::ImmediateUpload::UploadBatch::~UploadBatch ( )
noexcept

Member Function Documentation

◆ Abort()

void Foundation::RenderCore::ImmediateUpload::UploadBatch::Abort ( )

◆ Align()

bool Foundation::RenderCore::ImmediateUpload::UploadBatch::Align ( uint32_t  alignment)

◆ CompletionTimeline()

RHIDeviceSemaphore * Foundation::RenderCore::ImmediateUpload::UploadBatch::CompletionTimeline ( ) const

◆ CompletionValue()

size_t Foundation::RenderCore::ImmediateUpload::UploadBatch::CompletionValue ( ) const
inlinenoexcept

◆ End() [1/2]

void Foundation::RenderCore::ImmediateUpload::UploadBatch::End ( ImmediateSubmitDesc const &  desc)

◆ End() [2/2]

void Foundation::RenderCore::ImmediateUpload::UploadBatch::End ( RHIDeviceFence completionFence = nullptr)

◆ Get()

RHICommandList * Foundation::RenderCore::ImmediateUpload::UploadBatch::Get ( ) const

◆ IsValid()

bool Foundation::RenderCore::ImmediateUpload::UploadBatch::IsValid ( ) const
inlinenoexcept

◆ operator=() [1/2]

ImmediateUpload::UploadBatch & Foundation::RenderCore::ImmediateUpload::UploadBatch::operator= ( UploadBatch &&  other)
noexcept

◆ operator=() [2/2]

UploadBatch & Foundation::RenderCore::ImmediateUpload::UploadBatch::operator= ( UploadBatch const &  )
delete

◆ Upload() [1/3]

char * Foundation::RenderCore::ImmediateUpload::UploadBatch::Upload ( RHIBuffer dst,
size_t  dataSize,
size_t  dstOffset 
)

◆ Upload() [2/3]

char * Foundation::RenderCore::ImmediateUpload::UploadBatch::Upload ( RHITexture dst,
size_t  dataSize,
RHITextureSubresourceLayer  dstLayer,
RHIOffset3D  dstOffset,
RHIExtent3D  dstExtent 
)

◆ Upload() [3/3]

char * Foundation::RenderCore::ImmediateUpload::UploadBatch::Upload ( RHITexture dst,
size_t  dataSize,
RHITextureSubresourceLayer  dstLayer = {.aspect = RHITextureAspectFlagBits::Color},
RHIOffset2D  dstOffset = {},
RHIExtent2D  dstExtent = {} 
)

Friends And Related Symbol Documentation

◆ ImmediateUpload

friend struct ImmediateUpload
friend

Member Data Documentation

◆ begin

char* Foundation::RenderCore::ImmediateUpload::UploadBatch::begin {}

◆ end

char * Foundation::RenderCore::ImmediateUpload::UploadBatch::end {}

◆ mCompletionValue

size_t Foundation::RenderCore::ImmediateUpload::UploadBatch::mCompletionValue {}
private

◆ mLane

size_t Foundation::RenderCore::ImmediateUpload::UploadBatch::mLane {SIZE_MAX}
private

◆ mOwner

ImmediateUpload* Foundation::RenderCore::ImmediateUpload::UploadBatch::mOwner {}
private

◆ ptr

char * Foundation::RenderCore::ImmediateUpload::UploadBatch::ptr {}

The documentation for this class was generated from the following files: