| //===- Auto-generated file, part of the LLVM/Offload project --------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // Auto-generated file, do not manually edit. | |
| #pragma once | |
| #include <stddef.h> | |
| #include <stdint.h> | |
| #if defined(__cplusplus) | |
| extern "C" { | |
| #endif | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_VERSION_MAJOR | |
| /// @brief Major version of the Offload API | |
| #define OL_VERSION_MAJOR 0 | |
| #endif // OL_VERSION_MAJOR | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_VERSION_MINOR | |
| /// @brief Minor version of the Offload API | |
| #define OL_VERSION_MINOR 0 | |
| #endif // OL_VERSION_MINOR | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_VERSION_PATCH | |
| /// @brief Patch version of the Offload API | |
| #define OL_VERSION_PATCH 1 | |
| #endif // OL_VERSION_PATCH | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_APICALL | |
| #if defined(_WIN32) | |
| /// @brief Calling convention for all API functions | |
| #define OL_APICALL __cdecl | |
| #else | |
| #define OL_APICALL | |
| #endif // defined(_WIN32) | |
| #endif // OL_APICALL | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_APIEXPORT | |
| #if defined(_WIN32) | |
| /// @brief Microsoft-specific dllexport storage-class attribute | |
| #define OL_APIEXPORT __declspec(dllexport) | |
| #else | |
| #define OL_APIEXPORT | |
| #endif // defined(_WIN32) | |
| #endif // OL_APIEXPORT | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_DLLEXPORT | |
| #if defined(_WIN32) | |
| /// @brief Microsoft-specific dllexport storage-class attribute | |
| #define OL_DLLEXPORT __declspec(dllexport) | |
| #endif // defined(_WIN32) | |
| #endif // OL_DLLEXPORT | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_DLLEXPORT | |
| #if __GNUC__ >= 4 | |
| /// @brief GCC-specific dllexport storage-class attribute | |
| #define OL_DLLEXPORT __attribute__((visibility("default"))) | |
| #else | |
| #define OL_DLLEXPORT | |
| #endif // __GNUC__ >= 4 | |
| #endif // OL_DLLEXPORT | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Handle of a platform instance | |
| typedef struct ol_platform_handle_t_ *ol_platform_handle_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Handle of platform's device object | |
| typedef struct ol_device_handle_t_ *ol_device_handle_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Handle of context object | |
| typedef struct ol_context_handle_t_ *ol_context_handle_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Defines Return/Error codes | |
| typedef enum ol_errc_t { | |
| /// Success | |
| OL_ERRC_SUCCESS = 0, | |
| /// Invalid Value | |
| OL_ERRC_INVALID_VALUE = 1, | |
| /// Invalid platform | |
| OL_ERRC_INVALID_PLATFORM = 2, | |
| /// Device not found | |
| OL_ERRC_DEVICE_NOT_FOUND = 3, | |
| /// Invalid device | |
| OL_ERRC_INVALID_DEVICE = 4, | |
| /// Device hung, reset, was removed, or driver update occurred | |
| OL_ERRC_DEVICE_LOST = 5, | |
| /// plugin is not initialized or specific entry-point is not implemented | |
| OL_ERRC_UNINITIALIZED = 6, | |
| /// Out of resources | |
| OL_ERRC_OUT_OF_RESOURCES = 7, | |
| /// generic error code for unsupported versions | |
| OL_ERRC_UNSUPPORTED_VERSION = 8, | |
| /// generic error code for unsupported features | |
| OL_ERRC_UNSUPPORTED_FEATURE = 9, | |
| /// generic error code for invalid arguments | |
| OL_ERRC_INVALID_ARGUMENT = 10, | |
| /// handle argument is not valid | |
| OL_ERRC_INVALID_NULL_HANDLE = 11, | |
| /// pointer argument may not be nullptr | |
| OL_ERRC_INVALID_NULL_POINTER = 12, | |
| /// invalid size or dimensions (e.g., must not be zero, or is out of bounds) | |
| OL_ERRC_INVALID_SIZE = 13, | |
| /// enumerator argument is not valid | |
| OL_ERRC_INVALID_ENUMERATION = 14, | |
| /// enumerator argument is not supported by the device | |
| OL_ERRC_UNSUPPORTED_ENUMERATION = 15, | |
| /// Unknown or internal error | |
| OL_ERRC_UNKNOWN = 16, | |
| /// @cond | |
| OL_ERRC_FORCE_UINT32 = 0x7fffffff | |
| /// @endcond | |
| } ol_errc_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Details of the error condition returned by an API call | |
| typedef struct ol_error_struct_t { | |
| ol_errc_t Code; /// The error code | |
| const char *Details; /// String containing error details | |
| } ol_error_struct_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Result type returned by all entry points. | |
| typedef const ol_error_struct_t *ol_result_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| #ifndef OL_SUCCESS | |
| /// @brief Success condition | |
| #define OL_SUCCESS NULL | |
| #endif // OL_SUCCESS | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Code location information that can optionally be associated with an | |
| /// API call | |
| typedef struct ol_code_location_t { | |
| const char *FunctionName; /// Function name | |
| const char *SourceFile; /// Source code file | |
| uint32_t LineNumber; /// Source code line number | |
| uint32_t ColumnNumber; /// Source code column number | |
| } ol_code_location_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Perform initialization of the Offload library and plugins | |
| /// | |
| /// @details | |
| /// - This must be the first API call made by a user of the Offload library | |
| /// - Each call will increment an internal reference count that is | |
| /// decremented by `olShutDown` | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| OL_APIEXPORT ol_result_t OL_APICALL olInit(); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Release the resources in use by Offload | |
| /// | |
| /// @details | |
| /// - This decrements an internal reference count. When this reaches 0, all | |
| /// resources will be released | |
| /// - Subsequent API calls made after this are not valid | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| OL_APIEXPORT ol_result_t OL_APICALL olShutDown(); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Retrieves all available platforms | |
| /// | |
| /// @details | |
| /// - Multiple calls to this function will return identical platforms | |
| /// handles, in the same order. | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_INVALID_SIZE | |
| /// + `NumEntries == 0` | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == Platforms` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatform( | |
| // [in] The number of platforms to be added to Platforms. NumEntries must be | |
| // greater than zero. | |
| uint32_t NumEntries, | |
| // [out] Array of handle of platforms. If NumEntries is less than the number | |
| // of platforms available, then olGetPlatform shall only retrieve that | |
| // number of platforms. | |
| ol_platform_handle_t *Platforms); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Retrieves the number of available platforms | |
| /// | |
| /// @details | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == NumPlatforms` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatformCount( | |
| // [out] returns the total number of platforms available. | |
| uint32_t *NumPlatforms); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Supported platform info | |
| typedef enum ol_platform_info_t { | |
| /// [char[]] The string denoting name of the platform. The size of the info | |
| /// needs to be dynamically queried. | |
| OL_PLATFORM_INFO_NAME = 0, | |
| /// [char[]] The string denoting name of the vendor of the platform. The size | |
| /// of the info needs to be dynamically queried. | |
| OL_PLATFORM_INFO_VENDOR_NAME = 1, | |
| /// [char[]] The string denoting the version of the platform. The size of the | |
| /// info needs to be dynamically queried. | |
| OL_PLATFORM_INFO_VERSION = 2, | |
| /// [ol_platform_backend_t] The native backend of the platform. | |
| OL_PLATFORM_INFO_BACKEND = 3, | |
| /// @cond | |
| OL_PLATFORM_INFO_FORCE_UINT32 = 0x7fffffff | |
| /// @endcond | |
| } ol_platform_info_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Identifies the native backend of the platform | |
| typedef enum ol_platform_backend_t { | |
| /// The backend is not recognized | |
| OL_PLATFORM_BACKEND_UNKNOWN = 0, | |
| /// The backend is CUDA | |
| OL_PLATFORM_BACKEND_CUDA = 1, | |
| /// The backend is AMDGPU | |
| OL_PLATFORM_BACKEND_AMDGPU = 2, | |
| /// @cond | |
| OL_PLATFORM_BACKEND_FORCE_UINT32 = 0x7fffffff | |
| /// @endcond | |
| } ol_platform_backend_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Queries the given property of the platform | |
| /// | |
| /// @details | |
| /// - `olGetPlatformInfoSize` can be used to query the storage size required | |
| /// for the given query. | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_UNSUPPORTED_ENUMERATION | |
| /// + If `PropName` is not supported by the platform. | |
| /// - ::OL_ERRC_INVALID_SIZE | |
| /// + `PropSize == 0` | |
| /// + If `PropSize` is less than the real number of bytes needed to | |
| /// return the info. | |
| /// - ::OL_ERRC_INVALID_PLATFORM | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// + `NULL == Platform` | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == PropValue` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatformInfo( | |
| // [in] handle of the platform | |
| ol_platform_handle_t Platform, | |
| // [in] type of the info to retrieve | |
| ol_platform_info_t PropName, | |
| // [in] the number of bytes pointed to by pPlatformInfo. | |
| size_t PropSize, | |
| // [out] array of bytes holding the info. If Size is not equal to or greater | |
| // to the real number of bytes needed to return the info then the | |
| // OL_ERRC_INVALID_SIZE error is returned and pPlatformInfo is not used. | |
| void *PropValue); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Returns the storage size of the given platform query | |
| /// | |
| /// @details | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_UNSUPPORTED_ENUMERATION | |
| /// + If `PropName` is not supported by the platform. | |
| /// - ::OL_ERRC_INVALID_PLATFORM | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// + `NULL == Platform` | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == PropSizeRet` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatformInfoSize( | |
| // [in] handle of the platform | |
| ol_platform_handle_t Platform, | |
| // [in] type of the info to query | |
| ol_platform_info_t PropName, | |
| // [out] pointer to the number of bytes required to store the query | |
| size_t *PropSizeRet); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Supported device types | |
| typedef enum ol_device_type_t { | |
| /// The default device type as preferred by the runtime | |
| OL_DEVICE_TYPE_DEFAULT = 0, | |
| /// Devices of all types | |
| OL_DEVICE_TYPE_ALL = 1, | |
| /// GPU device type | |
| OL_DEVICE_TYPE_GPU = 2, | |
| /// CPU device type | |
| OL_DEVICE_TYPE_CPU = 3, | |
| /// @cond | |
| OL_DEVICE_TYPE_FORCE_UINT32 = 0x7fffffff | |
| /// @endcond | |
| } ol_device_type_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Supported device info | |
| typedef enum ol_device_info_t { | |
| /// [ol_device_type_t] type of the device | |
| OL_DEVICE_INFO_TYPE = 0, | |
| /// [ol_platform_handle_t] the platform associated with the device | |
| OL_DEVICE_INFO_PLATFORM = 1, | |
| /// [char[]] Device name | |
| OL_DEVICE_INFO_NAME = 2, | |
| /// [char[]] Device vendor | |
| OL_DEVICE_INFO_VENDOR = 3, | |
| /// [char[]] Driver version | |
| OL_DEVICE_INFO_DRIVER_VERSION = 4, | |
| /// @cond | |
| OL_DEVICE_INFO_FORCE_UINT32 = 0x7fffffff | |
| /// @endcond | |
| } ol_device_info_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Retrieves the number of available devices within a platform | |
| /// | |
| /// @details | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// + `NULL == Platform` | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == NumDevices` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDeviceCount( | |
| // [in] handle of the platform instance | |
| ol_platform_handle_t Platform, | |
| // [out] pointer to the number of devices. | |
| uint32_t *NumDevices); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Retrieves devices within a platform | |
| /// | |
| /// @details | |
| /// - Multiple calls to this function will return identical device handles, | |
| /// in the same order. | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_INVALID_SIZE | |
| /// + `NumEntries == 0` | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// + `NULL == Platform` | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == Devices` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDevice( | |
| // [in] handle of the platform instance | |
| ol_platform_handle_t Platform, | |
| // [in] the number of devices to be added to phDevices, which must be | |
| // greater than zero | |
| uint32_t NumEntries, | |
| // [out] Array of device handles. If NumEntries is less than the number of | |
| // devices available, then this function shall only retrieve that number of | |
| // devices. | |
| ol_device_handle_t *Devices); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Queries the given property of the device | |
| /// | |
| /// @details | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_UNSUPPORTED_ENUMERATION | |
| /// + If `PropName` is not supported by the device. | |
| /// - ::OL_ERRC_INVALID_SIZE | |
| /// + `PropSize == 0` | |
| /// + If `PropSize` is less than the real number of bytes needed to | |
| /// return the info. | |
| /// - ::OL_ERRC_INVALID_DEVICE | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// + `NULL == Device` | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == PropValue` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDeviceInfo( | |
| // [in] handle of the device instance | |
| ol_device_handle_t Device, | |
| // [in] type of the info to retrieve | |
| ol_device_info_t PropName, | |
| // [in] the number of bytes pointed to by PropValue. | |
| size_t PropSize, | |
| // [out] array of bytes holding the info. If PropSize is not equal to or | |
| // greater than the real number of bytes needed to return the info then the | |
| // OL_ERRC_INVALID_SIZE error is returned and PropValue is not used. | |
| void *PropValue); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Returns the storage size of the given device query | |
| /// | |
| /// @details | |
| /// | |
| /// @returns | |
| /// - ::OL_RESULT_SUCCESS | |
| /// - ::OL_ERRC_UNINITIALIZED | |
| /// - ::OL_ERRC_DEVICE_LOST | |
| /// - ::OL_ERRC_UNSUPPORTED_ENUMERATION | |
| /// + If `PropName` is not supported by the device. | |
| /// - ::OL_ERRC_INVALID_DEVICE | |
| /// - ::OL_ERRC_INVALID_NULL_HANDLE | |
| /// + `NULL == Device` | |
| /// - ::OL_ERRC_INVALID_NULL_POINTER | |
| /// + `NULL == PropSizeRet` | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDeviceInfoSize( | |
| // [in] handle of the device instance | |
| ol_device_handle_t Device, | |
| // [in] type of the info to retrieve | |
| ol_device_info_t PropName, | |
| // [out] pointer to the number of bytes required to store the query | |
| size_t *PropSizeRet); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetPlatform | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_platform_params_t { | |
| uint32_t *pNumEntries; | |
| ol_platform_handle_t **pPlatforms; | |
| } ol_get_platform_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetPlatformCount | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_platform_count_params_t { | |
| uint32_t **pNumPlatforms; | |
| } ol_get_platform_count_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetPlatformInfo | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_platform_info_params_t { | |
| ol_platform_handle_t *pPlatform; | |
| ol_platform_info_t *pPropName; | |
| size_t *pPropSize; | |
| void **pPropValue; | |
| } ol_get_platform_info_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetPlatformInfoSize | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_platform_info_size_params_t { | |
| ol_platform_handle_t *pPlatform; | |
| ol_platform_info_t *pPropName; | |
| size_t **pPropSizeRet; | |
| } ol_get_platform_info_size_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetDeviceCount | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_device_count_params_t { | |
| ol_platform_handle_t *pPlatform; | |
| uint32_t **pNumDevices; | |
| } ol_get_device_count_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetDevice | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_device_params_t { | |
| ol_platform_handle_t *pPlatform; | |
| uint32_t *pNumEntries; | |
| ol_device_handle_t **pDevices; | |
| } ol_get_device_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetDeviceInfo | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_device_info_params_t { | |
| ol_device_handle_t *pDevice; | |
| ol_device_info_t *pPropName; | |
| size_t *pPropSize; | |
| void **pPropValue; | |
| } ol_get_device_info_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Function parameters for olGetDeviceInfoSize | |
| /// @details Each entry is a pointer to the parameter passed to the function; | |
| typedef struct ol_get_device_info_size_params_t { | |
| ol_device_handle_t *pDevice; | |
| ol_device_info_t *pPropName; | |
| size_t **pPropSizeRet; | |
| } ol_get_device_info_size_params_t; | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olInit that also sets source code location information | |
| /// @details See also ::olInit | |
| OL_APIEXPORT ol_result_t OL_APICALL | |
| olInitWithCodeLoc(ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olShutDown that also sets source code location information | |
| /// @details See also ::olShutDown | |
| OL_APIEXPORT ol_result_t OL_APICALL | |
| olShutDownWithCodeLoc(ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetPlatform that also sets source code location | |
| /// information | |
| /// @details See also ::olGetPlatform | |
| OL_APIEXPORT ol_result_t OL_APICALL | |
| olGetPlatformWithCodeLoc(uint32_t NumEntries, ol_platform_handle_t *Platforms, | |
| ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetPlatformCount that also sets source code location | |
| /// information | |
| /// @details See also ::olGetPlatformCount | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatformCountWithCodeLoc( | |
| uint32_t *NumPlatforms, ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetPlatformInfo that also sets source code location | |
| /// information | |
| /// @details See also ::olGetPlatformInfo | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatformInfoWithCodeLoc( | |
| ol_platform_handle_t Platform, ol_platform_info_t PropName, size_t PropSize, | |
| void *PropValue, ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetPlatformInfoSize that also sets source code location | |
| /// information | |
| /// @details See also ::olGetPlatformInfoSize | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetPlatformInfoSizeWithCodeLoc( | |
| ol_platform_handle_t Platform, ol_platform_info_t PropName, | |
| size_t *PropSizeRet, ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetDeviceCount that also sets source code location | |
| /// information | |
| /// @details See also ::olGetDeviceCount | |
| OL_APIEXPORT ol_result_t OL_APICALL | |
| olGetDeviceCountWithCodeLoc(ol_platform_handle_t Platform, uint32_t *NumDevices, | |
| ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetDevice that also sets source code location | |
| /// information | |
| /// @details See also ::olGetDevice | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDeviceWithCodeLoc( | |
| ol_platform_handle_t Platform, uint32_t NumEntries, | |
| ol_device_handle_t *Devices, ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetDeviceInfo that also sets source code location | |
| /// information | |
| /// @details See also ::olGetDeviceInfo | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDeviceInfoWithCodeLoc( | |
| ol_device_handle_t Device, ol_device_info_t PropName, size_t PropSize, | |
| void *PropValue, ol_code_location_t *CodeLocation); | |
| /////////////////////////////////////////////////////////////////////////////// | |
| /// @brief Variant of olGetDeviceInfoSize that also sets source code location | |
| /// information | |
| /// @details See also ::olGetDeviceInfoSize | |
| OL_APIEXPORT ol_result_t OL_APICALL olGetDeviceInfoSizeWithCodeLoc( | |
| ol_device_handle_t Device, ol_device_info_t PropName, size_t *PropSizeRet, | |
| ol_code_location_t *CodeLocation); | |
| #if defined(__cplusplus) | |
| } // extern "C" | |
| #endif |