NvSciBuf Reconciliation#

NvSciBufAttrList unreconciledList[2] = {NULL};
NvSciBufAttrList reconciledList = NULL;
NvSciBufAttrList conflictList = NULL;

unreconciledList[0] = AttrList1;
unreconciledList[1] = AttrList2;

/* Reconciliation will be successful if and only all the
* unreconciledLists belong to same NvSciBufModule and the
* outputs of this API(i.e either reconciled attribute list
* or conflict list will also be associated with the same
* module with which input unreconciled lists belong to.
*/
err = NvSciBufAttrListReconcile(
   unreconciledList,       /* array of unreconciled lists */
   2,                      /* size of this array */
   &reconciledList,        /* output reconciled list */
   &conflictList);         /* conflict description filled
                           in case of reconciliation failure */

if (err != NvSciError_Success) {
    goto fail;
}
/* ... */
NvSciBufAttrListFree(AttrList1);
NvSciBufAttrListFree(AttrList2);
NvSciBufAttrListFree(reconciledList); //
      In case of successful reconciliation.
NvSciBufAttrListFree(conflictList); //
      In case of failed reconciliation.