git: e590e1547696 - main - multimedia/cmrtlib: Update 20.1.1 => 26.3.5

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Thu, 08 Oct 2026 14:01:39 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e590e1547696a5c9b5c0bf1eeafa8eaf50d4ffd8

commit e590e1547696a5c9b5c0bf1eeafa8eaf50d4ffd8
Author:     takefu <takefu@airport.fm>
AuthorDate: 2026-10-08 13:59:49 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-10-08 13:59:49 +0000

    multimedia/cmrtlib: Update 20.1.1 => 26.3.5
    
    Changelogs:
    https://github.com/intel/media-driver/releases#release-intel-media-26.3.5
    
    - Fix warnings from portclippy.
    
    PR:             299138
    Sponsored by:   UNIS Labs (vvd, commit patch)
---
 multimedia/cmrtlib/Makefile                        |   4 +-
 multimedia/cmrtlib/distinfo                        |   6 +-
 multimedia/cmrtlib/files/patch-CMakeLists.txt      |  11 -
 .../cmrtlib/files/patch-linux_CMakeLists.txt       |  11 -
 .../files/patch-linux_hardware_drm__device.h       |  22 ++
 multimedia/cmrtlib/files/patch-memalign            |  68 -------
 multimedia/cmrtlib/files/patch-static-render-node  | 224 ---------------------
 multimedia/cmrtlib/pkg-plist                       |   1 +
 8 files changed, 28 insertions(+), 319 deletions(-)

diff --git a/multimedia/cmrtlib/Makefile b/multimedia/cmrtlib/Makefile
index b0f3e23cbbe6..4763afd5a363 100644
--- a/multimedia/cmrtlib/Makefile
+++ b/multimedia/cmrtlib/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	cmrtlib
 DISTVERSIONPREFIX=	intel-media-
-DISTVERSION=	20.1.1
+DISTVERSION=	26.3.5
 CATEGORIES=	multimedia
 
 MAINTAINER=	ports@FreeBSD.org
@@ -17,9 +17,9 @@ LIB_DEPENDS=	libva.so:multimedia/libva
 
 USES=		cmake compiler:c++17-lang pkgconfig
 USE_GITHUB=	yes
-USE_LDCONFIG=	yes
 GH_ACCOUNT=	intel
 GH_PROJECT=	media-driver
+USE_LDCONFIG=	yes
 WRKSRC_SUBDIR=	${PORTNAME}
 
 .include <bsd.port.mk>
