AMD GPU Services (AGS)
|
API for explicit control over Crossfire. More...
Typedefs | |
typedef enum AGSAfrTransferType | AGSAfrTransferType |
The Crossfire API transfer types. | |
typedef enum AGSAfrTransferEngine | AGSAfrTransferEngine |
The Crossfire API transfer engines. | |
Enumerations | |
enum | AGSAfrTransferType { AGS_AFR_TRANSFER_DEFAULT = 0, AGS_AFR_TRANSFER_DISABLE = 1, AGS_AFR_TRANSFER_1STEP_P2P = 2, AGS_AFR_TRANSFER_2STEP_NO_BROADCAST = 3, AGS_AFR_TRANSFER_2STEP_WITH_BROADCAST = 4 } |
The Crossfire API transfer types. More... | |
enum | AGSAfrTransferEngine { AGS_AFR_TRANSFERENGINE_DEFAULT = 0, AGS_AFR_TRANSFERENGINE_3D_ENGINE = 1, AGS_AFR_TRANSFERENGINE_COPY_ENGINE = 2 } |
The Crossfire API transfer engines. More... | |
Functions | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_CreateBuffer (AGSContext *context, const D3D11_BUFFER_DESC *desc, const D3D11_SUBRESOURCE_DATA *initialData, ID3D11Buffer **buffer, AGSAfrTransferType transferType, AGSAfrTransferEngine transferEngine) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine. More... | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_CreateTexture1D (AGSContext *context, const D3D11_TEXTURE1D_DESC *desc, const D3D11_SUBRESOURCE_DATA *initialData, ID3D11Texture1D **texture1D, AGSAfrTransferType transferType, AGSAfrTransferEngine transferEngine) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine. More... | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_CreateTexture2D (AGSContext *context, const D3D11_TEXTURE2D_DESC *desc, const D3D11_SUBRESOURCE_DATA *initialData, ID3D11Texture2D **texture2D, AGSAfrTransferType transferType, AGSAfrTransferEngine transferEngine) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine. More... | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_CreateTexture3D (AGSContext *context, const D3D11_TEXTURE3D_DESC *desc, const D3D11_SUBRESOURCE_DATA *initialData, ID3D11Texture3D **texture3D, AGSAfrTransferType transferType, AGSAfrTransferEngine transferEngine) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine. More... | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_NotifyResourceEndWrites (AGSContext *context, ID3D11Resource *resource, const D3D11_RECT *transferRegions, const unsigned int *subresourceArray, unsigned int numSubresources) |
Function to notify the driver that we have finished writing to the resource this frame. More... | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_NotifyResourceBeginAllAccess (AGSContext *context, ID3D11Resource *resource) |
This will notify the driver that the app will begin read/write access to the resource. More... | |
AMD_AGS_API AGSReturnCode | agsDriverExtensionsDX11_NotifyResourceEndAllAccess (AGSContext *context, ID3D11Resource *resource) |
This is used for AGS_AFR_TRANSFER_1STEP_P2P to notify when it is safe to initiate a transfer. More... | |
API for explicit control over Crossfire.
enum AGSAfrTransferEngine |
enum AGSAfrTransferType |
The Crossfire API transfer types.
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateBuffer | ( | AGSContext * | context, |
const D3D11_BUFFER_DESC * | desc, | ||
const D3D11_SUBRESOURCE_DATA * | initialData, | ||
ID3D11Buffer ** | buffer, | ||
AGSAfrTransferType | transferType, | ||
AGSAfrTransferEngine | transferEngine | ||
) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine.
[in] | context | Pointer to a context. |
[in] | desc | Pointer to the D3D11 resource description. |
[in] | initialData | Optional pointer to the initializing data for the resource. |
[out] | buffer | Returned pointer to the resource. |
[in] | transferType | The transfer behavior. |
[in] | transferEngine | The transfer engine to use. |
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateTexture1D | ( | AGSContext * | context, |
const D3D11_TEXTURE1D_DESC * | desc, | ||
const D3D11_SUBRESOURCE_DATA * | initialData, | ||
ID3D11Texture1D ** | texture1D, | ||
AGSAfrTransferType | transferType, | ||
AGSAfrTransferEngine | transferEngine | ||
) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine.
[in] | context | Pointer to a context. |
[in] | desc | Pointer to the D3D11 resource description. |
[in] | initialData | Optional pointer to the initializing data for the resource. |
[out] | texture1D | Returned pointer to the resource. |
[in] | transferType | The transfer behavior. |
[in] | transferEngine | The transfer engine to use. |
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateTexture2D | ( | AGSContext * | context, |
const D3D11_TEXTURE2D_DESC * | desc, | ||
const D3D11_SUBRESOURCE_DATA * | initialData, | ||
ID3D11Texture2D ** | texture2D, | ||
AGSAfrTransferType | transferType, | ||
AGSAfrTransferEngine | transferEngine | ||
) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine.
[in] | context | Pointer to a context. |
[in] | desc | Pointer to the D3D11 resource description. |
[in] | initialData | Optional pointer to the initializing data for the resource. |
[out] | texture2D | Returned pointer to the resource. |
[in] | transferType | The transfer behavior. |
[in] | transferEngine | The transfer engine to use. |
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateTexture3D | ( | AGSContext * | context, |
const D3D11_TEXTURE3D_DESC * | desc, | ||
const D3D11_SUBRESOURCE_DATA * | initialData, | ||
ID3D11Texture3D ** | texture3D, | ||
AGSAfrTransferType | transferType, | ||
AGSAfrTransferEngine | transferEngine | ||
) |
Function to create a Direct3D11 resource with the specified AFR transfer type and specified transfer engine.
[in] | context | Pointer to a context. |
[in] | desc | Pointer to the D3D11 resource description. |
[in] | initialData | Optional pointer to the initializing data for the resource. |
[out] | texture3D | Returned pointer to the resource. |
[in] | transferType | The transfer behavior. |
[in] | transferEngine | The transfer engine to use. |
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_NotifyResourceBeginAllAccess | ( | AGSContext * | context, |
ID3D11Resource * | resource | ||
) |
This will notify the driver that the app will begin read/write access to the resource.
[in] | context | Pointer to a context. |
[in] | resource | Pointer to the resource. |
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_NotifyResourceEndAllAccess | ( | AGSContext * | context, |
ID3D11Resource * | resource | ||
) |
This is used for AGS_AFR_TRANSFER_1STEP_P2P to notify when it is safe to initiate a transfer.
This call in frame N-(NumGpus-1) allows a 1 step P2P in frame N to start. This should be called after agsDriverExtensionsDX11_NotifyResourceEndWrites.
[in] | context | Pointer to a context. |
[in] | resource | Pointer to the resource. |
AMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_NotifyResourceEndWrites | ( | AGSContext * | context, |
ID3D11Resource * | resource, | ||
const D3D11_RECT * | transferRegions, | ||
const unsigned int * | subresourceArray, | ||
unsigned int | numSubresources | ||
) |
Function to notify the driver that we have finished writing to the resource this frame.
This will initiate a transfer for AGS_AFR_TRANSFER_1STEP_P2P, AGS_AFR_TRANSFER_2STEP_NO_BROADCAST, and AGS_AFR_TRANSFER_2STEP_WITH_BROADCAST.
[in] | context | Pointer to a context. |
[in] | resource | Pointer to the resource. |
[in] | transferRegions | An array of transfer regions (can be null to specify the whole area). |
[in] | subresourceArray | An array of subresource indices (can be null to specify all subresources). |
[in] | numSubresources | The number of subresources in subresourceArray OR number of transferRegions. Use 0 to specify ALL subresources and one transferRegion (which may be null if specifying the whole area). |