AMD GPU Services (AGS)
Functions

API for enabling overlapping UAV writes. More...

Functions

AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_BeginUAVOverlap (AGSContext *context, ID3D11DeviceContext *dxContext)
 Function used indicate to the driver the start of the overlap scope. More...
 
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_EndUAVOverlap (AGSContext *context, ID3D11DeviceContext *dxContext)
 Function used indicate to the driver the end of the overlap scope. More...
 

Detailed Description

API for enabling overlapping UAV writes.

The AMD DX11 driver will automatically track resource usage and insert barriers as necessary to clear read-after-write (RAW) and write-after-write (WAW) hazards. The UAV overlap extension allows applications to indicate to the driver it can skip inserting barriers for UAV resources used in dispatches and draws within the agsDriverExtensionsDX11_BeginUAVOverlap/ agsDriverExtensionsDX11_EndUAVOverlap calls. This can be useful for applications to allow multiple back-to-back dispatches or draws in flight even if they are accessing the same UAV resource but the data written or read does not overlap within the resource.

Usage would be as follows:

m_device->Dispatch( ... ); // First call that writes to the UAV
// Disable automatic WAW syncs
// Submit other dispatches that write to the same UAV concurrently
m_device->Dispatch( ... );
m_device->Dispatch( ... );
m_device->Dispatch( ... );
// Reenable automatic WAW syncs

Function Documentation

◆ agsDriverExtensionsDX11_BeginUAVOverlap()

AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_BeginUAVOverlap ( AGSContext *  context,
ID3D11DeviceContext *  dxContext 
)

Function used indicate to the driver the start of the overlap scope.

Parameters
[in]contextPointer to a context.
[in]dxContextPointer to the DirectX device context. If this is to work using the non-immediate context, then you need to check support. If nullptr is specified, then the immediate context is assumed. with the AGS_DX11_EXTENSION_DEFERRED_CONTEXTS bit.

◆ agsDriverExtensionsDX11_EndUAVOverlap()

AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_EndUAVOverlap ( AGSContext *  context,
ID3D11DeviceContext *  dxContext 
)

Function used indicate to the driver the end of the overlap scope.

Parameters
[in]contextPointer to a context.
[in]dxContextPointer to the DirectX device context. If this is to work using the non-immediate context, then you need to check support. If nullptr is specified, then the immediate context is assumed. with the AGS_DX11_EXTENSION_DEFERRED_CONTEXTS bit.
agsDriverExtensionsDX11_BeginUAVOverlap
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_BeginUAVOverlap(AGSContext *context, ID3D11DeviceContext *dxContext)
Function used indicate to the driver the start of the overlap scope.
agsDriverExtensionsDX11_EndUAVOverlap
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_EndUAVOverlap(AGSContext *context, ID3D11DeviceContext *dxContext)
Function used indicate to the driver the end of the overlap scope.