Declarations of entities to handle NV_VPI versioning. More...
Macros | |
#define | NV_VPI_MAKE_VERSION4(major, minor, patch, tweak) ((major)*1000000U + (minor)*10000U + (patch)*100U + (tweak)) |
Make a NV_VPI version identifier with four components. More... | |
#define | NV_VPI_MAKE_VERSION3(major, minor, patch) NV_VPI_MAKE_VERSION4(major, minor, patch, 0) |
Make a NV_VPI version identifier with three components. More... | |
#define | NV_VPI_MAKE_VERSION2(major, minor) NV_VPI_MAKE_VERSION4(major, minor, 0, 0) |
Make a NV_VPI version identifier with two components. More... | |
#define | NV_VPI_MAKE_VERSION1(major) NV_VPI_MAKE_VERSION4(major, 0, 0, 0) |
Make a NV_VPI version identifier with one component. More... | |
#define | NV_VPI_MAKE_VERSION(major, minor, patch, tweak) |
Assemble an integer version from its components. More... | |
#define | NV_VPI_VERSION_MAJOR 3 |
Major version number component. More... | |
#define | NV_VPI_VERSION_MINOR 2 |
Minor version number component. More... | |
#define | NV_VPI_VERSION_PATCH 5 |
Patch version number component. More... | |
#define | NV_VPI_VERSION_TWEAK 0 |
Tweak version number component. More... | |
#define | NV_VPI_VERSION_SUFFIX "" |
Version suffix. More... | |
#define | NV_VPI_VERSION NV_VPI_MAKE_VERSION(NV_VPI_VERSION_MAJOR, NV_VPI_VERSION_MINOR, NV_VPI_VERSION_PATCH, NV_VPI_VERSION_TWEAK) |
NV_VPI library version. More... | |
#define | NV_VPI_VERSION_STRING "3.2.5" |
NV_VPI library version number represented as a string. | |
#define | NV_VPI_VERSION_API |
Selected API version to use. More... | |
#define | NV_VPI_VERSION_API_IS(major, minor) (NV_VPI_MAKE_VERSION(major,minor) == NV_VPI_VERSION_API) |
Conditionally enable code when selected API version is exactly given version. More... | |
#define | NV_VPI_VERSION_API_AT_LEAST(major, minor) (NV_VPI_MAKE_VERSION(major,minor) <= NV_VPI_VERSION_API) |
Conditionally enable code when selected API version is at least given version. More... | |
#define | NV_VPI_VERSION_API_AT_MOST(major, minor) (NV_VPI_MAKE_VERSION(major,minor) >= NV_VPI_VERSION_API) |
Conditionally enable code when selected API version is at most given version. More... | |
#define | NV_VPI_VERSION_API_IN_RANGE(min_major, min_minor, max_major, max_minor) (NV_VPI_VERSION_API_AT_LEAST(min_major, min_minor) && NV_VPI_VERSION_API_AT_MOST(max_major, max_minor)) |
Conditionally enable code when selected API version is between two versions. More... | |
Declarations of entities to handle NV_VPI versioning.
These utilities allow querying the NV_VPI header and library versions and properly handle NV_VPI forward- or backward-compatibility .
#define NV_VPI_MAKE_VERSION4 | ( | major, | |
minor, | |||
patch, | |||
tweak | |||
) | ((major)*1000000U + (minor)*10000U + (patch)*100U + (tweak)) |
#include <vpi/VersionDef.h>
Make a NV_VPI version identifier with four components.
[in] | major,minor,patch,tweak | Version components to be converted to a number. |
Definition at line 78 of file VersionDef.h.
#define NV_VPI_MAKE_VERSION3 | ( | major, | |
minor, | |||
patch | |||
) | NV_VPI_MAKE_VERSION4(major, minor, patch, 0) |
#include <vpi/VersionDef.h>
Make a NV_VPI version identifier with three components.
The tweak version component is considered to be 0.
[in] | major,minor,patch | Version components to be converted to a number. |
Definition at line 88 of file VersionDef.h.
#define NV_VPI_MAKE_VERSION2 | ( | major, | |
minor | |||
) | NV_VPI_MAKE_VERSION4(major, minor, 0, 0) |
#include <vpi/VersionDef.h>
Make a NV_VPI version identifier with two components.
The patch and tweak version components are considered to be 0.
[in] | major,minor | Version components to be converted to a number. |
Definition at line 98 of file VersionDef.h.
#define NV_VPI_MAKE_VERSION1 | ( | major | ) | NV_VPI_MAKE_VERSION4(major, 0, 0, 0) |
#include <vpi/VersionDef.h>
Make a NV_VPI version identifier with one component.
The minor, patch and tweak version components are considered to be 0.
[in] | major | Major version component to be converted to a number. |
Definition at line 108 of file VersionDef.h.
#define NV_VPI_MAKE_VERSION | ( | major, | |
minor, | |||
patch, | |||
tweak | |||
) |
#include <vpi/VersionDef.h>
Assemble an integer version from its components.
This makes it easy to conditionally compile code for different NV_VPI versions, e.g:
[in] | major | Major version component, mandatory. |
[in] | minor | Minor version component. If ommitted, it's considered to be 0. |
[in] | patch | Patch version component. If ommitted, it's considered to be 0. |
[in] | tweak | Tweak version component. If ommitted, it's considered to be 0. |
Definition at line 128 of file VersionDef.h.
#define NV_VPI_VERSION_MAJOR 3 |
#include <vpi/VersionDef.h>
Major version number component.
This is incremented every time there's a incompatible ABI change. In the special case of major version 0, compatibility between minor versions is not guaranteed.
Definition at line 140 of file VersionDef.h.
#define NV_VPI_VERSION_MINOR 2 |
#include <vpi/VersionDef.h>
Minor version number component.
This is incremented every time there's a new feature added to NV_VPI that doesn't break backward compatibility. This number is reset to zero when major version changes.
Definition at line 147 of file VersionDef.h.
#define NV_VPI_VERSION_PATCH 5 |
#include <vpi/VersionDef.h>
Patch version number component.
This is incremented every time a bug is fixed, but no new functionality is added to the library. This number is reset to zero when minor version changes.
Definition at line 153 of file VersionDef.h.
#define NV_VPI_VERSION_TWEAK 0 |
#include <vpi/VersionDef.h>
Tweak version number component.
Incremented for packaging or documentation updates, etc. The library itself isn't updated. Gets reset to zero when patch version changes.
Definition at line 159 of file VersionDef.h.
#define NV_VPI_VERSION_SUFFIX "" |
#include <vpi/VersionDef.h>
Version suffix.
String appended to version number to designate special builds.
Definition at line 164 of file VersionDef.h.
#define NV_VPI_VERSION NV_VPI_MAKE_VERSION(NV_VPI_VERSION_MAJOR, NV_VPI_VERSION_MINOR, NV_VPI_VERSION_PATCH, NV_VPI_VERSION_TWEAK) |
#include <vpi/VersionDef.h>
NV_VPI library version.
It's an integer value computed from MAJOR*1000000 + MINOR*10000 + PATCH*100 + TWEAK
. Integer versions can be compared, recent versions are greater than older ones.
Definition at line 170 of file VersionDef.h.
#define NV_VPI_VERSION_API |
#include <vpi/VersionDef.h>
Selected API version to use.
This macro selects which of the supported APIs the code will use.
By default this equals to the highest supported API, corresponding to the current major and minor versions of the library.
User can override the version by defining this macro before including NV_VPI headers.
Definition at line 184 of file VersionDef.h.
#define NV_VPI_VERSION_API_IS | ( | major, | |
minor | |||
) | (NV_VPI_MAKE_VERSION(major,minor) == NV_VPI_VERSION_API) |
#include <vpi/VersionDef.h>
Conditionally enable code when selected API version is exactly given version.
[in] | major,minor | API version that will be considered. |
Definition at line 200 of file VersionDef.h.
#define NV_VPI_VERSION_API_AT_LEAST | ( | major, | |
minor | |||
) | (NV_VPI_MAKE_VERSION(major,minor) <= NV_VPI_VERSION_API) |
#include <vpi/VersionDef.h>
Conditionally enable code when selected API version is at least given version.
[in] | major,minor | Minimum API version that will be considered. |
Definition at line 207 of file VersionDef.h.
#define NV_VPI_VERSION_API_AT_MOST | ( | major, | |
minor | |||
) | (NV_VPI_MAKE_VERSION(major,minor) >= NV_VPI_VERSION_API) |
#include <vpi/VersionDef.h>
Conditionally enable code when selected API version is at most given version.
[in] | major,minor | Maximum API version that will be considered. |
Definition at line 214 of file VersionDef.h.
#define NV_VPI_VERSION_API_IN_RANGE | ( | min_major, | |
min_minor, | |||
max_major, | |||
max_minor | |||
) | (NV_VPI_VERSION_API_AT_LEAST(min_major, min_minor) && NV_VPI_VERSION_API_AT_MOST(max_major, max_minor)) |
#include <vpi/VersionDef.h>
Conditionally enable code when selected API version is between two versions.
[in] | min_major,min_minor | Minimum API version that will be considered. |
[in] | max_major,max_minor | Maximum API version that will be considered. |
Definition at line 222 of file VersionDef.h.