IDStorageQueueX::EnqueueSignal

Enqueues a fence write.

Syntax

void EnqueueSignal(  
         ID3D12Fence *fence,  
         UINT64 value  
)  

Parameters

fence
Type: ID3D12Fence

An ID3D12Fence to enqueue.

value
Type: UINT64

The value to write to the fence.

Return value

Type: void

Remarks

The fence is signaled when all requests enqueued before the fence complete.

A title thread can wait for the fence or poll the fence. The GPU can also poll the fence.

If the EnqueueSignal method fills half of the queue's capacity since the last submission, it triggers an automatic submission as part of the EnqueueSignal call.

In most cases, this method simply does a memory write to the queue, thus takes very little CPU time to complete. However, if automatic submission is triggered, it takes significantly more CPU time, including a kernel mode transition and processing all of the previously submitted requests in the caller thread.

If automatic submission is not desirable, games are recommended to use a queue with large enough capacity and call Submit manually when appropriate.

For more information, see the "Notification" and "EnqueueStatus/EnqueueSignal/EnqueueSetEvent" sections in DirectStorage overview.

Requirements

Header: dstorage_xs.h

Library: dstorage_xs.lib

Supported platforms: Xbox Series consoles

See also

IDStorageQueueX::EnqueueStatus
IDStorageQueueX
DStorage