Skip to content

Commit 97aeffd

Browse files
authored
OneVPL v2.9 (#483)
1 parent bb20434 commit 97aeffd

24 files changed

+838
-138
lines changed

oneapi-doc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"version": "1.2-rev-1",
3-
"vpl_version": "2.8.0",
3+
"vpl_version": "2.9.0",
44
"art_version": "1.0-rev-1"
55
}

source/elements/oneVPL/include/vpl/mfxadapter.h

+15-3
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,12 @@ extern "C"
3131
MFX_WRN_OUT_OF_RANGE Not enough memory to report back entire list of adapters. In this case as many adapters as possible will be returned.
3232
3333
@since This function is available since API version 1.31.
34+
35+
@deprecated Deprecated in API version 2.9. Use MFXEnumImplementations and MFXSetConfigFilterProperty to query adapter capabilities and
36+
to select a suitable adapter for the input workload.
37+
Use MFX_DEPRECATED_OFF macro to turn off the deprecation message visualization.
3438
*/
35-
mfxStatus MFX_CDECL MFXQueryAdapters(mfxComponentInfo* input_info, mfxAdaptersInfo* adapters);
39+
MFX_DEPRECATED mfxStatus MFX_CDECL MFXQueryAdapters(mfxComponentInfo* input_info, mfxAdaptersInfo* adapters);
3640

3741
/*!
3842
@brief
@@ -49,8 +53,12 @@ mfxStatus MFX_CDECL MFXQueryAdapters(mfxComponentInfo* input_info, mfxAdaptersIn
4953
MFX_WRN_OUT_OF_RANGE Not enough memory to report back entire list of adapters. In this case as many adapters as possible will be returned.
5054
5155
@since This function is available since API version 1.31.
56+
57+
@deprecated Deprecated in API version 2.9. Use MFXEnumImplementations and MFXSetConfigFilterProperty to query adapter capabilities and
58+
to select a suitable adapter for the input workload.
59+
Use MFX_DEPRECATED_OFF macro to turn off the deprecation message visualization.
5260
*/
53-
mfxStatus MFX_CDECL MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxU32 codec_id, mfxAdaptersInfo* adapters);
61+
MFX_DEPRECATED mfxStatus MFX_CDECL MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxU32 codec_id, mfxAdaptersInfo* adapters);
5462

5563
/*!
5664
@brief
@@ -63,8 +71,12 @@ mfxStatus MFX_CDECL MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxU32 codec
6371
MFX_ERR_NULL_PTR num_adapters pointer is NULL.
6472
6573
@since This function is available since API version 1.31.
74+
75+
@deprecated Deprecated in API version 2.9. Use MFXEnumImplementations and MFXSetConfigFilterProperty to query adapter capabilities and
76+
to select a suitable adapter for the input workload.
77+
Use MFX_DEPRECATED_OFF macro to turn off the deprecation message visualization.
6678
*/
67-
mfxStatus MFX_CDECL MFXQueryAdaptersNumber(mfxU32* num_adapters);
79+
MFX_DEPRECATED mfxStatus MFX_CDECL MFXQueryAdaptersNumber(mfxU32* num_adapters);
6880
#ifdef __cplusplus
6981
} // extern "C"
7082
#endif

source/elements/oneVPL/include/vpl/mfxcommon.h

+45-31
Original file line numberDiff line numberDiff line change
@@ -237,35 +237,34 @@ typedef struct {
237237
} mfxExtThreadsParam;
238238
MFX_PACK_END()
239239

