Compute Graph Framework SDK Reference  5.16
Porting Guide from CGF 5.8 to CGF 5.10

This document will help you port your applications from DriveWorks CGF 5.8 to DriveWorks CGF 5.10.

JSON Sensor Description

The sensorLayouts key in .app.json files has been replaced with the following keys which have different values / a new sematic:

  • requiredSensors
  • sensorMappingLookups
  • sensorMappings

For the new keys schemas for the following extensions have been added:

  • .requires-sensors.json
  • .sensor-mappings.json

Accordingly the sensorLayouts key in .app-config.json files has been replaced with the requiredSensors key.

Exception Class

The class dw::framework::Exception previously defined in dwcgf/Exception.hpp has been removed. Instead the Driveworks class dw::core::ExceptionWithStatus provided by dw/core/base/Exception.hpp shall be used.

NvSci error/event API

The following functions and macros previously defined in dwcgf/Exception.hpp have been moved to the new file dwcgf/channel/NvSciHelper.hpp:

Logging Macros

The file dwcgf/logger/Logger.hpp has been removed. Instead of the custom CGF macros FRWK_LOG*, the macros from Driveworks Core DW_LOG* shall be used which is provided by dw/core/logger/Logger.hpp.

Channel Packet Type API

The concept of the removed class dw::framework::SyncedPacketPayload has been replaced with three new classes:

Node API

The following constants have been removed from the node class:

  • dw::framework::Node::PASS_SETUP
  • dw::framework::Node::PASS_TEARDOWN

Instead the index of the SETUP and TEARDOWN pass should be retrieved for a specific node through the template function dw::framework::passIndex(dw::core::StringView).

The node function dw::framework::Node::runPassByID() has been removed. Instead dw::framework::Node::runPass() shall be used which accepts a pass index as returned by the above mentioned API.

Parameter Provider

The following functions have been removed to avoid the usage of std::string types for parameters which might result in dynamic memory allocation:

  • dw::framework::JsonParameterProvider::getVectorString()
  • dw::framework::JsonParameterProvider::getStringByIndex()

Instead use the sibling functions operating on dw::core::FixedString, dw::core::StringView, or const char*.

Removal of Obsolete Code Block

Tracing Code

All files, API and information related to tracing have been removed:

  • dwcgf/channel/ChannelTrace.hpp
  • ChannelFactory::setTraceMode()
  • ChannelFactory::setOnRegisterTraceWriter()
  • ChannelFactory::setOnRegisterTraceReader()
  • ChannelParams::getTraceId()
  • The channel parameter trace-name

ParseChannelParameter Specializations

The specializations of the dw::framework::ParseChannelParameter function with the following return types have been removed:

  • ChannelConnectionType
  • ChannelNvSciStreamEnabledComponents
  • ChannelReach

ComputeGraph Code

The following unused files have been removed:

  • dwcgf/computegraph/ComputeGraph.hpp
  • dwcgf/computegraph/Connection.hpp