| 43 | } // namespace |
| 44 | |
| 45 | extern "C" AclStatus AclCreateQueue(AclQueue *external_queue, AclContext external_ctx, const AclQueueOptions *options) |
| 46 | { |
| 47 | using namespace arm_compute; |
| 48 | |
| 49 | auto ctx = get_internal(external_ctx); |
| 50 | |
| 51 | StatusCode status = detail::validate_internal_context(ctx); |
| 52 | ARM_COMPUTE_RETURN_CENUM_ON_FAILURE(status); |
| 53 | |
| 54 | if (options != nullptr && !is_mode_valid(options)) |
| 55 | { |
| 56 | ARM_COMPUTE_LOG_ERROR_ACL("Queue options are invalid"); |
| 57 | return AclInvalidArgument; |
| 58 | } |
| 59 | |
| 60 | auto queue = ctx->create_queue(options); |
| 61 | if (queue == nullptr) |
| 62 | { |
| 63 | ARM_COMPUTE_LOG_ERROR_ACL("Couldn't allocate internal resources"); |
| 64 | return AclOutOfMemory; |
| 65 | } |
| 66 | |
| 67 | *external_queue = queue; |
| 68 | |
| 69 | return AclSuccess; |
| 70 | } |
| 71 | |
| 72 | extern "C" AclStatus AclQueueFinish(AclQueue external_queue) |
| 73 | { |
no test coverage detected