240-
/*! The PlatformCodeName enumerator itemizes product code names for platforms.
241-
For details about Intel code names, see ark.intel.com. */
240+
/*! Deprecated. */
242241
enum {
243-
MFX_PLATFORM_UNKNOWN = 0, /*!< Unknown platform. */
244-
MFX_PLATFORM_SANDYBRIDGE = 1, /*!< Intel(r) microarchitecture code name Sandy Bridge. */
245-
MFX_PLATFORM_IVYBRIDGE = 2, /*!< Intel(r) microarchitecture code name Ivy Bridge. */
246-
MFX_PLATFORM_HASWELL = 3, /*!< Code name Haswell. */
247-
MFX_PLATFORM_BAYTRAIL = 4, /*!< Code name Bay Trail. */
248-
MFX_PLATFORM_BROADWELL = 5, /*!< Intel(r) microarchitecture code name Broadwell. */
249-
MFX_PLATFORM_CHERRYTRAIL = 6, /*!< Code name Cherry Trail. */
250-
MFX_PLATFORM_SKYLAKE = 7, /*!< Intel(r) microarchitecture code name Skylake. */
251-
MFX_PLATFORM_APOLLOLAKE = 8, /*!< Code name Apollo Lake. */
252-
MFX_PLATFORM_KABYLAKE = 9, /*!< Code name Kaby Lake. */
253-
MFX_PLATFORM_GEMINILAKE = 10, /*!< Code name Gemini Lake. */
254-
MFX_PLATFORM_COFFEELAKE = 11, /*!< Code name Coffee Lake. */
255-
MFX_PLATFORM_CANNONLAKE = 20, /*!< Code name Cannon Lake. */
256-
MFX_PLATFORM_ICELAKE = 30, /*!< Code name Ice Lake. */
257-
MFX_PLATFORM_JASPERLAKE = 32, /*!< Code name Jasper Lake. */
258-
MFX_PLATFORM_ELKHARTLAKE = 33, /*!< Code name Elkhart Lake. */
259-
MFX_PLATFORM_TIGERLAKE = 40, /*!< Code name Tiger Lake. */
260-
MFX_PLATFORM_ROCKETLAKE = 42, /*!< Code name Rocket Lake. */
261-
MFX_PLATFORM_ALDERLAKE_S = 43, /*!< Code name Alder Lake S. */
262-
MFX_PLATFORM_ALDERLAKE_P = 44, /*!< Code name Alder Lake P. */
263-
MFX_PLATFORM_ARCTICSOUND_P = 45,
264-
MFX_PLATFORM_XEHP_SDV = 45, /*!< Code name XeHP SDV. */
265-
MFX_PLATFORM_DG2 = 46, /*!< Code name DG2. */
266-
MFX_PLATFORM_ATS_M = 46, /*!< Code name ATS-M, same media functionality as DG2. */
267-
MFX_PLATFORM_ALDERLAKE_N = 55, /*!< Code name Alder Lake N. */
268-
MFX_PLATFORM_KEEMBAY = 50, /*!< Code name Keem Bay. */
242+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_UNKNOWN) = 0, /*!< Unknown platform. */
243+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_SANDYBRIDGE) = 1, /*!< Intel(r) microarchitecture code name Sandy Bridge. */
244+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_IVYBRIDGE) = 2, /*!< Intel(r) microarchitecture code name Ivy Bridge. */
245+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_HASWELL) = 3, /*!< Code name Haswell. */
246+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_BAYTRAIL) = 4, /*!< Code name Bay Trail. */
247+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_BROADWELL) = 5, /*!< Intel(r) microarchitecture code name Broadwell. */
248+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_CHERRYTRAIL) = 6, /*!< Code name Cherry Trail. */
249+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_SKYLAKE) = 7, /*!< Intel(r) microarchitecture code name Skylake. */
250+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_APOLLOLAKE) = 8, /*!< Code name Apollo Lake. */
251+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_KABYLAKE) = 9, /*!< Code name Kaby Lake. */
252+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_GEMINILAKE) = 10, /*!< Code name Gemini Lake. */
253+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_COFFEELAKE) = 11, /*!< Code name Coffee Lake. */
254+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_CANNONLAKE) = 20, /*!< Code name Cannon Lake. */
255+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ICELAKE) = 30, /*!< Code name Ice Lake. */
256+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_JASPERLAKE) = 32, /*!< Code name Jasper Lake. */
257+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ELKHARTLAKE) = 33, /*!< Code name Elkhart Lake. */
258+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_TIGERLAKE) = 40, /*!< Code name Tiger Lake. */
259+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ROCKETLAKE) = 42, /*!< Code name Rocket Lake. */
260+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ALDERLAKE_S) = 43, /*!< Code name Alder Lake S. */
261+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ALDERLAKE_P) = 44, /*!< Code name Alder Lake P. */
262+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ARCTICSOUND_P) = 45,
263+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_XEHP_SDV) = 45, /*!< Code name XeHP SDV. */
264+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_DG2) = 46, /*!< Code name DG2. */
265+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ATS_M) = 46, /*!< Code name ATS-M, same media functionality as DG2. */
266+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_ALDERLAKE_N) = 55, /*!< Code name Alder Lake N. */
267+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_PLATFORM_KEEMBAY) = 50, /*!< Code name Keem Bay. */
269268
};
270269

