cupva_host_cmd_memcpy.h#

Fully qualified name: src/host/c_api/include/detail/workloads/cupva_host_cmd_memcpy.h

File members: src/host/c_api/include/detail/workloads/cupva_host_cmd_memcpy.h

/*
 * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
 *
 * NVIDIA Corporation and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA Corporation is strictly prohibited.
 */

#ifndef CUPVA_HOST_CMD_MEMCPY_H
#define CUPVA_HOST_CMD_MEMCPY_H

#include <detail/workloads/cupva_host_types_workloads.h>
#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct
{
    const void *ptrSrc;
    cupvaOffsetPointer_t *opSrc;
    void *ptrDst;
    cupvaOffsetPointer_t *opDst;
} cupvaCmdMemcpyBufferParams_t;

DLL_EXPORT cupvaError_t CupvaCmdMemcpyCreate(cupvaCmd_t *const cmdMemcpy,
                                             cupvaCmdMemcpyBufferParams_t *const cmdMemcpyBufferParams,
                                             size_t const count);

DLL_EXPORT cupvaError_t CupvaCmdMemcpyCreate2D(cupvaCmd_t *const cmdMemcpy,
                                               cupvaCmdMemcpyBufferParams_t *const cmdMemcpyBufferParams,
                                               size_t const dstLinePitch, size_t const srcLinePitch, size_t const width,
                                               size_t const height);

#ifdef __cplusplus
}
#endif
#endif