1*fd3907ccSCallum Faredef : Macro { 2*fd3907ccSCallum Fare let name = "OL_VERSION_MAJOR"; 3*fd3907ccSCallum Fare let desc = "Major version of the Offload API"; 4*fd3907ccSCallum Fare let value = "0"; 5*fd3907ccSCallum Fare} 6*fd3907ccSCallum Fare 7*fd3907ccSCallum Faredef : Macro { 8*fd3907ccSCallum Fare let name = "OL_VERSION_MINOR"; 9*fd3907ccSCallum Fare let desc = "Minor version of the Offload API"; 10*fd3907ccSCallum Fare let value = "0"; 11*fd3907ccSCallum Fare} 12*fd3907ccSCallum Fare 13*fd3907ccSCallum Faredef : Macro { 14*fd3907ccSCallum Fare let name = "OL_VERSION_PATCH"; 15*fd3907ccSCallum Fare let desc = "Patch version of the Offload API"; 16*fd3907ccSCallum Fare let value = "1"; 17*fd3907ccSCallum Fare} 18*fd3907ccSCallum Fare 19*fd3907ccSCallum Faredef : Macro { 20*fd3907ccSCallum Fare let name = "OL_APICALL"; 21*fd3907ccSCallum Fare let desc = "Calling convention for all API functions"; 22*fd3907ccSCallum Fare let condition = "defined(_WIN32)"; 23*fd3907ccSCallum Fare let value = "__cdecl"; 24*fd3907ccSCallum Fare let alt_value = ""; 25*fd3907ccSCallum Fare} 26*fd3907ccSCallum Fare 27*fd3907ccSCallum Faredef : Macro { 28*fd3907ccSCallum Fare let name = "OL_APIEXPORT"; 29*fd3907ccSCallum Fare let desc = "Microsoft-specific dllexport storage-class attribute"; 30*fd3907ccSCallum Fare let condition = "defined(_WIN32)"; 31*fd3907ccSCallum Fare let value = "__declspec(dllexport)"; 32*fd3907ccSCallum Fare let alt_value = ""; 33*fd3907ccSCallum Fare} 34*fd3907ccSCallum Fare 35*fd3907ccSCallum Faredef : Macro { 36*fd3907ccSCallum Fare let name = "OL_DLLEXPORT"; 37*fd3907ccSCallum Fare let desc = "Microsoft-specific dllexport storage-class attribute"; 38*fd3907ccSCallum Fare let condition = "defined(_WIN32)"; 39*fd3907ccSCallum Fare let value = "__declspec(dllexport)"; 40*fd3907ccSCallum Fare} 41*fd3907ccSCallum Fare 42*fd3907ccSCallum Faredef : Macro { 43*fd3907ccSCallum Fare let name = "OL_DLLEXPORT"; 44*fd3907ccSCallum Fare let desc = "GCC-specific dllexport storage-class attribute"; 45*fd3907ccSCallum Fare let condition = "__GNUC__ >= 4"; 46*fd3907ccSCallum Fare let value = "__attribute__ ((visibility (\"default\")))"; 47*fd3907ccSCallum Fare let alt_value = ""; 48*fd3907ccSCallum Fare} 49*fd3907ccSCallum Fare 50*fd3907ccSCallum Faredef : Handle { 51*fd3907ccSCallum Fare let name = "ol_platform_handle_t"; 52*fd3907ccSCallum Fare let desc = "Handle of a platform instance"; 53*fd3907ccSCallum Fare} 54*fd3907ccSCallum Fare 55*fd3907ccSCallum Faredef : Handle { 56*fd3907ccSCallum Fare let name = "ol_device_handle_t"; 57*fd3907ccSCallum Fare let desc = "Handle of platform's device object"; 58*fd3907ccSCallum Fare} 59*fd3907ccSCallum Fare 60*fd3907ccSCallum Faredef : Handle { 61*fd3907ccSCallum Fare let name = "ol_context_handle_t"; 62*fd3907ccSCallum Fare let desc = "Handle of context object"; 63*fd3907ccSCallum Fare} 64*fd3907ccSCallum Fare 65*fd3907ccSCallum Faredef : Enum { 66*fd3907ccSCallum Fare let name = "ol_errc_t"; 67*fd3907ccSCallum Fare let desc = "Defines Return/Error codes"; 68*fd3907ccSCallum Fare let etors =[ 69*fd3907ccSCallum Fare Etor<"SUCCESS", "Success">, 70*fd3907ccSCallum Fare Etor<"INVALID_VALUE", "Invalid Value">, 71*fd3907ccSCallum Fare Etor<"INVALID_PLATFORM", "Invalid platform">, 72*fd3907ccSCallum Fare Etor<"DEVICE_NOT_FOUND", "Device not found">, 73*fd3907ccSCallum Fare Etor<"INVALID_DEVICE", "Invalid device">, 74*fd3907ccSCallum Fare Etor<"DEVICE_LOST", "Device hung, reset, was removed, or driver update occurred">, 75*fd3907ccSCallum Fare Etor<"UNINITIALIZED", "plugin is not initialized or specific entry-point is not implemented">, 76*fd3907ccSCallum Fare Etor<"OUT_OF_RESOURCES", "Out of resources">, 77*fd3907ccSCallum Fare Etor<"UNSUPPORTED_VERSION", "generic error code for unsupported versions">, 78*fd3907ccSCallum Fare Etor<"UNSUPPORTED_FEATURE", "generic error code for unsupported features">, 79*fd3907ccSCallum Fare Etor<"INVALID_ARGUMENT", "generic error code for invalid arguments">, 80*fd3907ccSCallum Fare Etor<"INVALID_NULL_HANDLE", "handle argument is not valid">, 81*fd3907ccSCallum Fare Etor<"INVALID_NULL_POINTER", "pointer argument may not be nullptr">, 82*fd3907ccSCallum Fare Etor<"INVALID_SIZE", "invalid size or dimensions (e.g., must not be zero, or is out of bounds)">, 83*fd3907ccSCallum Fare Etor<"INVALID_ENUMERATION", "enumerator argument is not valid">, 84*fd3907ccSCallum Fare Etor<"UNSUPPORTED_ENUMERATION", "enumerator argument is not supported by the device">, 85*fd3907ccSCallum Fare Etor<"UNKNOWN", "Unknown or internal error"> 86*fd3907ccSCallum Fare ]; 87*fd3907ccSCallum Fare} 88*fd3907ccSCallum Fare 89*fd3907ccSCallum Faredef : Struct { 90*fd3907ccSCallum Fare let name = "ol_error_struct_t"; 91*fd3907ccSCallum Fare let desc = "Details of the error condition returned by an API call"; 92*fd3907ccSCallum Fare let members = [ 93*fd3907ccSCallum Fare StructMember<"ol_errc_t", "Code", "The error code">, 94*fd3907ccSCallum Fare StructMember<"const char*", "Details", "String containing error details"> 95*fd3907ccSCallum Fare ]; 96*fd3907ccSCallum Fare} 97*fd3907ccSCallum Fare 98*fd3907ccSCallum Faredef : Typedef { 99*fd3907ccSCallum Fare let name = "ol_result_t"; 100*fd3907ccSCallum Fare let desc = "Result type returned by all entry points."; 101*fd3907ccSCallum Fare let value = "const ol_error_struct_t*"; 102*fd3907ccSCallum Fare} 103*fd3907ccSCallum Fare 104*fd3907ccSCallum Faredef : Macro { 105*fd3907ccSCallum Fare let name = "OL_SUCCESS"; 106*fd3907ccSCallum Fare let desc = "Success condition"; 107*fd3907ccSCallum Fare let value = "NULL"; 108*fd3907ccSCallum Fare} 109*fd3907ccSCallum Fare 110*fd3907ccSCallum Faredef : Struct { 111*fd3907ccSCallum Fare let name = "ol_code_location_t"; 112*fd3907ccSCallum Fare let desc = "Code location information that can optionally be associated with an API call"; 113*fd3907ccSCallum Fare let members = [ 114*fd3907ccSCallum Fare StructMember<"const char*", "FunctionName", "Function name">, 115*fd3907ccSCallum Fare StructMember<"const char*", "SourceFile", "Source code file">, 116*fd3907ccSCallum Fare StructMember<"uint32_t", "LineNumber", "Source code line number">, 117*fd3907ccSCallum Fare StructMember<"uint32_t", "ColumnNumber", "Source code column number"> 118*fd3907ccSCallum Fare ]; 119*fd3907ccSCallum Fare} 120*fd3907ccSCallum Fare 121*fd3907ccSCallum Faredef : Function { 122*fd3907ccSCallum Fare let name = "olInit"; 123*fd3907ccSCallum Fare let desc = "Perform initialization of the Offload library and plugins"; 124*fd3907ccSCallum Fare let details = [ 125*fd3907ccSCallum Fare "This must be the first API call made by a user of the Offload library", 126*fd3907ccSCallum Fare "Each call will increment an internal reference count that is decremented by `olShutDown`" 127*fd3907ccSCallum Fare ]; 128*fd3907ccSCallum Fare let params = []; 129*fd3907ccSCallum Fare let returns = []; 130*fd3907ccSCallum Fare} 131*fd3907ccSCallum Fare 132*fd3907ccSCallum Faredef : Function { 133*fd3907ccSCallum Fare let name = "olShutDown"; 134*fd3907ccSCallum Fare let desc = "Release the resources in use by Offload"; 135*fd3907ccSCallum Fare let details = [ 136*fd3907ccSCallum Fare "This decrements an internal reference count. When this reaches 0, all resources will be released", 137*fd3907ccSCallum Fare "Subsequent API calls made after this are not valid" 138*fd3907ccSCallum Fare ]; 139*fd3907ccSCallum Fare let params = []; 140*fd3907ccSCallum Fare let returns = []; 141*fd3907ccSCallum Fare} 142