271270
/*! The mfxMediaAdapterType enumerator itemizes types of graphics adapters. */
@@ -279,7 +278,7 @@ typedef enum
279278
MFX_PACK_BEGIN_USUAL_STRUCT()
280279
/*! Contains information about hardware platform for the Legacy mode. */
281280
typedef struct {
282-
mfxU16 CodeName; /*!< Microarchitecture code name. See the PlatformCodeName enumerator for a list of possible values. */
281+
MFX_DEPRECATED mfxU16 CodeName; /*!< Deprecated. */
283282
mfxU16 DeviceId; /*!< Unique identifier of graphics device. */
284283
mfxU16 MediaAdapterType; /*!< Description of graphics adapter type. See the mfxMediaAdapterType enumerator for a list of possible values. */
285284
mfxU16 reserved[13]; /*!< Reserved for future use. */
@@ -559,11 +558,27 @@ typedef struct {
559558
mfxU32 DRMPrimaryNodeNum; /*!< Number of the DRM primary node from the path /dev/dri/card\<num\>.
560559
Value equals to 0x7FFFFFFF means that this field doesn't contain valid DRM Primary
561560
Node number.*/
562-
mfxU8 reserved1[20]; /*!< Reserved for future use. */
561+
mfxU16 RevisionID; /*!< PCI revision ID. The value contains microarchitecture version. */
562+
mfxU8 reserved1[18]; /*!< Reserved for future use. */
563563
mfxChar DeviceName[MFX_STRFIELD_LEN]; /*!< Null-terminated string in utf-8 with the name of the device. */
564564
} mfxExtendedDeviceId;
565565
MFX_PACK_END()
566566

567+
MFX_PACK_BEGIN_USUAL_STRUCT()
568+
/*! Cross domain structure to define device UUID. It is defined here to check backward compatibility.*/
569+
typedef struct {
570+
mfxU16 vendor_id; /*!< PCI vendor ID. Same as mfxExtendedDeviceId::VendorID. */
571+
mfxU16 device_id; /*!< PCI device ID. Same as mfxExtendedDeviceId::DeviceID. */
572+
mfxU16 revision_id; /*!< PCI revision ID. Same as mfxExtendedDeviceId::RevisionID. */
573+
mfxU16 pci_domain; /*!< PCI bus domain. Same as mfxExtendedDeviceId::PCIDomain. */
574+
mfxU8 pci_bus; /*!< The number of the bus that the physical device is located on. Same as mfxExtendedDeviceId::PCIBus. */
575+
mfxU8 pci_dev; /*!< The index of the physical device on the bus. Same as mfxExtendedDeviceId::PCIDevice. */
576+
mfxU8 pci_func; /*!< The function number of the device on the physical device. Same as mfxExtendedDeviceId::PCIFunction. */
577+
mfxU8 reserved[4]; /*!< Reserved for future use. */
578+
mfxU8 sub_device_id; /*!< SubDevice ID.*/
579+
} extDeviceUUID;
580+
MFX_PACK_END()
581+
567582
#endif
568583

569584
/* The mfxImplCapsDeliveryFormat enumerator specifies delivery format of the implementation capability. */
@@ -608,4 +623,3 @@ MFX_PACK_END()
608623
#endif /* __cplusplus */
609624

610625
#endif
611-

source/elements/oneVPL/include/vpl/mfxdefs.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#define __MFXDEFS_H__
99

1010
#define MFX_VERSION_MAJOR 2
11-
#define MFX_VERSION_MINOR 8
11+
#define MFX_VERSION_MINOR 9
1212

1313
// MFX_VERSION - version of API that 'assumed' by build may be provided externally
1414
// if it omitted then latest stable API derived from Major.Minor is assumed

source/elements/oneVPL/include/vpl/mfxdispatcher.h

+30-2
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,13 @@ mfxStatus MFX_CDECL MFXSetConfigFilterProperty(mfxConfig config, const mfxU8* na
8181

8282
/*!
8383
@brief Iterates over filtered out implementations to gather their details. This function allocates memory to store
84-
mfxImplDescription structure instance. Use the MFXDispReleaseImplDescription function to free memory allocated to the mfxImplDescription structure.
84+
a structure or string corresponding to the type specified by format. For example, if format is set to
85+
MFX_IMPLCAPS_IMPLDESCSTRUCTURE, then idesc will return a pointer to a structure of type mfxImplDescription.
86+
Use the MFXDispReleaseImplDescription function to free memory allocated to this structure or string.
8587
@param[in] loader Loader handle.
8688
@param[in] i Index of the implementation.
8789
@param[in] format Format in which capabilities need to be delivered. See the mfxImplCapsDeliveryFormat enumerator for more details.
88-
@param[out] idesc Pointer to the mfxImplDescription structure.
90+
@param[out] idesc Pointer to the structure or string corresponding to the requested format.
8991
@return
9092
MFX_ERR_NONE The function completed successfully. The idesc contains valid information.\n
9193
MFX_ERR_NULL_PTR If loader is NULL. \n
@@ -147,6 +149,32 @@ mfxStatus MFX_CDECL MFXCreateSession(mfxLoader loader, mfxU32 i, mfxSession* ses
147149
*/
148150
mfxStatus MFX_CDECL MFXDispReleaseImplDescription(mfxLoader loader, mfxHDL hdl);
149151

152+
#ifdef ONEVPL_EXPERIMENTAL
153+
/*!
154+
@brief
155+
Macro help to return UUID in the common oneAPI format.
156+
157+
@param[in] devinfo Handle to mfxExtendedDeviceId.
158+
@param[in] sub_device_id SubDevice number. Can be obtained from mfxDeviceDescription::SubDevices::Index. Set to zero if no SubDevices.
159+
@param[out] uuid Pointer to UUID.
160+
161+
*/
162+
#define MFX_UUID_COMPUTE_DEVICE_ID(devinfo, sub_device_id, uuid) \
163+
{ \
164+
extDeviceUUID t_uuid = { 0 }; \
165+
extDeviceUUID* shared_uuid = (extDeviceUUID*)uuid; \
166+
t_uuid.vendor_id = devinfo->VendorID; \
167+
t_uuid.device_id = devinfo->DeviceID; \
168+
t_uuid.revision_id = devinfo->RevisionID; \
169+
t_uuid.pci_domain = devinfo->PCIDomain; \
170+
t_uuid.pci_bus = (mfxU8)devinfo->PCIBus; \
171+
t_uuid.pci_dev = (mfxU8)devinfo->PCIDevice; \
172+
t_uuid.pci_func = (mfxU8)devinfo->PCIFunction; \
173+
t_uuid.sub_device_id = (mfxU8)sub_device_id; \
174+
*shared_uuid = t_uuid; \
175+
}
176+
#endif
177+
150178
/* Helper macro definitions to add config filter properties. */
151179

152180
/*! Adds single property of mfxU32 type.

0 commit comments

Comments
 (0)