diff --git a/multimedia/cmrtlib/distinfo b/multimedia/cmrtlib/distinfo
index 998e594cf295..53fb2f010f04 100644
--- a/multimedia/cmrtlib/distinfo
+++ b/multimedia/cmrtlib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1586359677
-SHA256 (intel-media-driver-intel-media-20.1.1_GH0.tar.gz) = dbca37ba8383cd4d1f3e15fa906f03457ebdb5a118d2459d8f9cd477e0f3d4d4
-SIZE (intel-media-driver-intel-media-20.1.1_GH0.tar.gz) = 21788401
+TIMESTAMP = 1791251251
+SHA256 (intel-media-driver-intel-media-26.3.5_GH0.tar.gz) = 76f41c06cefc91d57e0b7d366b7a91b8420ec77939326491795f9fb26afca7e7
+SIZE (intel-media-driver-intel-media-26.3.5_GH0.tar.gz) = 29841145
diff --git a/multimedia/cmrtlib/files/patch-CMakeLists.txt b/multimedia/cmrtlib/files/patch-CMakeLists.txt
deleted file mode 100644
index d7f084dae220..000000000000
--- a/multimedia/cmrtlib/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig	2020-04-08 15:27:57 UTC
-+++ CMakeLists.txt
-@@ -19,7 +19,7 @@ set(BUILD_ALL $ENV{BUILD_ALL})
- # OTHER DEALINGS IN THE SOFTWARE.
- 
- set(BUILD_ALL $ENV{BUILD_ALL})
--cmake_minimum_required(VERSION 2.8)
-+cmake_minimum_required(VERSION 3.5)
- project(CM_RT)
- add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/linux)
- 
diff --git a/multimedia/cmrtlib/files/patch-linux_CMakeLists.txt b/multimedia/cmrtlib/files/patch-linux_CMakeLists.txt
deleted file mode 100644
index 3e5b15e94ea7..000000000000
--- a/multimedia/cmrtlib/files/patch-linux_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux/CMakeLists.txt.orig	2020-04-08 15:27:57 UTC
-+++ linux/CMakeLists.txt
-@@ -18,7 +18,7 @@
- # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- # OTHER DEALINGS IN THE SOFTWARE.
- 
--cmake_minimum_required(VERSION 2.8)
-+cmake_minimum_required(VERSION 3.5)
- include (${CMAKE_CURRENT_LIST_DIR}/cmrt_utils.cmake)
- 
- 
diff --git a/multimedia/cmrtlib/files/patch-linux_hardware_drm__device.h b/multimedia/cmrtlib/files/patch-linux_hardware_drm__device.h
new file mode 100644
index 000000000000..eedc34f84828
--- /dev/null
+++ b/multimedia/cmrtlib/files/patch-linux_hardware_drm__device.h
@@ -0,0 +1,22 @@
+--- linux/hardware/drm_device.h.orig	2026-03-19 10:15:05 UTC
++++ linux/hardware/drm_device.h
+@@ -39,7 +39,7 @@
+ #include <limits.h>
+ #include <signal.h>
+ #include <time.h>
+-#include <sys/sysmacros.h>   //<sys/types.h>
++#include <sys/types.h>
+ #include <sys/stat.h>
+ #define stat_t struct stat
+ #include <sys/ioctl.h>
+@@ -110,6 +110,10 @@
+ #define DRM_NODE_CONTROL 1
+ #define DRM_NODE_RENDER  2
+ #define DRM_NODE_MAX     3
++
++#ifndef DRM_MAJOR
++#define DRM_MAJOR 226
++#endif
+ 
+ typedef unsigned int  drmSize, *drmSizePtr;         /**< For mapped regions */
+ typedef void          *drmAddress, **drmAddressPtr; /**< For mapped regions */
diff --git a/multimedia/cmrtlib/files/patch-memalign b/multimedia/cmrtlib/files/patch-memalign
deleted file mode 100644
index a5a1ccdda070..000000000000
--- a/multimedia/cmrtlib/files/patch-memalign
+++ /dev/null
@@ -1,68 +0,0 @@
-memalign is Linux-specific, so use C11 aligned_alloc instead
-
-In file included from cmrtlib/agnostic/share/cm_printf_host.cpp:25:
-In file included from cmrtlib/linux/../agnostic/share/cm_debug.h:26:
-In file included from cmrtlib/linux/../linux/share/cm_def_os.h:37:
-/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
-#error "<malloc.h> has been replaced by <stdlib.h>"
- ^
-In file included from cmrtlib/agnostic/share/cm_printf_host.cpp:25:
-In file included from cmrtlib/linux/../agnostic/share/cm_debug.h:26:
-cmrtlib/linux/../linux/share/cm_def_os.h:94:10: error: use of undeclared identifier 'memalign'
-  return memalign(alignment, size);
-         ^
-In file included from media_driver/agnostic/gen9_skl/codec/hal/codechal_fei_hevc_g9_skl.cpp:27:
-In file included from media_driver/agnostic/gen9_skl/codec/hal/codechal_fei_hevc_g9_skl.h:35:
-In file included from media_driver/agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_header_file.h:30:
-In file included from media_driver/agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_DownScaling.h:30:
-In file included from media_driver/agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernelBase.h:33:
-In file included from /usr/local/include/igfxcmrt/cm_rt.h:185:
-In file included from /usr/local/include/igfxcmrt/cm_rt_def_os.h:39:
-/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
-#error "<malloc.h> has been replaced by <stdlib.h>"
- ^
-/usr/local/include/igfxcmrt/cm_rt_def_os.h:153:10: error: use of undeclared identifier 'memalign'
-  return memalign(alignment, size);
-         ^
-
---- linux/share/cm_def_os.h.orig	2019-08-29 07:26:40 UTC
-+++ linux/share/cm_def_os.h
-@@ -32,9 +32,9 @@
- #define Display unsigned int
- #endif
- 
-+#include <cstdlib>
- #include <cstring>
- #include "pthread.h"
--#include <malloc.h>
- 
- 
- ////////////////////////////////////////////////////////////////////////////////////
-@@ -91,7 +91,7 @@ typedef enum _VACMTEXTUREFILTERTYPE {
- 
- inline void * CM_ALIGNED_MALLOC(size_t size, size_t alignment)
- {
--  return memalign(alignment, size);
-+  return aligned_alloc(alignment, size);
- }
- 
- inline void CM_ALIGNED_FREE(void * memory)
---- linux/share/cm_rt_def_os.h.orig	2018-12-20 08:52:32 UTC
-+++ linux/share/cm_rt_def_os.h
-@@ -36,7 +36,6 @@
- #include <stdlib.h>
- #include <stdint.h>
- #include <math.h>
--#include <malloc.h>
- #include <string.h>
- #include <sys/time.h>
- #include <pthread.h>
-@@ -150,7 +149,7 @@ template<> inline const char * CM_TYPE_NAME_UNMANGLED<
- 
- inline void * CM_ALIGNED_MALLOC(size_t size, size_t alignment) 
- {
--  return memalign(alignment, size);
-+  return aligned_alloc(alignment, size);
- } 
- 
- inline void CM_ALIGNED_FREE(void * memory) 
diff --git a/multimedia/cmrtlib/files/patch-static-render-node b/multimedia/cmrtlib/files/patch-static-render-node
deleted file mode 100644
index da70f7944448..000000000000
--- a/multimedia/cmrtlib/files/patch-static-render-node
+++ /dev/null
@@ -1,224 +0,0 @@
-Revert https://github.com/intel/media-driver/commit/6cafa0bf2aa1 due
-to incomplete BSD support in bundled libdrm.
-
---- linux/hardware/cm_device.h.orig	2020-02-28 07:13:28 UTC
-+++ linux/hardware/cm_device.h
-@@ -33,7 +33,6 @@ class CmSurfaceManager;
- class CmDevice_RT : public CmDevice
- {
- public:
--    static int32_t GetSupportedRenderer(uint32_t &count);
-     static int32_t Create( CmDevice_RT* &device, uint32_t createOption );
-     static int32_t Destroy( CmDevice_RT* &device );
-     static int32_t Create(VADisplay &vaDisplay, CmDevice_RT* &device,uint32_t createOption );
-@@ -176,7 +175,7 @@ class CmDevice_RT : public CmDevice (protected)
-     void    *m_deviceInUmd;    //CmDevice pointer in UMD
-     bool    m_cmCreated;
- 
--    int32_t Initialize(bool isCmCreated, uint32_t Index = 0);
-+    int32_t Initialize(bool isCmCreated);
-     int32_t FreeResources();
- #if USE_EXTENSION_CODE
-     int32_t EnableGtpin( void );
-@@ -190,9 +189,8 @@ class CmDevice_RT : public CmDevice (protected)
-     int32_t GetLibvaDisplayDrm(VADisplay & vaDisplay);
- #endif
- 
--    int32_t InitializeLibvaDisplay(uint32_t Index = 0);
-+    int32_t InitializeLibvaDisplay(void);
-     VADisplay m_vaDisplay;
--    uint32_t m_drmIndex;
-     pvaCmExtSendReqMsg    m_fvaCmExtSendReqMsg;
- 
- #if !defined(ANDROID)
---- linux/hardware/cm_device_os.cpp.orig	2020-02-28 07:13:28 UTC
-+++ linux/hardware/cm_device_os.cpp
-@@ -21,7 +21,6 @@
- */
- 
- #include "cm_device.h"
--#include "drm_device.h"
- #include <dlfcn.h>
- #include <cstdio>
- 
-@@ -39,13 +38,6 @@
- #include <unistd.h>
- #include <fcntl.h>
- 
--#define INTEL_VENDOR_ID 0x8086
--
--// hold up to 32 GPU adapters
--drmDevicePtr g_AdapterList[32];
--int32_t g_AdapterCount = 0;
--int32_t g_supportedAdapterCount = 0;
--
- #ifndef ANDROID
- uint32_t CmDevice_RT::m_vaReferenceCount = 0;
- CSync CmDevice_RT::m_vaReferenceCountCriticalSection;
-@@ -58,90 +50,27 @@ volatile static char cmrtCurrentVersion[] = "cmrt_curr
- "6.0.0.9010\0";
- CSync gDeviceCreationCriticalSection;
- 
--
--int32_t CmDevice_RT::GetSupportedRenderer(uint32_t& count)
--{
--    INSERT_PROFILER_RECORD();
--    int32_t result = CM_SUCCESS;
--    uint32_t i = 0;
--    uint32_t k = 0;
--    char* driver_name;
--
--    if (g_AdapterCount == 0)
--    {
--        int max_dev = 256;
--        drmDevicePtr devices[max_dev];
--        int nodes = drmGetDevices(devices, max_dev);
--        int i = 0;
--        for (int k = 0; k < nodes; k++)
--        {
--            driver_name = strrchr(devices[k]->nodes[0], '/');
--            driver_name++;
--            int len = strlen(devices[k]->deviceinfo.pci->driverInfo);
--            if (len > 0)
--                devices[k]->deviceinfo.pci->driverInfo[len - 1] = ' ';
--
--            snprintf(devices[k]->deviceinfo.pci->driverInfo + len, (sizeof devices[k]->deviceinfo.pci->driverInfo) - len, "  %s", driver_name);
--            driver_name = strrchr(devices[k]->nodes[2], '/');
--            driver_name++;
--            len = strlen(devices[k]->deviceinfo.pci->driverInfo);
--            snprintf(devices[k]->deviceinfo.pci->driverInfo + len, (sizeof devices[k]->deviceinfo.pci->driverInfo) - len, "  %s", driver_name);
--            if (devices[k]->deviceinfo.pci->vendor_id == INTEL_VENDOR_ID)
--            {
--                g_AdapterList[i] = devices[k];
--                i++;
--            }
--        }
--        if (nodes == 0)
--            result = CM_NO_SUPPORTED_ADAPTER;
--
--        g_AdapterCount = k;
--        g_supportedAdapterCount = i;
--    }
--    count = g_supportedAdapterCount;
--    return result;
--}
--
--
- int32_t CmDevice_RT::Create(CmDevice_RT* &device, uint32_t createOption)
- {
-     INSERT_PROFILER_RECORD();
- 
-     int32_t result = CM_SUCCESS;
--    uint32_t count = 0;
- 
--    if (g_AdapterCount == 0 )
-+    device = new CmDevice_RT(nullptr, createOption);
-+    if( device )
-     {
--        result = GetSupportedRenderer(count);
--    }
--
--    if (g_supportedAdapterCount > 0)
--    {
--        // start from first supported GPU
--        uint32_t Index = 0;
--        device = new CmDevice_RT(nullptr, createOption);
--
--        if (CM_DEVICE_CREATE_OPTION_DEFAULT != createOption)
--            // select last supported GPU
--            Index = g_supportedAdapterCount - 1;
--
--        if (device)
-+        result = device->Initialize(true);
-+        if(result != CM_SUCCESS)
-         {
--            result = device->Initialize(true, Index);
--            if (result != CM_SUCCESS)
--            {
--                CmAssert(0);
--                Destroy(device);
--            }
--        }
--        else
--        {
-             CmAssert(0);
--            result = CM_OUT_OF_HOST_MEMORY;
-+            Destroy(device);
-         }
-     }
-     else
--        result = CM_NO_SUPPORTED_ADAPTER;
-+    {
-+        CmAssert(0);
-+        result = CM_OUT_OF_HOST_MEMORY;
-+    }
- 
-     return result;
- }
-@@ -209,7 +138,6 @@ CmDevice_RT::CmDevice_RT(
- #ifdef ANDROID
-     m_display(nullptr),
- #endif
--    m_drmIndex(0),
-     m_fvaCmExtSendReqMsg(nullptr),
-     m_gtpinEnabled(false),
-     m_gtpinBufferUP0(nullptr),
-@@ -295,7 +223,7 @@ static int32_t CmrtVaSurfaceRelease(void *vaDisplay, v
-     return vaStatus;
- }
- 
--int32_t CmDevice_RT::Initialize(bool isCmCreated, uint32_t Index)
-+int32_t CmDevice_RT::Initialize(bool isCmCreated)
- {
-     int32_t result = CM_SUCCESS;
- 
-@@ -303,7 +231,7 @@ int32_t CmDevice_RT::Initialize(bool isCmCreated, uint
- 
-     CLock locker(gDeviceCreationCriticalSection);
- 
--    CHK_RET(InitializeLibvaDisplay(Index));
-+    CHK_RET(InitializeLibvaDisplay());
- 
-     CHK_RET(CreateDeviceInUmd());
- 
-@@ -427,14 +355,13 @@ int32_t CmDevice_RT::OSALExtensionExecute(uint32_t fun
-     return hr;
- }
- 
--//Initalize LibVA's VADisplay by supported dri device list index
--int32_t CmDevice_RT::InitializeLibvaDisplay(uint32_t Index)
-+//Initalize LibVA's VADisplay
-+int32_t CmDevice_RT::InitializeLibvaDisplay()
- {
-     if (m_cmCreated)
-     {
-         VAStatus vaStatus = VA_STATUS_SUCCESS;
-         int vaMajorVersion, vaMinorVersion;
--        m_drmIndex = Index;
- 
- #ifndef ANDROID
-         int32_t ret = GetLibvaDisplayDrm(m_vaDisplay);
-@@ -528,22 +455,7 @@ int32_t CmDevice_RT::GetLibvaDisplayDrm(VADisplay & va
-     }
- 
-     // open the GPU device
--    if (g_supportedAdapterCount < 1)
--    {
--        fprintf(stderr, "No supported Intel GPU device file node detected\n");
--        return CM_INVALID_LIBVA_INITIALIZE;
--    }
--
--    if (m_drmIndex < g_supportedAdapterCount)
--    {
--        m_driFileDescriptor = GetRendererFileDescriptor(g_AdapterList[m_drmIndex]->nodes[2]);
--    }
--    else
--    {
--        fprintf(stderr, "Invalid drm list index used\n");
--        return CM_INVALID_LIBVA_INITIALIZE;
--    }
--
-+    m_driFileDescriptor = open("/dev/dri/renderD128", O_RDWR);
-     if (m_driFileDescriptor < 0)
-     {
-         fprintf(stderr, "Failed to open GPU device file node\n");
diff --git a/multimedia/cmrtlib/pkg-plist b/multimedia/cmrtlib/pkg-plist
index b5773f79480c..5027cde63de1 100644
--- a/multimedia/cmrtlib/pkg-plist
+++ b/multimedia/cmrtlib/pkg-plist
@@ -5,6 +5,7 @@ include/igfxcmrt/cm_rt_def_os.h
 include/igfxcmrt/cm_rt_extension.h
 include/igfxcmrt/cm_rt_g10.h
 include/igfxcmrt/cm_rt_g11.h
+include/igfxcmrt/cm_rt_g12_dg1.h
 include/igfxcmrt/cm_rt_g12_tgl.h
 include/igfxcmrt/cm_rt_g8.h
 include/igfxcmrt/cm_rt_g9.h