Loading [MathJax]/jax/output/HTML-CSS/config.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • NVIDIA DRIVE OS Linux SDK API Reference

    6.0.9 Release
    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    nvscibuf.h File Reference

    Detailed Description

    NVIDIA Software Communications Interface (SCI) : NvSciBuf

    Allows applications to allocate and exchange buffers in memory.

    Definition in file nvscibuf.h.

    Go to the source code of this file.

    Data Structures

    struct  NvSciRmGpuId
     Defines GPU ID structure. More...
     
    struct  NvSciBufAttrValGpuCache
     Datatype specifying GPU cacheability preference for a particular GPU ID. More...
     
    struct  NvSciBufAttrValGpuCompression
     Datatype specifying compression type needed for a particular GPU ID. More...
     
    struct  NvSciBufRect
     Datatype specifying the surface co-ordinates for NvSciBufObjGetPixels / NvSciBufObjPutPixels functionality. More...
     
    struct  NvSciBufAttrKeyValuePair
     This structure defines a key/value pair used to get or set the NvSciBufAttrKey(s) and their corresponding values from or to NvSciBufAttrList. More...
     

    Macros

    #define PACK_BUF(__Declaration__)   __pragma(pack(push, 1)) __Declaration__ __pragma(pack(pop))
     
    #define NV_SCI_BUF_TENSOR_MAX_DIMS   8u
     Maximum number of dimensions supported by NvSciBufType_Tensor. More...
     
    #define NV_SCI_BUF_IMAGE_MAX_PLANES   3u
     Maximum number of planes supported by NvSciBufType_Image. More...
     
    #define NV_SCI_BUF_PYRAMID_MAX_LEVELS   10u
     Maximum number of levels supported by NvSciBufType_Pyramid. More...
     
    #define NVSCIBUF_EXPORT_DESC_SIZE   32u
     Indicates the size of export descriptor. More...
     
    #define NV_SCI_BUF_PEER_INFO_MAX_NUMBER   128u
     Maxium number of peer info supported. More...
     
    #define NV_SCI_BUF_PEER_INFO_SELF_SOCID   0xFFFFFFFFu
     Self SOC ID value if the late peer is from same SoC. More...
     
    #define NV_SCI_BUF_PEER_INFO_SELF_VMID   0xFFFFFFFFu
     Self VM ID value if the late peer is from same VM. More...
     
    #define NV_SCI_BUF_PEER_HW_ENGINE_MAX_NUMBER   128U
     Global Constant to define maximum number of NvSciBufPeerHwEngine supported. More...
     
    #define NV_SCI_BUF_MAX_GPUS   16
     Maximum number of GPUs that can share the NvSciBufObj. More...
     
    #define NV_SCI_BUF_ATTRKEY_BIT_COUNT   16u
     Global constant to indicate number of bits used for defining an attribute key. More...
     
    #define NV_SCI_BUF_DATATYPE_BIT_COUNT   10u
     Global constant to indicate number of bits used for defining NvSciBufType of an attribute key. More...
     
    #define NV_SCI_BUF_ATTR_KEY_TYPE_PUBLIC   0u
     Global constant to indicate the attribute key type is public. More...
     
    #define NV_SCI_BUF_KEYTYPE_BIT_START   (NV_SCI_BUF_DATATYPE_BIT_COUNT + NV_SCI_BUF_ATTRKEY_BIT_COUNT)
     Global constant to specify the start-bit of attribute key type. More...
     
    #define NV_SCI_BUF_GENERAL_ATTR_KEY_START
     Indicates starting value of NvSciBufAttrKey for NvSciBufType_General. More...
     
    #define NV_SCI_BUF_RAW_BUF_ATTR_KEY_START
     Indicates starting value of NvSciBufAttrKey for NvSciBufType_RawBuffer. More...
     
    #define NV_SCI_BUF_IMAGE_ATTR_KEY_START
     Indicates the starting value of NvSciBufAttrKey for NvSciBufType_Image. More...
     
    #define NV_SCI_BUF_PYRAMID_ATTR_KEY_START
     Indicates the starting value of NvSciBufAttrKey for NvSciBufType_Pyramid. More...
     
    #define NV_SCI_BUF_ARRAY_ATTR_KEY_START
     Indicates the starting value of NvSciBufAttrKey for NvSciBufType_Array. More...
     
    #define NV_SCI_BUF_TENSOR_ATTR_KEY_START
     Indicates the starting value of NvSciBufAttrKey for NvSciBufType_Tensor. More...
     

    Typedefs

    typedef struct NvSciBufModuleRec * NvSciBufModule
     top-level container for the following set of resources: NvSciBufAttrLists, memory objects, and NvSciBufObjs. More...
     
    typedef struct NvSciBufObjRefRec * NvSciBufObj
     A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the buffer, the handle of the allocated buffer enforcing the buffer access permissions represented by NvSciBufGeneralAttrKey_ActualPerm key in reconciled NvSciBufAttrList and the buffer properties. More...
     
    typedef const struct NvSciBufObjRefRec * NvSciBufObjConst
     A reference, that is not modifiable, to a particular Memory Object. More...
     
    typedef struct NvSciBufAttrListRec * NvSciBufAttrList
     A container constituting an attribute list which contains. More...
     

    Enumerations

    enum  NvSciBufType {
      NvSciBufType_General = 0U,
      NvSciBufType_RawBuffer = 1U,
      NvSciBufType_Image = 2U,
      NvSciBufType_Tensor = 3U,
      NvSciBufType_Array = 4U,
      NvSciBufType_Pyramid = 5U,
      NvSciBufType_MaxValid = 6U,
      NvSciBufType_UpperBound = 6U
    }
     Enum definitions of NvSciBuf datatypes. More...
     
    enum  NvSciBufAttrKey {
      NvSciBufAttrKey_LowerBound = NV_SCI_BUF_GENERAL_ATTR_KEY_START,
      NvSciBufGeneralAttrKey_Types,
      NvSciBufGeneralAttrKey_NeedCpuAccess,
      NvSciBufGeneralAttrKey_RequiredPerm,
      NvSciBufGeneralAttrKey_EnableCpuCache,
      NvSciBufGeneralAttrKey_GpuId,
      NvSciBufGeneralAttrKey_CpuNeedSwCacheCoherency,
      NvSciBufGeneralAttrKey_ActualPerm,
      NvSciBufGeneralAttrKey_VidMem_GpuId,
      NvSciBufGeneralAttrKey_EnableGpuCache,
      NvSciBufGeneralAttrKey_GpuSwNeedCacheCoherency,
      NvSciBufGeneralAttrKey_EnableGpuCompression,
      NvSciBufGeneralAttrKey_PeerLocationInfo,
      NvSciBufGeneralAttrKey_PeerHwEngineArray,
      NvSciBufRawBufferAttrKey_Size = NV_SCI_BUF_RAW_BUF_ATTR_KEY_START,
      NvSciBufRawBufferAttrKey_Align,
      NvSciBufImageAttrKey_Layout = NV_SCI_BUF_IMAGE_ATTR_KEY_START,
      NvSciBufImageAttrKey_TopPadding,
      NvSciBufImageAttrKey_BottomPadding,
      NvSciBufImageAttrKey_LeftPadding,
      NvSciBufImageAttrKey_RightPadding,
      NvSciBufImageAttrKey_VprFlag,
      NvSciBufImageAttrKey_Size,
      NvSciBufImageAttrKey_Alignment,
      NvSciBufImageAttrKey_PlaneCount,
      NvSciBufImageAttrKey_PlaneColorFormat,
      NvSciBufImageAttrKey_PlaneColorStd,
      NvSciBufImageAttrKey_PlaneBaseAddrAlign,
      NvSciBufImageAttrKey_PlaneWidth,
      NvSciBufImageAttrKey_PlaneHeight,
      NvSciBufImageAttrKey_PlaneScanType = 0x2000e,
      NvSciBufImageAttrKey_ScanType = NvSciBufImageAttrKey_PlaneScanType,
      NvSciBufImageAttrKey_PlaneBitsPerPixel,
      NvSciBufImageAttrKey_PlaneOffset,
      NvSciBufImageAttrKey_PlaneDatatype,
      NvSciBufImageAttrKey_PlaneChannelCount,
      NvSciBufImageAttrKey_PlaneSecondFieldOffset,
      NvSciBufImageAttrKey_PlanePitch,
      NvSciBufImageAttrKey_PlaneAlignedHeight,
      NvSciBufImageAttrKey_PlaneAlignedSize,
      NvSciBufImageAttrKey_ImageCount,
      NvSciBufImageAttrKey_SurfType,
      NvSciBufImageAttrKey_SurfMemLayout,
      NvSciBufImageAttrKey_SurfSampleType,
      NvSciBufImageAttrKey_SurfBPC,
      NvSciBufImageAttrKey_SurfComponentOrder,
      NvSciBufImageAttrKey_SurfWidthBase,
      NvSciBufImageAttrKey_SurfHeightBase,
      NvSciBufImageAttrKey_SurfColorStd,
      NvSciBufTensorAttrKey_DataType = NV_SCI_BUF_TENSOR_ATTR_KEY_START,
      NvSciBufTensorAttrKey_NumDims,
      NvSciBufTensorAttrKey_SizePerDim,
      NvSciBufTensorAttrKey_AlignmentPerDim,
      NvSciBufTensorAttrKey_StridesPerDim,
      NvSciBufTensorAttrKey_PixelFormat,
      NvSciBufTensorAttrKey_BaseAddrAlign,
      NvSciBufTensorAttrKey_Size,
      NvSciBufArrayAttrKey_DataType = NV_SCI_BUF_ARRAY_ATTR_KEY_START,
      NvSciBufArrayAttrKey_Stride,
      NvSciBufArrayAttrKey_Capacity,
      NvSciBufArrayAttrKey_Size,
      NvSciBufArrayAttrKey_Alignment,
      NvSciBufPyramidAttrKey_NumLevels = NV_SCI_BUF_PYRAMID_ATTR_KEY_START,
      NvSciBufPyramidAttrKey_Scale,
      NvSciBufPyramidAttrKey_LevelOffset,
      NvSciBufPyramidAttrKey_LevelSize,
      NvSciBufPyramidAttrKey_Alignment,
      NvSciBufAttrKey_UpperBound = 0x3ffffffU
    }
     Describes the NvSciBuf public attribute keys holding corresponding values specifying buffer constraints. More...
     
    enum  NvSciBufAttrValAccessPerm {
      NvSciBufAccessPerm_Readonly = 1,
      NvSciBufAccessPerm_ReadWrite = 3,
      NvSciBufAccessPerm_Auto,
      NvSciBufAccessPerm_Invalid
    }
     Defines buffer access permissions for NvSciBufObj. More...
     
    enum  NvSciBufAttrValImageLayoutType {
      NvSciBufImage_BlockLinearType,
      NvSciBufImage_PitchLinearType
    }
     Defines the image layout type for NvSciBufType_Image. More...
     
    enum  NvSciBufAttrValImageScanType {
      NvSciBufScan_ProgressiveType,
      NvSciBufScan_InterlaceType
    }
     Defines the image scan type for NvSciBufType_Image. More...
     
    enum  NvSciBufAttrValColorFmt {
      NvSciColor_LowerBound,
      NvSciColor_Bayer8RGGB,
      NvSciColor_Bayer8CCCC,
      NvSciColor_Bayer8BGGR,
      NvSciColor_Bayer8GBRG,
      NvSciColor_Bayer8GRBG,
      NvSciColor_Bayer16BGGR,
      NvSciColor_Bayer16CCCC,
      NvSciColor_Bayer16GBRG,
      NvSciColor_Bayer16GRBG,
      NvSciColor_Bayer16RGGB,
      NvSciColor_Bayer16RCCB,
      NvSciColor_Bayer16BCCR,
      NvSciColor_Bayer16CRBC,
      NvSciColor_Bayer16CBRC,
      NvSciColor_Bayer16RCCC,
      NvSciColor_Bayer16CCCR,
      NvSciColor_Bayer16CRCC,
      NvSciColor_Bayer16CCRC,
      NvSciColor_X2Bayer14GBRG,
      NvSciColor_X4Bayer12GBRG,
      NvSciColor_X6Bayer10GBRG,
      NvSciColor_X2Bayer14GRBG,
      NvSciColor_X4Bayer12GRBG,
      NvSciColor_X6Bayer10GRBG,
      NvSciColor_X2Bayer14BGGR,
      NvSciColor_X4Bayer12BGGR,
      NvSciColor_X6Bayer10BGGR,
      NvSciColor_X2Bayer14RGGB,
      NvSciColor_X4Bayer12RGGB,
      NvSciColor_X6Bayer10RGGB,
      NvSciColor_X2Bayer14CCCC,
      NvSciColor_X4Bayer12CCCC,
      NvSciColor_X6Bayer10CCCC,
      NvSciColor_X4Bayer12RCCB,
      NvSciColor_X4Bayer12BCCR,
      NvSciColor_X4Bayer12CRBC,
      NvSciColor_X4Bayer12CBRC,
      NvSciColor_X4Bayer12RCCC,
      NvSciColor_X4Bayer12CCCR,
      NvSciColor_X4Bayer12CRCC,
      NvSciColor_X4Bayer12CCRC,
      NvSciColor_Signed_X2Bayer14CCCC,
      NvSciColor_Signed_X4Bayer12CCCC,
      NvSciColor_Signed_X6Bayer10CCCC,
      NvSciColor_Signed_Bayer16CCCC,
      NvSciColor_FloatISP_Bayer16CCCC,
      NvSciColor_FloatISP_Bayer16RGGB,
      NvSciColor_FloatISP_Bayer16BGGR,
      NvSciColor_FloatISP_Bayer16GRBG,
      NvSciColor_FloatISP_Bayer16GBRG,
      NvSciColor_FloatISP_Bayer16RCCB,
      NvSciColor_FloatISP_Bayer16BCCR,
      NvSciColor_FloatISP_Bayer16CRBC,
      NvSciColor_FloatISP_Bayer16CBRC,
      NvSciColor_FloatISP_Bayer16RCCC,
      NvSciColor_FloatISP_Bayer16CCCR,
      NvSciColor_FloatISP_Bayer16CRCC,
      NvSciColor_FloatISP_Bayer16CCRC,
      NvSciColor_X12Bayer20CCCC,
      NvSciColor_X12Bayer20BGGR,
      NvSciColor_X12Bayer20RGGB,
      NvSciColor_X12Bayer20GRBG,
      NvSciColor_X12Bayer20GBRG,
      NvSciColor_X12Bayer20RCCB,
      NvSciColor_X12Bayer20BCCR,
      NvSciColor_X12Bayer20CRBC,
      NvSciColor_X12Bayer20CBRC,
      NvSciColor_X12Bayer20RCCC,
      NvSciColor_X12Bayer20CCCR,
      NvSciColor_X12Bayer20CRCC,
      NvSciColor_X12Bayer20CCRC,
      NvSciColor_Signed_X12Bayer20CCCC,
      NvSciColor_Signed_X12Bayer20GBRG,
      NvSciColor_U8V8,
      NvSciColor_U8_V8,
      NvSciColor_V8U8,
      NvSciColor_V8_U8,
      NvSciColor_U10V10,
      NvSciColor_V10U10,
      NvSciColor_U12V12,
      NvSciColor_V12U12,
      NvSciColor_U16V16,
      NvSciColor_V16U16,
      NvSciColor_Y8,
      NvSciColor_Y10,
      NvSciColor_Y12,
      NvSciColor_Y16,
      NvSciColor_U8,
      NvSciColor_V8,
      NvSciColor_U10,
      NvSciColor_V10,
      NvSciColor_U12,
      NvSciColor_V12,
      NvSciColor_U16,
      NvSciColor_V16,
      NvSciColor_A8Y8U8V8,
      NvSciColor_Y8U8Y8V8,
      NvSciColor_Y8V8Y8U8,
      NvSciColor_U8Y8V8Y8,
      NvSciColor_V8Y8U8Y8,
      NvSciColor_A16Y16U16V16,
      NvSciColor_A8,
      NvSciColor_Signed_A8,
      NvSciColor_B8G8R8A8,
      NvSciColor_A8R8G8B8,
      NvSciColor_A8B8G8R8,
      NvSciColor_A2R10G10B10,
      NvSciColor_A16,
      NvSciColor_Signed_A16,
      NvSciColor_Signed_R16G16,
      NvSciColor_A16B16G16R16,
      NvSciColor_Signed_A16B16G16R16,
      NvSciColor_Float_A16B16G16R16,
      NvSciColor_A32,
      NvSciColor_Signed_A32,
      NvSciColor_Float_A16,
      NvSciColor_X6Bayer10BGGI_RGGI,
      NvSciColor_X6Bayer10GBIG_GRIG,
      NvSciColor_X6Bayer10GIBG_GIRG,
      NvSciColor_X6Bayer10IGGB_IGGR,
      NvSciColor_X6Bayer10RGGI_BGGI,
      NvSciColor_X6Bayer10GRIG_GBIG,
      NvSciColor_X6Bayer10GIRG_GIBG,
      NvSciColor_X6Bayer10IGGR_IGGB,
      NvSciColor_X4Bayer12BGGI_RGGI,
      NvSciColor_X4Bayer12GBIG_GRIG,
      NvSciColor_X4Bayer12GIBG_GIRG,
      NvSciColor_X4Bayer12IGGB_IGGR,
      NvSciColor_X4Bayer12RGGI_BGGI,
      NvSciColor_X4Bayer12GRIG_GBIG,
      NvSciColor_X4Bayer12GIRG_GIBG,
      NvSciColor_X4Bayer12IGGR_IGGB,
      NvSciColor_X2Bayer14BGGI_RGGI,
      NvSciColor_X2Bayer14GBIG_GRIG,
      NvSciColor_X2Bayer14GIBG_GIRG,
      NvSciColor_X2Bayer14IGGB_IGGR,
      NvSciColor_X2Bayer14RGGI_BGGI,
      NvSciColor_X2Bayer14GRIG_GBIG,
      NvSciColor_X2Bayer14GIRG_GIBG,
      NvSciColor_X2Bayer14IGGR_IGGB,
      NvSciColor_Bayer16BGGI_RGGI,
      NvSciColor_Bayer16GBIG_GRIG,
      NvSciColor_Bayer16GIBG_GIRG,
      NvSciColor_Bayer16IGGB_IGGR,
      NvSciColor_Bayer16RGGI_BGGI,
      NvSciColor_Bayer16GRIG_GBIG,
      NvSciColor_Bayer16GIRG_GIBG,
      NvSciColor_Bayer16IGGR_IGGB,
      NvSciColor_X4Bayer12RGGB_RJ,
      NvSciColor_R8,
      NvSciColor_G8,
      NvSciColor_B8,
      NvSciColor_UpperBound
    }
     Defines the image color formats for NvSciBufType_Image. More...
     
    enum  NvSciBufAttrValColorStd {
      NvSciColorStd_SRGB,
      NvSciColorStd_REC601_SR,
      NvSciColorStd_REC601_ER,
      NvSciColorStd_REC709_SR,
      NvSciColorStd_REC709_ER,
      NvSciColorStd_REC2020_RGB,
      NvSciColorStd_REC2020_SR,
      NvSciColorStd_REC2020_ER,
      NvSciColorStd_YcCbcCrc_SR,
      NvSciColorStd_YcCbcCrc_ER,
      NvSciColorStd_SENSOR_RGBA,
      NvSciColorStd_REQ2020PQ_ER
    }
     Defines the image color standard for NvSciBufType_Image. More...
     
    enum  NvSciBufSurfType {
      NvSciSurfType_YUV,
      NvSciSurfType_RGBA,
      NvSciSurfType_RAW,
      NvSciSurfType_MaxValid
    }
     Surface types. More...
     
    enum  NvSciBufSurfMemLayout {
      NvSciSurfMemLayout_Packed,
      NvSciSurfMemLayout_SemiPlanar,
      NvSciSurfMemLayout_Planar,
      NvSciSurfMemLayout_MaxValid
    }
     Memory type. More...
     
    enum  NvSciBufSurfSampleType {
      NvSciSurfSampleType_420,
      NvSciSurfSampleType_422,
      NvSciSurfSampleType_444,
      NvSciSurfSampleType_422R,
      NvSciSurfSampleType_400,
      NvSciSurfSampleType_MaxValid
    }
     Subsampling type. More...
     
    enum  NvSciBufSurfBPC {
      NvSciSurfBPC_Layout_16_8_8,
      NvSciSurfBPC_Layout_10_8_8,
      NvSciSurfBPC_8,
      NvSciSurfBPC_10,
      NvSciSurfBPC_12,
      NvSciSurfBPC_14,
      NvSciSurfBPC_16,
      NvSciSurfBPC_MaxValid
    }
     Bits Per Component. More...
     
    enum  NvSciBufSurfComponentOrder {
      NvSciSurfComponentOrder_YUV,
      NvSciSurfComponentOrder_YVU,
      NvSciSurfComponentOrder_Luma,
      NvSciSurfComponentOrder_MaxValid
    }
     Component ordering. More...
     
    enum  NvSciBufAttrValDataType {
      NvSciDataType_Int4,
      NvSciDataType_Uint4,
      NvSciDataType_Int8,
      NvSciDataType_Uint8,
      NvSciDataType_Int16,
      NvSciDataType_Uint16,
      NvSciDataType_Int32,
      NvSciDataType_Uint32,
      NvSciDataType_Float16,
      NvSciDataType_Float32,
      NvSciDataType_FloatISP,
      NvSciDataType_Bool,
      NvSciDataType_UpperBound
    }
     Defines various numeric datatypes for NvSciBuf. More...
     
    enum  NvSciBufCompressionType {
      NvSciBufCompressionType_None,
      NvSciBufCompressionType_GenericCompressible
    }
     an enum spcifying various GPU compression values supported by NvSciBuf More...
     
    enum  NvSciBufHwEngName {
      NvSciBufHwEngName_Invalid = 0,
      NvSciBufHwEngName_Display = 4,
      NvSciBufHwEngName_Isp = 11,
      NvSciBufHwEngName_Vi = 12,
      NvSciBufHwEngName_Csi = 30,
      NvSciBufHwEngName_Vic = 106,
      NvSciBufHwEngName_Gpu = 107,
      NvSciBufHwEngName_MSENC = 109,
      NvSciBufHwEngName_NVDEC = 117,
      NvSciBufHwEngName_NVJPG = 118,
      NvSciBufHwEngName_PVA = 121,
      NvSciBufHwEngName_DLA = 122,
      NvSciBufHwEngName_PCIe = 123,
      NvSciBufHwEngName_OFA = 124,
      NvSciBufHwEngName_NPM = 125,
      NvSciBufHwEngName_Num = 126
    }
     Enum to identify hardware engines. More...
     
    enum  NvSciBufPlatformName {
      NvSciBufPlatformName_LowerBound,
      NvSciBufPlatformName_Orin,
      NvSciBufPlatformName_PG189,
      NvSciBufPlatformName_PG199,
      NvSciBufPlatformName_UpperBound
    }
     Enum to identify the platform on which late attaching peer(s) is running. More...
     

    Functions

     PACK_BUF (typedef struct { NvSciBufHwEngName engName;NvSciBufPlatformName platName;}) NvSciBufPeerHwEngine
     Datatype specifying hardware engines which will access NvSciBufObj by late attaching peer(s). More...
     
     PACK_BUF (typedef struct { uint64_t data[NVSCIBUF_EXPORT_DESC_SIZE];}) NvSciBufObjIpcExportDescriptor
     Defines the exported form of NvSciBufObj intended to be shared across an NvSciIpc channel. More...
     
     PACK_BUF (typedef struct { uint32_t socID;uint32_t vmID;uint64_t reserved;}) NvSciBufPeerLocationInfo
     Defines Peer location info structure. More...
     
    NvSciError NvSciBufAttrListCreate (NvSciBufModule module, NvSciBufAttrList *newAttrList)
     Creates a new, single slot, unreconciled NvSciBufAttrList associated with the input NvSciBufModule with empty NvSciBufAttrKeys. More...
     
    void NvSciBufAttrListFree (NvSciBufAttrList attrList)
     Frees the NvSciBufAttrList and removes its association with the NvSciBufModule with which it was created. More...
     
    NvSciError NvSciBufAttrListSetAttrs (NvSciBufAttrList attrList, NvSciBufAttrKeyValuePair *pairArray, size_t pairCount)
     Sets the values for NvSciBufAttrKey(s) in the NvSciBufAttrList. More...
     
    size_t NvSciBufAttrListGetSlotCount (NvSciBufAttrList attrList)
     Returns the slot count per NvSciBufAttrKey in a NvSciBufAttrList. More...
     
    NvSciError NvSciBufAttrListGetAttrs (NvSciBufAttrList attrList, NvSciBufAttrKeyValuePair *pairArray, size_t pairCount)
     Returns an array of NvSciBufAttrKeyValuePair for a given set of NvSciBufAttrKey(s). More...
     
    NvSciError NvSciBufAttrListSlotGetAttrs (NvSciBufAttrList attrList, size_t slotIndex, NvSciBufAttrKeyValuePair *pairArray, size_t pairCount)
     Returns an array of NvSciBufAttrKeyValuePair(s) from input NvSciBufAttrList at the given slot index. More...
     
    NvSciError NvSciBufAttrListReconcile (const NvSciBufAttrList inputArray[], size_t inputCount, NvSciBufAttrList *newReconciledAttrList, NvSciBufAttrList *newConflictList)
     Reconciles the given unreconciled NvSciBufAttrList(s) into a new reconciled NvSciBufAttrList. More...
     
    NvSciError NvSciBufAttrListClone (NvSciBufAttrList origAttrList, NvSciBufAttrList *newAttrList)
     Clones an unreconciled/reconciled NvSciBufAttrList. More...
     
    NvSciError NvSciBufAttrListAppendUnreconciled (const NvSciBufAttrList inputUnreconciledAttrListArray[], size_t inputUnreconciledAttrListCount, NvSciBufAttrList *newUnreconciledAttrList)
     Appends multiple unreconciled NvSciBufAttrList(s) together, forming a single new unreconciled NvSciBufAttrList with a slot count equal to the sum of all the slot counts of NvSciBufAttrList(s) in the input array and containing the contents of all the NvSciBufAttrList(s) in the input array. More...
     
    NvSciError NvSciBufAttrListIsReconciled (NvSciBufAttrList attrList, bool *isReconciled)
     Checks if the NvSciBufAttrList is reconciled. More...
     
    NvSciError NvSciBufAttrListValidateReconciled (NvSciBufAttrList reconciledAttrList, const NvSciBufAttrList unreconciledAttrListArray[], size_t unreconciledAttrListCount, bool *isReconcileListValid)
     Validates a reconciled NvSciBufAttrList against a set of unreconciled NvSciBufAttrList(s). More...
     
    NvSciError NvSciBufObjDup (NvSciBufObj bufObj, NvSciBufObj *dupObj)
     Creates a new NvSciBufObj holding reference to the same Memory object to which input NvSciBufObj holds the reference. More...
     
    NvSciError NvSciBufAttrListReconcileAndObjAlloc (const NvSciBufAttrList attrListArray[], size_t attrListCount, NvSciBufObj *bufObj, NvSciBufAttrList *newConflictList)
     Reconciles the input unreconciled NvSciBufAttrList(s) into a new reconciled NvSciBufAttrList and allocates NvSciBufObj that meets all the constraints in the reconciled NvSciBufAttrList. More...
     
    void NvSciBufObjFree (NvSciBufObj bufObj)
     Removes reference to the Memory object by destroying the NvSciBufObj. More...
     
    NvSciError NvSciBufObjGetAttrList (NvSciBufObj bufObj, NvSciBufAttrList *bufAttrList)
     Retrieves the reconciled NvSciBufAttrList whose attributes define the constraints of the allocated buffer from the NvSciBufObj. More...
     
    NvSciError NvSciBufObjGetCpuPtr (NvSciBufObj bufObj, void **ptr)
     Gets the CPU virtual address (VA) of the read/write buffer referenced by the NvSciBufObj. More...
     
    NvSciError NvSciBufObjGetConstCpuPtr (NvSciBufObj bufObj, const void **ptr)
     Gets the CPU virtual address (VA) of the read-only buffer referenced by the NvSciBufObj. More...
     
    NvSciError NvSciBufObjFlushCpuCacheRange (NvSciBufObj bufObj, uint64_t offset, uint64_t len)
     Flushes the given len bytes at starting offset in the buffer referenced by the NvSciBufObj. More...
     
    NvSciError NvSciBufObjAlloc (NvSciBufAttrList reconciledAttrList, NvSciBufObj *bufObj)
     Allocates a buffer that satisfies all the constraints defined by the attributes of the specified reconciled NvSciBufAttrList, and outputs a new NvSciBufObj referencing the Memory object containing the allocated buffer properties. More...
     
    NvSciError NvSciBufObjDupWithReducePerm (NvSciBufObj bufObj, NvSciBufAttrValAccessPerm reducedPerm, NvSciBufObj *newBufObj)
     Creates a new memory object containing a buffer handle representing the new NvSciBufAttrValAccessPerm to the same buffer for the buffer handle contained in the input memory object referenced by the input NvSciBufObj and creates a new NvSciBufObj referencing it provided NvSciBufAttrValAccessPerm are less than permissions represented by buffer handle in the memory object referenced by input NvSciBufObj. More...
     
    NvSciError NvSciBufObjGetPixels (NvSciBufObj bufObj, const NvSciBufRect *rect, void **dstPtrs, const uint32_t *dstPtrSizes, const uint32_t *dstPitches)
     Gets pixels from the buffer represented by memory object pointed to by bufObj provided NvSciBufGeneralAttrKey_Types is set to NvSciBufType_Image and CPU access to the buffer is requested via NvSciBufGeneralAttrKey_NeedCpuAccess in the unreconciled NvSciBufAttrList(s) used for bufObj allocation by the peer intending to call this API. More...
     
    NvSciError NvSciBufObjPutPixels (NvSciBufObj bufObj, const NvSciBufRect *rect, const void **srcPtrs, const uint32_t *srcPtrSizes, const uint32_t *srcPitches)
     Writes pixels to the buffer represented by memory object pointed to by bufObj provided NvSciBufGeneralAttrKey_Types is set to NvSciBufType_Image, NvSciBufAccessPerm_ReadWrite permissions are requested for the bufObj via NvSciBufGeneralAttrKey_RequiredPerm and CPU access to the buffer is requested via NvSciBufGeneralAttrKey_NeedCpuAccess in the unreconciled NvSciBufAttrList(s) used for bufObj allocation by the peer intending to call this API. More...
     
    NvSciError NvSciBufIpcExportAttrListAndObj (NvSciBufObj bufObj, NvSciBufAttrValAccessPerm permissions, NvSciIpcEndpoint ipcEndpoint, void **attrListAndObjDesc, size_t *attrListAndObjDescSize)
     Exports NvSciBufAttrList and NvSciBufObj into an NvSciIpc-transferable object export descriptor. More...
     
    NvSciError NvSciBufIpcImportAttrListAndObj (NvSciBufModule module, NvSciIpcEndpoint ipcEndpoint, const void *attrListAndObjDesc, size_t attrListAndObjDescSize, const NvSciBufAttrList attrList[], size_t count, NvSciBufAttrValAccessPerm minPermissions, int64_t timeoutUs, NvSciBufObj *bufObj)
     This API is invoked by the importing process after it receives the object export descriptor sent by the other process who has created descriptor. More...
     
    void NvSciBufAttrListAndObjFreeDesc (void *attrListAndObjDescBuf)
     Frees the descriptor used for exporting both NvSciBufAttrList and NvSciBufObj together. More...
     
    NvSciError NvSciBufObjIpcExport (NvSciBufObj bufObj, NvSciBufAttrValAccessPerm accPerm, NvSciIpcEndpoint ipcEndpoint, NvSciBufObjIpcExportDescriptor *exportData)
     Exports the NvSciBufObj into an NvSciIpc-transferable object export descriptor. More...
     
    NvSciError NvSciBufObjIpcImport (NvSciIpcEndpoint ipcEndpoint, const NvSciBufObjIpcExportDescriptor *desc, NvSciBufAttrList reconciledAttrList, NvSciBufAttrValAccessPerm minPermissions, int64_t timeoutUs, NvSciBufObj *bufObj)
     Creates the NvSciBufObj based on supplied object export descriptor and returns the NvSciBufObj bound to the reconciled NvSciBufAttrList. More...
     
    NvSciError NvSciBufObjAttachPeer (NvSciBufObj bufObj, const NvSciBufAttrList inputArray[], size_t inputCount)
     Allows remote peer NvSciIpcEndpoint to gain access to already allocated NvSciBufObj. More...
     
    NvSciError NvSciBufAttrListIpcExportUnreconciled (const NvSciBufAttrList unreconciledAttrListArray[], size_t unreconciledAttrListCount, NvSciIpcEndpoint ipcEndpoint, void **descBuf, size_t *descLen)
     Transforms the input unreconciled NvSciBufAttrList(s) to an exportable unreconciled NvSciBufAttrList descriptor that can be transported by the application to any remote process as a serialized set of bytes over an NvSciIpc channel. More...
     
    NvSciError NvSciBufAttrListIpcExportReconciled (NvSciBufAttrList reconciledAttrList, NvSciIpcEndpoint ipcEndpoint, void **descBuf, size_t *descLen)
     Transforms the reconciled NvSciBufAttrList to an exportable reconciled NvSciBufAttrList descriptor that can be transported by the application to any remote process as a serialized set of bytes over an NvSciIpc channel. More...
     
    NvSciError NvSciBufAttrListIpcImportUnreconciled (NvSciBufModule module, NvSciIpcEndpoint ipcEndpoint, const void *descBuf, size_t descLen, NvSciBufAttrList *importedUnreconciledAttrList)
     Translates an exported unreconciled NvSciBufAttrList descriptor (potentially received from any process) into an unreconciled NvSciBufAttrList. More...
     
    NvSciError NvSciBufAttrListIpcImportReconciled (NvSciBufModule module, NvSciIpcEndpoint ipcEndpoint, const void *descBuf, size_t descLen, const NvSciBufAttrList inputUnreconciledAttrListArray[], size_t inputUnreconciledAttrListCount, NvSciBufAttrList *importedReconciledAttrList)
     Translates an exported reconciled NvSciBufAttrList descriptor (potentially received from any process) into a reconciled NvSciBufAttrList. More...
     
    void NvSciBufAttrListFreeDesc (void *descBuf)
     Frees the NvSciBuf exported NvSciBufAttrList descriptor. More...
     
    NvSciError NvSciBufModuleOpen (NvSciBufModule *newModule)
     Initializes and returns a new NvSciBufModule with no NvSciBufAttrLists, buffers, or NvSciBufObjs bound to it. More...
     
    void NvSciBufModuleClose (NvSciBufModule module)
     Releases the NvSciBufModule obtained through an earlier call to NvSciBufModuleOpen(). More...
     
    NvSciError NvSciBufCheckVersionCompatibility (uint32_t majorVer, uint32_t minorVer, bool *isCompatible)
     Checks if loaded NvSciBuf library version is compatible with NvSciBuf library version with which elements dependent on NvSciBuf were built. More...
     
    NvSciError NvSciBufObjValidate (NvSciBufObj bufObj)
     Validates the NvSciBufObj satisfies the constraints of the NvSciBufAttrList that it is associated with. More...
     
    NvSciError NvSciBufAttrListValidateReconciledAgainstAttrs (const NvSciBufAttrList reconciledAttrList, const NvSciBufAttrKeyValuePair *pairArray, const size_t pairCount)
     Validate the reconciled NvSciBufAttrList against the set of all attributes that the user has set in the unreconciled NvSciBufAttrList(s). More...
     
    NvSciError NvSciBufObjGetMaxPerm (const NvSciBufObj bufObj, const NvSciIpcEndpoint ipcEndpoint, NvSciBufAttrValAccessPerm *accPerm)
     Retrieve the NvSciBufAttrValAccessPerm of an NvSciBufObj for given NvSciIpcEndpoint. More...
     

    Variables

    static const uint32_t NvSciBufMajorVersion = 2U
     NvSciBuf API Major version number. More...
     
    static const uint32_t NvSciBufMinorVersion = 11U
     NvSciBuf API Minor version number. More...
     

    Macro Definition Documentation

    ◆ PACK_BUF

    #define PACK_BUF (   __Declaration__)    __pragma(pack(push, 1)) __Declaration__ __pragma(pack(pop))

    Definition at line 36 of file nvscibuf.h.

    人人超碰97caoporen国产