Skip to content

Commit e2aa260

Browse files
IGPUUploadManager: rename GPUUploadExecutedCallbackType to GPUUploadEnqueuedCallbackType
1 parent 552ccdd commit e2aa260

3 files changed

Lines changed: 15 additions & 10 deletions

File tree

Graphics/GraphicsTools/include/GPUUploadManagerImpl.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class GPUUploadManagerImpl final : public ObjectBase<IGPUUploadManager>
5757
Uint32 DstOffset,
5858
Uint32 NumBytes,
5959
const void* pSrcData,
60-
GPUUploadExecutedCallbackType Callback,
60+
GPUUploadEnqueuedCallbackType Callback,
6161
void* pCallbackData) override final;
6262

6363
class Page
@@ -92,7 +92,7 @@ class GPUUploadManagerImpl final : public ObjectBase<IGPUUploadManager>
9292
Uint32 DstOffset,
9393
Uint32 NumBytes,
9494
const void* pSrcData,
95-
GPUUploadExecutedCallbackType Callback,
95+
GPUUploadEnqueuedCallbackType Callback,
9696
void* pCallbackData);
9797

9898
WritingStatus EndWriting();
@@ -156,7 +156,7 @@ class GPUUploadManagerImpl final : public ObjectBase<IGPUUploadManager>
156156
Uint32 DstOffset,
157157
Uint32 NumBytes,
158158
const void* pSrcData,
159-
GPUUploadExecutedCallbackType Callback,
159+
GPUUploadEnqueuedCallbackType Callback,
160160
void* pCallbackData);
161161

162162
WritingStatus EndWriting();
@@ -183,7 +183,7 @@ class GPUUploadManagerImpl final : public ObjectBase<IGPUUploadManager>
183183
{
184184
RefCntAutoPtr<IBuffer> pDstBuffer;
185185

186-
GPUUploadExecutedCallbackType Callback = nullptr;
186+
GPUUploadEnqueuedCallbackType Callback = nullptr;
187187
void* pCallbackData = nullptr;
188188

189189
Uint32 SrcOffset = 0;

Graphics/GraphicsTools/interface/GPUUploadManager.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@ struct GPUUploadManagerCreateInfo
4545
};
4646
typedef struct GPUUploadManagerCreateInfo GPUUploadManagerCreateInfo;
4747

48-
/// Callback function type for GPU upload completion notification.
49-
typedef void (*GPUUploadExecutedCallbackType)(void*);
48+
/// Callback function type for GPU upload enqueued callback.
49+
/// This callback is called when the GPU copy operation is scheduled for execution
50+
/// in the render thread.
51+
typedef void (*GPUUploadEnqueuedCallbackType)(void*);
5052

5153
// clang-format off
5254

@@ -77,7 +79,7 @@ DILIGENT_BEGIN_INTERFACE(IGPUUploadManager, IObject)
7779
Uint32 DstOffset,
7880
Uint32 NumBytes,
7981
const void* pSrcData,
80-
GPUUploadExecutedCallbackType Callback DEFAULT_VALUE(nullptr),
82+
GPUUploadEnqueuedCallbackType Callback DEFAULT_VALUE(nullptr),
8183
void* pCallbackData DEFAULT_VALUE(nullptr)) PURE;
8284
};
8385
DILIGENT_END_INTERFACE

Graphics/GraphicsTools/src/GPUUploadManagerImpl.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ bool GPUUploadManagerImpl::Page::Writer::ScheduleBufferUpdate(IBuffer*
5656
Uint32 DstOffset,
5757
Uint32 NumBytes,
5858
const void* pSrcData,
59-
GPUUploadExecutedCallbackType Callback,
59+
GPUUploadEnqueuedCallbackType Callback,
6060
void* pCallbackData)
6161
{
6262
if (m_pPage == nullptr)
@@ -184,7 +184,7 @@ bool GPUUploadManagerImpl::Page::ScheduleBufferUpdate(IBuffer*
184184
Uint32 DstOffset,
185185
Uint32 NumBytes,
186186
const void* pSrcData,
187-
GPUUploadExecutedCallbackType Callback,
187+
GPUUploadEnqueuedCallbackType Callback,
188188
void* pCallbackData)
189189
{
190190
VERIFY_EXPR(GetWriterCount() > 0);
@@ -256,6 +256,9 @@ void GPUUploadManagerImpl::Page::ExecutePendingOps(IDeviceContext* pContext, Uin
256256

257257
void GPUUploadManagerImpl::Page::Reset(IDeviceContext* pContext)
258258
{
259+
VERIFY(GetWriterCount() == 0, "All writers must finish before resetting the page");
260+
VERIFY(m_PendingOps.IsEmpty(), "All pending operations must be executed before resetting the page");
261+
259262
m_Offset.store(0);
260263
m_State.store(0);
261264
m_NumPendingOps.store(0);
@@ -305,7 +308,7 @@ void GPUUploadManagerImpl::ScheduleBufferUpdate(IBuffer* pD
305308
Uint32 DstOffset,
306309
Uint32 NumBytes,
307310
const void* pSrcData,
308-
GPUUploadExecutedCallbackType Callback,
311+
GPUUploadEnqueuedCallbackType Callback,
309312
void* pCallbackData)
310313
{
311314
}

0 commit comments

Comments
 (0)