Gaming Device Information
Due to differing console capabilities, Universal Windows Platform (UWP) game developers on Xbox need a way to determine the type of console the game is running on, in order to make run-time choices on how to best use the hardware. The Gaming Device Information APIs in <gamingdeviceinformation.h> provide this functionality.
Note
These are Win32 APIs that are supported in both Win32 and UWP apps. While they work on any device family, they are only really of value on Xbox devices.
Example: Allocate memory on startup
This is a simple query example which demonstrates an early call pattern for allocating pool memory that is specialized for the target device.
int init_game(void)
{
GAMING_DEVICE_MODEL_INFORMATION modelInformation;
if (FAILED(GetGamingDeviceModelInformation(&modelInformation)))
{
// Optionally, allocate a generic memory pool with whatever
// the default characteristics are.
return 0;
}
if (modelInformation.vendorId != GAMING_DEVICE_VENDOR_ID_MICROSOFT)
{
return 0;
}
if (modelInformation.deviceId == GAMING_DEVICE_DEVICE_ID_XBOX_ONE_X)
{
// Allocate pool of memory with appropriate characteristics for
// Xbox One X (i.e. write combined, cachable, GPU read-only, etc).
}
if (modelInformation.deviceId == GAMING_DEVICE_DEVICE_ID_XBOX_ONE_X_DEVKIT)
{
// Allocate block of tools memory.
}
return 0;
}
[Platform::MTAThread]
int __cdecl main(Platform::Array<Platform::String^>^)
{
init_game();
auto direct3DApplicationSource = ref new Direct3DApplicationSource();
CoreApplication::Run(direct3DApplicationSource);
return 0;
}
In this section
Topic | Description |
---|---|
Enumerations |
The Gaming Device Information API contains these enumerations. |
Functions |
The Gaming Device Information API contains these functions. |
Structures |
The Gaming Device Information API contains these structures. |