@@ -39,7 +39,9 @@ struct GPUUploadManagerCreateInfo
3939 // / Pointer to the render device. Must not be null.
4040 IRenderDevice* pDevice DEFAULT_INITIALIZER (nullptr );
4141
42- // / Pointer to the device context. Must not be null.
42+ // / Pointer to the device context.
43+ // / If null, initial pages will be created, but they will not become available until the first call to
44+ // / RenderThreadUpdate() with a valid device context pointer.
4345 IDeviceContext* pContext DEFAULT_INITIALIZER (nullptr );
4446
4547 // / Size of the upload page.
@@ -346,9 +348,8 @@ struct ScheduleTextureUpdateInfo
346348 IDeviceContext* pContext DEFAULT_INITIALIZER (nullptr );
347349
348350 // / Pointer to the destination texture to update.
349- // / If CopyTexture callback is provided, this parameter will be ignored
350- // / (though the manager will still keep a reference to the texture until the copy operation is scheduled),
351- // / and the callback must perform the copy operation itself.
351+ // / If CopyTexture callback is provided, the manager will keep a reference to the texture
352+ // / until the copy operation is scheduled by the callback.
352353 // / Otherwise, this texture will be used as the destination for the copy operation
353354 ITexture* pDstTexture DEFAULT_INITIALIZER (nullptr );
354355
@@ -522,7 +523,11 @@ DILIGENT_BEGIN_INTERFACE(IGPUUploadManager, IObject)
522523
523524 // / Retrieves GPU upload manager statistics.
524525 // /
525- // / The method must not be called concurrently with RenderThreadUpdate().
526+ // / The method must not be called concurrently with RenderThreadUpdate() and GetStats() calls,
527+ // / but can be called concurrently with ScheduleBufferUpdate() and ScheduleTextureUpdate() calls.
528+ // /
529+ // / Pointers returned in the Stats structure are valid only until the next call to GetStats()
530+ // / and must not be used after that.
526531 VIRTUAL void METHOD (GetStats)(THIS_
527532 GPUUploadManagerStats REF Stats) CONST PURE;
528533};
0 commit comments