1919// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2020// THE SOFTWARE.
2121//
22- #ifndef AMD_AGS_LIB_AMD_AGS_H_
23- #define AMD_AGS_LIB_AMD_AGS_H_
22+ #ifndef AMD_AGS_H
23+ #define AMD_AGS_H
2424
25- #define AMD_AGS_LIB_VERSION_MAJOR 3
26- #define AMD_AGS_LIB_VERSION_MINOR 1
27- #define AMD_AGS_LIB_VERSION_PATCH 1
25+ #define AMD_AGS_VERSION_MAJOR 3
26+ #define AMD_AGS_VERSION_MINOR 2
27+ #define AMD_AGS_VERSION_PATCH 0
2828
2929#ifdef __cplusplus
3030extern "C" {
@@ -79,8 +79,9 @@ enum AGSPrimitiveTopology
7979
8080enum AGSCrossfireMode
8181{
82- AGS_CROSSFIRE_MODE_DRIVER_AFR , // Use the default driver-based AFR rendering
83- AGS_CROSSFIRE_MODE_EXPLICIT_AFR // Use the AGS Crossfire API functions to perform explicit AFR rendering
82+ AGS_CROSSFIRE_MODE_DRIVER_AFR = 0 , // Use the default driver-based AFR rendering
83+ AGS_CROSSFIRE_MODE_EXPLICIT_AFR , // Use the AGS Crossfire API functions to perform explicit AFR rendering
84+ AGS_CROSSFIRE_MODE_DISABLE // Completely disable AFR rendering
8485};
8586
8687enum AGSAfrTransferType
@@ -161,6 +162,11 @@ struct AGSDisplayInfo
161162 // defined by this rect.
162163};
163164
165+ struct AGSConfiguration
166+ {
167+ AGSCrossfireMode crossfireMode ; // Desired Crossfire mode. See AGSCrossfireMode for more details
168+ };
169+
164170struct AGSGPUInfo
165171{
166172 enum ArchitectureVersion
@@ -170,7 +176,11 @@ struct AGSGPUInfo
170176 ArchitectureVersion_GCN
171177 };
172178
173- ArchitectureVersion version ; // Set to Unknown if not AMD hardware
179+ int agsVersionMajor ; // Major field of Major.Minor.Patch AGS version number
180+ int agsVersionMinor ; // Minor field of Major.Minor.Patch AGS version number
181+ int agsVersionPatch ; // Patch field of Major.Minor.Patch AGS version number
182+
183+ ArchitectureVersion architectureVersion ; // Set to Unknown if not AMD hardware
174184 const char * adapterString ; // The adapter name string. NULL if not AMD hardware
175185 int deviceId ; // The device id
176186 int revisionId ; // The revision id
@@ -183,16 +193,17 @@ struct AGSGPUInfo
183193 float fTFlops ; // Teraflops of GPU. Zero if not GCN. Calculated from iCoreClock * iNumCUs * 64 Pixels/clk * 2 instructions/MAD
184194};
185195
186-
187196// Description
188197// Function used to initialize the AGS library.
189198// Must be called prior to any of the subsequent AGS API calls.
199+ // Must be called prior to ID3D11Device creation.
190200//
191201// Input params
192202// context - Address of a pointer to a context. This function allocates a context on the heap which is then required for all subsequent API calls.
193- // info - Optional pointer to a AGSGPUInfo struct which will get filled in for the primary adapter.
203+ // config - Optional pointer to a AGSConfiguration struct to override the default library configuration.
204+ // gpuInfo - Optional pointer to a AGSGPUInfo struct which will get filled in for the primary adapter.
194205//
195- AMD_AGS_API AGSReturnCode agsInit ( AGSContext * * context , AGSGPUInfo * info );
206+ AMD_AGS_API AGSReturnCode agsInit ( AGSContext * * context , const AGSConfiguration * config , AGSGPUInfo * gpuInfo );
196207
197208// Description
198209// Function used to clean up the AGS library.
@@ -361,15 +372,6 @@ AMD_AGS_API AGSReturnCode agsDriverExtensions_MultiDrawIndexedInstancedIndirect(
361372//
362373AMD_AGS_API AGSReturnCode agsDriverExtensions_RegisterApp ( AGSContext * context , const char * engineName , unsigned int engineVersion , const char * appName , unsigned int appVersion );
363374
364- // Description
365- // Function to inform the driver how the app wants to behave in Crossfire mode. See AGSCrossfireMode for more details.
366- //
367- // Input params
368- // context - Pointer to a context.
369- // mode - The AFR mode to use.
370- //
371- AMD_AGS_API AGSReturnCode agsDriverExtensions_SetCrossfireMode ( AGSContext * context , AGSCrossfireMode mode );
372-
373375// Description
374376// Functions to create a Direct3D11 resource with the specified AFR transfer type
375377//
@@ -427,4 +429,4 @@ AMD_AGS_API AGSReturnCode agsDriverExtensions_NotifyResourceEndAllAccess( AGSCon
427429}; // extern C
428430#endif
429431
430- #endif // AMD_AGS_LIB_AMD_AGS_H_
432+ #endif // AMD_AGS_H
0 commit comments