aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Osorio <rodrigo@FreeBSD.org>2024-03-24 15:51:09 +0000
committerRodrigo Osorio <rodrigo@FreeBSD.org>2024-03-30 09:29:34 +0000
commitbf2e205b04f53cb69551014707028bb9cf612f2d (patch)
treecac26d0adb08ca11f3238d68fd5c89d926afde83
parented6a009a7670e9c134646de9ede2ccb36eb999d9 (diff)
downloadports-bf2e205b04f53cb69551014707028bb9cf612f2d.tar.gz
ports-bf2e205b04f53cb69551014707028bb9cf612f2d.zip
multimedia/libva-intel-media-driver: update to 23.4.3
Changelog: https://github.com/intel/media-driver/compare/intel-media-22.4.3...intel-media-23.4.3 Supported Platforms: BDW (Broadwell) SKL (Skylake) BXTx (BXT: Broxton, APL: Apollo Lake, GLK: Gemini Lake) KBLx (KBL: Kaby Lake, CFL: Coffee Lake, WHL: Whiskey Lake, CML: Comet Lake, AML: Amber Lake) ICL (Ice Lake) JSL (Jasper Lake) / EHL (Elkhart Lake) TGLx (TGL: Tiger Lake, RKL: Rocket Lake, ADL-S/P/N: Alder Lake, RPL-S/P: Raptor Lake) DG1/SG1 Alchemist(DG2)/ATSM MTLx (MTL: Meteor Lake, ARL-S: Arrow Lake)
-rw-r--r--multimedia/libva-intel-media-driver/Makefile31
-rw-r--r--multimedia/libva-intel-media-driver/distinfo62
-rw-r--r--multimedia/libva-intel-media-driver/files/patch-revert240
-rw-r--r--multimedia/libva-intel-media-driver/files/patch-userptr31
4 files changed, 52 insertions, 312 deletions
diff --git a/multimedia/libva-intel-media-driver/Makefile b/multimedia/libva-intel-media-driver/Makefile
index bcbc6a74f667..c14ec1b7720b 100644
--- a/multimedia/libva-intel-media-driver/Makefile
+++ b/multimedia/libva-intel-media-driver/Makefile
@@ -1,23 +1,26 @@
PORTNAME= media-driver
DISTVERSIONPREFIX= intel-media-
-DISTVERSION= 22.4.3
-PORTREVISION= 1
+DISTVERSION= 23.4.3
CATEGORIES= multimedia
PKGNAMEPREFIX= libva-intel-
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= 7debae1bd149.patch:-p1 # https://github.com/intel/media-driver/pull/1492
-PATCHFILES+= 3ee693b2bad3.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= a4313cae8533.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 4980335d82c4.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= fcfc4431f4b7.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 77382f10e352.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 4440a982d235.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 8249202403a4.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= ab1209a220eb.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= acf5314930d3.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 9acd334c50a7.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= a338a45f0675.patch:-p1 # https://github.com/intel/media-driver/pull/819
+PATCHFILES+= d54347296.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 7e26e598e.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 6e1f5e635.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 7485cf796.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 3297302d8.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 0f3012331.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 695b56fe0.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= be6bd904b.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= daaa7172e.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 59c560101.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 2933bb51e.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 4ec9b2bd6.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 17d384458.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= abb792cad.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 7d261abf2.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 67961a267.patch:-p1 #https://github.com/intel/media-driver/pull/1785
MAINTAINER= ports@FreeBSD.org
COMMENT= VAAPI driver for Intel HD 5000 (Gen8) or newer
diff --git a/multimedia/libva-intel-media-driver/distinfo b/multimedia/libva-intel-media-driver/distinfo
index cbfa28f0ff5c..2745ab7bd091 100644
--- a/multimedia/libva-intel-media-driver/distinfo
+++ b/multimedia/libva-intel-media-driver/distinfo
@@ -1,27 +1,35 @@
-TIMESTAMP = 1653561072
-SHA256 (intel-media-driver-intel-media-22.4.3_GH0.tar.gz) = c30a63414d4aaf1a3b5c09db02b6c4da23b5998620ff8c950bb8258104576568
-SIZE (intel-media-driver-intel-media-22.4.3_GH0.tar.gz) = 27415572
-SHA256 (7debae1bd149.patch) = 1da22fd6a97e00f5014d48b4a240cd107e2430689759bfc793dd90cea5064b48
-SIZE (7debae1bd149.patch) = 1969
-SHA256 (3ee693b2bad3.patch) = 565445b42b6edd39c73fc0b3689da0753366787f5c22b5daf0f648245ae9ae0c
-SIZE (3ee693b2bad3.patch) = 1241
-SHA256 (a4313cae8533.patch) = c52bf061c693dc2eb7ba64117b8f84c2894c42017d1f186c9f3757aeae8f95a8
-SIZE (a4313cae8533.patch) = 1265
-SHA256 (4980335d82c4.patch) = 7895e6b537c626b8c77cf6308d9d3b5c1b35105735e98d1d2e0e41b42af1dbe4
-SIZE (4980335d82c4.patch) = 2188
-SHA256 (fcfc4431f4b7.patch) = 3df3eb048b3d1e77acb08813469979cc3f44af4abbeabce5b2bceeea45ad494a
-SIZE (fcfc4431f4b7.patch) = 2192
-SHA256 (77382f10e352.patch) = bdfbbefba9cbc977bc6e61ab2b1c743e921823a44ca20f54e1382f6cb23aa3ce
-SIZE (77382f10e352.patch) = 1162
-SHA256 (4440a982d235.patch) = 71c152cafd791754dc69ee1ed7201f77bdd33d45cae061363a408970d409a3b3
-SIZE (4440a982d235.patch) = 3417
-SHA256 (8249202403a4.patch) = 203f9ee6ad2101a703550a69447329cda29b75d4eef07c407205e6e724124f84
-SIZE (8249202403a4.patch) = 6044
-SHA256 (ab1209a220eb.patch) = 8b18466fc773dce8573c378a76fde6d45dfbe77379722a1b1104eb27beb7f0fa
-SIZE (ab1209a220eb.patch) = 2404
-SHA256 (acf5314930d3.patch) = 602e86cb5f65439ca192c95c69e9a76c4abc15781fb3dcc9dc40584ccc3e2f60
-SIZE (acf5314930d3.patch) = 3280
-SHA256 (9acd334c50a7.patch) = eb35c49b04ebc8f817587b7a025cd1225efec5979e45a7330c86d31cc87574c7
-SIZE (9acd334c50a7.patch) = 802
-SHA256 (a338a45f0675.patch) = 55b1379dc0702968217f059ee07d34fe8d31dff6ebf29c8743e1ba7e48ff929b
-SIZE (a338a45f0675.patch) = 2869
+TIMESTAMP = 1711293145
+SHA256 (intel-media-driver-intel-media-23.4.3_GH0.tar.gz) = 83b95eefe86c9d58d92c2a77793541ea3cb643dff419599ffa87899fd58738cd
+SIZE (intel-media-driver-intel-media-23.4.3_GH0.tar.gz) = 25805389
+SHA256 (67961a267.patch) = be88e1a492b5b03d8dd516135fff4eb07e97a2f32d9b3ec7bd1a9a57f9c78cde
+SIZE (67961a267.patch) = 846
+SHA256 (7d261abf2.patch) = 68d24418ead81595ea4729764abd51e930d99e45ac5023790f3bcea37c02cbc6
+SIZE (7d261abf2.patch) = 1950
+SHA256 (abb792cad.patch) = 32c71ff1849e161b77833f8b3925644756de80779fae3497a31e1a95cfd52a5b
+SIZE (abb792cad.patch) = 1596
+SHA256 (17d384458.patch) = 846da2dd019172cb4ab64c8d094dceae9ab21483378c8ea35e5fe81f0182ab20
+SIZE (17d384458.patch) = 7680
+SHA256 (4ec9b2bd6.patch) = 3fadd418328cda433788ead1cf911003023e3dab79c29120de99b1939feb20a2
+SIZE (4ec9b2bd6.patch) = 1040
+SHA256 (2933bb51e.patch) = 4013d2a2a0b03d80e20580930246505e268e5a16057e07dfcdc229a81e6d8b45
+SIZE (2933bb51e.patch) = 1417
+SHA256 (59c560101.patch) = 38f7c9081e6c35e7550e34fad5075a547febc788e76d31bea78915a35c861cfc
+SIZE (59c560101.patch) = 807
+SHA256 (daaa7172e.patch) = 0ff9dff3cbf0344368a1d5ec313d5ba5c38a482e7c9cfcb8b513b8972b898cb8
+SIZE (daaa7172e.patch) = 3305
+SHA256 (be6bd904b.patch) = 23e3c93a92fd03aac75b53a99d6edf8a9ed31ac046b1bf3266e041559b1836fc
+SIZE (be6bd904b.patch) = 2378
+SHA256 (695b56fe0.patch) = e190823ee8c45437bda97ee0acbf07e6ee02197e8bc8f7e137080953e0c7a769
+SIZE (695b56fe0.patch) = 5997
+SHA256 (0f3012331.patch) = ad7862e7717db30d6e1295e49737a06425bcc00bd286fe4b2fa480e44d4e7855
+SIZE (0f3012331.patch) = 3421
+SHA256 (3297302d8.patch) = 8b029a88e44567d120dec6a940c9ecf3e71cc387c026942668d7e6e12d254be5
+SIZE (3297302d8.patch) = 1162
+SHA256 (7485cf796.patch) = 34d85d997c25ed2a6d6e8f426e137c517950276b8b9681dfa125fd7e2550183d
+SIZE (7485cf796.patch) = 2027
+SHA256 (6e1f5e635.patch) = d14fff98319669fc6aef8aff830f34ee28a50a32f2466ced69582f40308b33cd
+SIZE (6e1f5e635.patch) = 2197
+SHA256 (7e26e598e.patch) = 703f78ec4ec117fa67b224c5989a08b5c95b71db08d2b8bece16ef131caa9db3
+SIZE (7e26e598e.patch) = 1265
+SHA256 (d54347296.patch) = b02fa57c0eee1f0d9d388a1cce649841b4902c297ed3c3f609ec5ae03f1131c4
+SIZE (d54347296.patch) = 1241
diff --git a/multimedia/libva-intel-media-driver/files/patch-revert b/multimedia/libva-intel-media-driver/files/patch-revert
deleted file mode 100644
index ff6d3c1ca303..000000000000
--- a/multimedia/libva-intel-media-driver/files/patch-revert
+++ /dev/null
@@ -1,240 +0,0 @@
-Temporarily revert https://github.com/intel/media-driver/commit/53405da4ad2d
-until bundled libdrm is ported
-
-In file included from media_driver/linux/common/os/mos_interface.cpp:37:
-cmrtlib/linux/hardware/drm_device.h:268:19: error: use of undeclared identifier 'DRM_MAJOR'
- return maj == DRM_MAJOR;
- ^
-
---- cmrtlib/linux/hardware/drm_device.h.orig 2022-05-08 00:14:20 UTC
-+++ cmrtlib/linux/hardware/drm_device.h
-@@ -53,7 +53,6 @@
- #endif
- #include <math.h>
- #include <string>
--#include <cstring>
-
- #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
-
-@@ -125,7 +124,7 @@ typedef void *drmAddress, **drmAddressPtr; /*
- #define MAX3( A, B, C ) ((A) > (B) ? MAX2(A, C) : MAX2(B, C))
-
- #define __align_mask(value, mask) (((value) + (mask)) & ~(mask))
--#define ALIGN_CEIL(value, alignment) __align_mask(value, (__typeof__(value))((alignment) - 1))
-+#define ALIGN(value, alignment) __align_mask(value, (__typeof__(value))((alignment) - 1))
- #define DRM_PLATFORM_DEVICE_NAME_LEN 512
-
- typedef struct _drmPciBusInfo {
-@@ -231,21 +230,6 @@ drm_device_validate_flags(uint32_t flags)
- return (flags & ~DRM_DEVICE_GET_PCI_REVISION);
- }
-
--static bool
--drm_device_has_rdev(drmDevicePtr device, dev_t find_rdev)
--{
-- struct stat sbuf;
--
-- for (int i = 0; i < DRM_NODE_MAX; i++) {
-- if (device->available_nodes & 1 << i) {
-- if (stat(device->nodes[i], &sbuf) == 0 &&
-- sbuf.st_rdev == find_rdev)
-- return true;
-- }
-- }
-- return false;
--}
--
- static int drmGetMaxNodeName(void)
- {
- return sizeof(DRM_DIR_NAME) +
-@@ -305,7 +289,7 @@ static drmDevicePtr drmDeviceAlloc(unsigned int type,
- unsigned int i;
- char *ptr;
-
-- max_node_length = ALIGN_CEIL(drmGetMaxNodeName(), sizeof(void *));
-+ max_node_length = ALIGN(drmGetMaxNodeName(), sizeof(void *));
-
- extra = DRM_NODE_MAX * (sizeof(void *) + max_node_length);
-
-@@ -1192,105 +1176,6 @@ int drmGetDevices(drmDevicePtr devices[], int max_devi
- return drmGetDevices2(DRM_DEVICE_GET_PCI_REVISION, devices, max_devices);
- }
-
--/**
-- * Get information about the opened drm device
-- *
-- * \param fd file descriptor of the drm device
-- * \param flags feature/behaviour bitmask
-- * \param device the address of a drmDevicePtr where the information
-- * will be allocated in stored
-- *
-- * \return zero on success, negative error code otherwise.
-- *
-- * \note Unlike drmGetDevice it does not retrieve the pci device revision field
-- * unless the DRM_DEVICE_GET_PCI_REVISION \p flag is set.
-- */
--int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device)
--{
-- drmDevicePtr local_devices[MAX_DRM_NODES];
-- drmDevicePtr d;
-- DIR *sysdir;
-- struct dirent *dent;
-- struct stat sbuf;
-- int subsystem_type;
-- int maj, min;
-- int ret, i, node_count;
-- dev_t find_rdev;
--
-- if (drm_device_validate_flags(flags))
-- return -EINVAL;
--
-- if (fd == -1 || device == NULL)
-- return -EINVAL;
--
-- if (fstat(fd, &sbuf))
-- return -errno;
--
-- find_rdev = sbuf.st_rdev;
-- maj = major(sbuf.st_rdev);
-- min = minor(sbuf.st_rdev);
--
-- if (!drmNodeIsDRM(maj, min) || !S_ISCHR(sbuf.st_mode))
-- return -EINVAL;
--
-- subsystem_type = drmParseSubsystemType(maj, min);
-- if (subsystem_type < 0)
-- return subsystem_type;
--
-- sysdir = opendir(DRM_DIR_NAME);
-- if (!sysdir)
-- return -errno;
--
-- i = 0;
-- while ((dent = readdir(sysdir))) {
-- ret = process_device(&d, dent->d_name, subsystem_type, true, flags);
-- if (ret)
-- continue;
--
-- if (i >= MAX_DRM_NODES) {
-- fprintf(stderr, "More than %d drm nodes detected. "
-- "Please report a bug - that should not happen.\n"
-- "Skipping extra nodes\n", MAX_DRM_NODES);
-- break;
-- }
-- local_devices[i] = d;
-- i++;
-- }
-- node_count = i;
--
-- drmFoldDuplicatedDevices(local_devices, node_count);
--
-- *device = NULL;
--
-- for (i = 0; i < node_count; i++) {
-- if (!local_devices[i])
-- continue;
--
-- if (drm_device_has_rdev(local_devices[i], find_rdev))
-- *device = local_devices[i];
-- else
-- drmFreeDevice(&local_devices[i]);
-- }
--
-- closedir(sysdir);
-- if (*device == NULL)
-- return -ENODEV;
-- return 0;
--}
--
--/**
-- * Get information about the opened drm device
-- *
-- * \param fd file descriptor of the drm device
-- * \param device the address of a drmDevicePtr where the information
-- * will be allocated in stored
-- *
-- * \return zero on success, negative error code otherwise.
-- */
--int drmGetDevice(int fd, drmDevicePtr *device)
--{
-- return drmGetDevice2(fd, DRM_DEVICE_GET_PCI_REVISION, device);
--}
-
- static int32_t GetRendererFileDescriptor(char * drm_node)
- {
---- media_driver/linux/common/os/i915/include/xf86drm.h.orig 2022-04-22 04:04:55 UTC
-+++ media_driver/linux/common/os/i915/include/xf86drm.h
-@@ -713,6 +713,39 @@ extern char *drmGetRenderDeviceNameFromFd(int fd);
-
- #define DRM_BUS_PCI 0
-
-+typedef struct _drmPciBusInfo {
-+ uint16_t domain;
-+ uint8_t bus;
-+ uint8_t dev;
-+ uint8_t func;
-+} drmPciBusInfo, *drmPciBusInfoPtr;
-+
-+typedef struct _drmPciDeviceInfo {
-+ uint16_t vendor_id;
-+ uint16_t device_id;
-+ uint16_t subvendor_id;
-+ uint16_t subdevice_id;
-+ uint8_t revision_id;
-+} drmPciDeviceInfo, *drmPciDeviceInfoPtr;
-+
-+typedef struct _drmDevice {
-+ char **nodes; /* DRM_NODE_MAX sized array */
-+ int available_nodes; /* DRM_NODE_* bitmask */
-+ int bustype;
-+ union {
-+ drmPciBusInfoPtr pci;
-+ } businfo;
-+ union {
-+ drmPciDeviceInfoPtr pci;
-+ } deviceinfo;
-+} drmDevice, *drmDevicePtr;
-+
-+extern int drmGetDevice(int fd, drmDevicePtr *device);
-+extern void drmFreeDevice(drmDevicePtr *device);
-+
-+extern int drmGetDevices(drmDevicePtr devices[], int max_devices);
-+extern void drmFreeDevices(drmDevicePtr devices[], int count);
-+
- #if defined(__cplusplus)
- }
- #endif
---- media_driver/linux/common/os/media_srcs.cmake.orig 2022-04-22 04:04:55 UTC
-+++ media_driver/linux/common/os/media_srcs.cmake
-@@ -27,10 +27,6 @@ endif()
- media_include_subdirectory(i915_production)
- endif()
-
--# This is to include drm_device.h in cmrtlib, no cpp file needed.
--include_directories(${BS_DIR_MEDIA}/cmrtlib/linux/hardware)
--
--
- set(TMP_SOURCES_
- ${CMAKE_CURRENT_LIST_DIR}/hwinfo_linux.c
- ${CMAKE_CURRENT_LIST_DIR}/mos_context_specific.cpp
---- media_driver/linux/common/os/mos_interface.cpp.orig 2022-04-22 04:04:55 UTC
-+++ media_driver/linux/common/os/mos_interface.cpp
-@@ -34,7 +34,6 @@
- #include "mos_os_virtualengine_scalability_specific_next.h"
- #include "mos_graphicsresource_specific_next.h"
- #include "mos_bufmgr_priv.h"
--#include "drm_device.h"
-
- #if (_DEBUG || _RELEASE_INTERNAL)
- #include <stdlib.h> //for simulate random OS API failure
---- media_driver/media_top_cmake.cmake.orig 2022-05-08 00:14:20 UTC
-+++ media_driver/media_top_cmake.cmake
-@@ -198,7 +198,7 @@ if (NOT DEFINED INCLUDED_LIBS OR "${INCLUDED_LIBS}" ST
- endif()
-
- target_compile_options( ${LIB_NAME} PUBLIC ${LIBGMM_CFLAGS_OTHER})
-- target_link_libraries ( ${LIB_NAME} ${LIBGMM_LIBRARIES})
-+ target_link_libraries ( ${LIB_NAME} ${LIBGMM_LIBRARIES} drm)
-
- include(${MEDIA_EXT_CMAKE}/ext/media_feature_include_ext.cmake OPTIONAL)
-
diff --git a/multimedia/libva-intel-media-driver/files/patch-userptr b/multimedia/libva-intel-media-driver/files/patch-userptr
deleted file mode 100644
index 0be32504c772..000000000000
--- a/multimedia/libva-intel-media-driver/files/patch-userptr
+++ /dev/null
@@ -1,31 +0,0 @@
-Try unsynchronized userptr if regular one fails.
-https://github.com/FreeBSDDesktop/kms-drm/issues/197
-
---- media_driver/linux/common/os/i915/mos_bufmgr.c.orig 2019-12-10 08:54:00 UTC
-+++ media_driver/linux/common/os/i915/mos_bufmgr.c
-@@ -945,10 +945,15 @@ mos_gem_bo_alloc_userptr(struct mos_bufmgr *bufmgr,
- userptr.user_size = size;
- userptr.flags = 0;
-
-+retry:
- ret = drmIoctl(bufmgr_gem->fd,
- DRM_IOCTL_I915_GEM_USERPTR,
- &userptr);
- if (ret != 0) {
-+ if (errno == ENODEV && userptr.flags == 0) {
-+ userptr.flags = I915_USERPTR_UNSYNCHRONIZED;
-+ goto retry;
-+ }
- MOS_DBG("bo_create_userptr: "
- "ioctl failed with user ptr %p size 0x%lx, "
- "user flags 0x%lx\n", addr, size, flags);
-@@ -1021,6 +1026,9 @@ retry:
- if (errno == ENODEV && userptr.flags == 0) {
- userptr.flags = I915_USERPTR_UNSYNCHRONIZED;
- goto retry;
-+ }
-+ if (geteuid() != 0) {
-+ fprintf(stderr, "%s", "ioctl(I915_GEM_USERPTR) failed. Try running as root but expect poor stability.\n");
- }
- free(ptr);
- return false;