Persistent staging lanes + immediate contexts for batchable uploads.
More...
#include <ImmediateContext.hpp>
Persistent staging lanes + immediate contexts for batchable uploads.
- Note
- Acquire an exclusive UploadBatch with BeginBatch / TryBeginBatch. Each batch owns one lane until UploadBatch::End, after which the lane stays in-flight until its completion timeline value is reached.
◆ ImmediateUpload()
| Foundation::RenderCore::ImmediateUpload::ImmediateUpload |
( |
RHIDevice * |
device, |
|
|
size_t |
capacity, |
|
|
RHIDeviceQueueType |
type = RHIDeviceQueueType::Graphics, |
|
|
size_t |
buffers = 1 |
|
) |
| |
◆ AcquireLane()
◆ BeginBatch()
◆ Capacity()
| size_t Foundation::RenderCore::ImmediateUpload::Capacity |
( |
| ) |
const |
|
inlinenoexcept |
◆ CompletionTimeline()
| RHIDeviceSemaphore * Foundation::RenderCore::ImmediateUpload::CompletionTimeline |
( |
| ) |
const |
|
inline |
◆ IsLaneReusable()
| bool Foundation::RenderCore::ImmediateUpload::IsLaneReusable |
( |
size_t |
lane, |
|
|
size_t |
timeout |
|
) |
| |
|
private |
◆ LaneCount()
| size_t Foundation::RenderCore::ImmediateUpload::LaneCount |
( |
| ) |
const |
|
inlinenoexcept |
◆ ReleaseRecording()
| void Foundation::RenderCore::ImmediateUpload::ReleaseRecording |
( |
size_t |
lane | ) |
|
|
privatenoexcept |
◆ TryAcquireLane()
| bool Foundation::RenderCore::ImmediateUpload::TryAcquireLane |
( |
size_t |
lane, |
|
|
UploadBatch & |
out |
|
) |
| |
|
private |
◆ TryBeginBatch()
| bool Foundation::RenderCore::ImmediateUpload::TryBeginBatch |
( |
UploadBatch & |
out | ) |
|
◆ WaitIdle()
| void Foundation::RenderCore::ImmediateUpload::WaitIdle |
( |
| ) |
|
◆ WaitLaneReusable()
| void Foundation::RenderCore::ImmediateUpload::WaitLaneReusable |
( |
size_t |
lane | ) |
|
|
private |
◆ WaitTimeline()
| bool Foundation::RenderCore::ImmediateUpload::WaitTimeline |
( |
size_t |
value, |
|
|
size_t |
timeout |
|
) |
| const |
◆ mCapacity
| size_t Foundation::RenderCore::ImmediateUpload::mCapacity {} |
|
private |
◆ mCompletionTimeline
◆ mDevice
| RHIDevice* Foundation::RenderCore::ImmediateUpload::mDevice |
|
private |
◆ mLanes
◆ mNextLane
| size_t Foundation::RenderCore::ImmediateUpload::mNextLane {} |
|
private |
◆ mNextSignalValue
| size_t Foundation::RenderCore::ImmediateUpload::mNextSignalValue {1} |
|
private |
◆ mSubmitSignals
The documentation for this struct was generated from the following files: