Objects
Applications can use the reconciled attribute list to create any number of NvSciBufObj objects. Each NvSciBufObj represents a buffer and the reconciled attribute list is associated with each object until the object is freed. Applications can create NvMedia/CUDA datatypes out of the allocated buffer using NvMedia/CUDA API and can operate on the buffers by submitting to the NvMedia/CUDA hardware engine using appropriate APIs. Applications wanting to access the buffer from the CPU can set the NvSciBufGeneralAttrKey_NeedCpuAccess
attribute to true
and get the CPU address using either NvSciBufObjGetCpuPtr
or NvSciBufObjGetConstCpuPtr
API.
Invoking NvSciBufObjGetCpuPtr on a read-only buffer or a buffer that does not have CPU access returns an error.