diff --git a/include/SDL3/SDL_gpu.h b/include/SDL3/SDL_gpu.h index 20958adbc3..743497083d 100644 --- a/include/SDL3/SDL_gpu.h +++ b/include/SDL3/SDL_gpu.h @@ -2268,6 +2268,96 @@ extern SDL_DECLSPEC SDL_GPUShaderFormat SDLCALL SDL_GetGPUShaderFormats(SDL_GPUD * * The following properties are provided by SDL: * + * ### `SDL_PROP_GPU_DEVICE_NAME_STRING` + * + * Contains the name of the underlying device as reported by the system + * driver. This string has no standardized format, is highly inconsistent + * between hardware devices and drivers, and is able to change at any time. Do + * not attempt to parse this string as it is bound to fail at some point in + * the future when system drivers are updated, new hardware devices are + * introduced, or when SDL adds new GPU backends or modifies existing ones. + * + * Strings that have been found in the wild include: + * + * - GTX 970 + * - GeForce GTX 970 + * - NVIDIA GeForce GTX 970 + * - Microsoft Direct3D12 (NVIDIA GeForce GTX 970) + * - NVIDIA Graphics Device + * - GeForce GPU + * - P106-100 + * - AMD 15D8:C9 + * - AMD Custom GPU 0405 + * - AMD Radeon (TM) Graphics + * - ASUS Radeon RX 470 Series + * - Intel(R) Arc(tm) A380 Graphics (DG2) + * - Virtio-GPU Venus (NVIDIA TITAN V) + * - SwiftShader Device (LLVM 16.0.0) + * - llvmpipe (LLVM 15.0.4, 256 bits) + * - Microsoft Basic Render Driver + * - unknown device + * + * The above list shows that the same device can have different formats, the + * vendor name may or may not appear in the string, the included vendor name + * may not be the vendor of the chipset on the device, some manufacturers + * include pseudo-legal marks while others don't, some devices may not use a + * marketing name in the string, the device string may be wrapped by the name + * of a translation interface, the device may be emulated in software, or the + * string may contain generic text that does not identify the device at all. + * + * ### `SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING` + * + * Contains the self-reported name of the underlying system driver. + * + * Strings that have been found in the wild include: + * + * - Intel Corporation + * - Intel open-source Mesa driver + * - Qualcomm Technologies Inc. Adreno Vulkan Driver + * - MoltenVK + * - Mali-G715 + * - venus + * + * ### `SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING` + * + * Contains the self-reported version of the underlying system driver. This is + * a relatively short version string in an unspecified format. If + * SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING is available then that + * property should be preferred over this one as it may contain additional + * information that is useful for identifying the exact driver version used. + * + * Strings that have been found in the wild include: + * + * - 53.0.0 + * - 0.405.2463 + * - 32.0.15.6614 + * + * ### `SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING` + * + * Contains the detailed version information of the underlying system driver + * as reported by the driver. This is an arbitrary string with no standardized + * format and it may contain newlines. This property should be preferred over + * SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING if it is available as it + * usually contains the same information but in a format that is easier to + * read. + * + * Strings that have been found in the wild include: + * + * - 101.6559 + * - 1.2.11 + * - Mesa 21.2.2 (LLVM 12.0.1) + * - Mesa 22.2.0-devel (git-f226222 2022-04-14 impish-oibaf-ppa) + * - v1.r53p0-00eac0.824c4f31403fb1fbf8ee1042422c2129 + * + * As well as the multiline string (which has a trailing newline): + * + * ``` + * Driver Build: 85da404, I46ff5fc46f, 1606794520 + * Date: 11/30/20 + * Compiler Version: EV031.31.04.01 + * Driver Branch: promo490_3_Google + * ``` + * * \param device a GPU context to query. * \returns a valid property ID on success or 0 on failure; call * SDL_GetError() for more information.