| //===-- Program.td - Program definitions for Offload -------*- tablegen -*-===// | |
| // | |
| // 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 | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // This file contains Offload API definitions related to the program handle | |
| // | |
| //===----------------------------------------------------------------------===// | |
| def olCreateProgram : Function { | |
| let desc = "Create a program for the device from the binary image pointed to by `ProgData`."; | |
| let details = [ | |
| "The provided `ProgData` will be copied and need not outlive the returned handle", | |
| ]; | |
| let params = [ | |
| Param<"ol_device_handle_t", "Device", "handle of the device", PARAM_IN>, | |
| Param<"const void*", "ProgData", "pointer to the program binary data", PARAM_IN>, | |
| Param<"size_t", "ProgDataSize", "size of the program binary in bytes", PARAM_IN>, | |
| Param<"ol_program_handle_t*", "Program", "output pointer for the created program", PARAM_OUT> | |
| ]; | |
| let returns = []; | |
| } | |
| def olIsValidBinary : Function { | |
| let desc = "Validate if the binary image pointed to by `ProgData` is compatible with the device."; | |
| let details = ["The provided `ProgData` will not be loaded onto the device"]; | |
| let params = [ | |
| Param<"ol_device_handle_t", "Device", "handle of the device", PARAM_IN>, | |
| Param<"const void*", "ProgData", "pointer to the program binary data", PARAM_IN>, | |
| Param<"size_t", "ProgDataSize", "size of the program binary in bytes", PARAM_IN>, | |
| Param<"bool*", "Valid", "output is true if the image is compatible", PARAM_OUT> | |
| ]; | |
| let returns = []; | |
| } | |
| def olDestroyProgram : Function { | |
| let desc = "Destroy the program and free all underlying resources."; | |
| let details = []; | |
| let params = [ | |
| Param<"ol_program_handle_t", "Program", "handle of the program", PARAM_IN> | |
| ]; | |
| let returns = []; | |
| } |