Index: head/multimedia/cmrtlib/Makefile =================================================================== --- head/multimedia/cmrtlib/Makefile (revision 528524) +++ head/multimedia/cmrtlib/Makefile (revision 528525) @@ -1,27 +1,26 @@ # $FreeBSD$ PORTNAME= cmrtlib DISTVERSIONPREFIX= intel-media- -DISTVERSION= 19.4.0 -PORTREVISION= 1 +DISTVERSION= 20.1.pre4 CATEGORIES= multimedia MAINTAINER= jbeich@FreeBSD.org COMMENT= C for Metal Runtime LICENSE= MIT LICENSE_FILE= ${WRKSRC:H}/LICENSE.md ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported LIB_DEPENDS= libva.so:multimedia/libva -USES= cmake compiler:c++11-lib pkgconfig +USES= cmake compiler:c++17-lang pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel GH_PROJECT= media-driver WRKSRC_SUBDIR= ${PORTNAME} .include Index: head/multimedia/cmrtlib/distinfo =================================================================== --- head/multimedia/cmrtlib/distinfo (revision 528524) +++ head/multimedia/cmrtlib/distinfo (revision 528525) @@ -1,3 +1,3 @@ -TIMESTAMP = 1575968040 -SHA256 (intel-media-driver-intel-media-19.4.0_GH0.tar.gz) = 977b43242ccbd397a31b92f11ac9e2bae319b3099dd01c4e9f507883c62084a5 -SIZE (intel-media-driver-intel-media-19.4.0_GH0.tar.gz) = 20822884 +TIMESTAMP = 1582874008 +SHA256 (intel-media-driver-intel-media-20.1.pre4_GH0.tar.gz) = 66936da3798c53b000c306c785f4fec42711c602cae3bb214a6a694780e73a44 +SIZE (intel-media-driver-intel-media-20.1.pre4_GH0.tar.gz) = 21753515 Index: head/multimedia/cmrtlib/files/patch-static-render-node =================================================================== --- head/multimedia/cmrtlib/files/patch-static-render-node (nonexistent) +++ head/multimedia/cmrtlib/files/patch-static-render-node (revision 528525) @@ -0,0 +1,224 @@ +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 + #include + +@@ -39,13 +38,6 @@ + #include + #include + +-#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"); Property changes on: head/multimedia/cmrtlib/files/patch-static-render-node ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/multimedia/libva-intel-media-driver/Makefile =================================================================== --- head/multimedia/libva-intel-media-driver/Makefile (revision 528524) +++ head/multimedia/libva-intel-media-driver/Makefile (revision 528525) @@ -1,61 +1,59 @@ # $FreeBSD$ PORTNAME= media-driver DISTVERSIONPREFIX= intel-media- -DISTVERSION= 19.4.0 -PORTREVISION= 4 +DISTVERSION= 20.1.pre4 CATEGORIES= multimedia PKGNAMEPREFIX= libva-intel- PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= c203c89a9695.patch:-p1 12b7fcded6c7.patch:-p1 -PATCHFILES+= 12a0cac7047b.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= 83338cf44f05.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= 2e1b34f259d6.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= c15003c2c732.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= b83b1334f869.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= 5dffdeded8bc.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= 04890b2f9a59.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= b585f7586dde.patch:-p1 # https://github.com/intel/media-driver/pull/819 -PATCHFILES+= 38d37bff5a68.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= f337957afed6.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= 1c790ebf5006.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= 63d607335723.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= ad51a4ed50d1.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= ffc5e189592b.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= 783fb8d1c8a9.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= a5e441477420.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= 199db8d44462.patch:-p1 # https://github.com/intel/media-driver/pull/819 +PATCHFILES+= 718ae1db9724.patch:-p1 # https://github.com/intel/media-driver/pull/819 MAINTAINER= jbeich@FreeBSD.org COMMENT= VAAPI driver for Intel HD 5000 (Gen8) or newer LICENSE= MIT BSD3CLAUSE LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/LICENSE.md ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported BUILD_DEPENDS= gmmlib>=19.3.1:multimedia/gmmlib \ - libva>=2.6.0:multimedia/libva + libva>=2.6.1_1:multimedia/libva LIB_DEPENDS= libpciaccess.so:devel/libpciaccess \ libigdgmm.so:multimedia/gmmlib \ libva.so:multimedia/libva USES= cmake compiler:c++11-lib localbase pkgconfig USE_GITHUB= yes GH_ACCOUNT= intel ARCH_SUFX= ${ARCH:S/i386/32/:S/amd//:S/x86_//} CMAKE_OFF= MEDIA_BUILD_FATAL_WARNINGS BUILD_CMRTLIB CMAKE_ARGS= -DBUILD_TYPE:STRING="${CMAKE_BUILD_TYPE}" \ -DARCH:STRING="${ARCH_SUFX}" \ -DUFO_MARCH:STRING="${CPUTYPE}" PLIST_FILES= lib/dri/iHD_drv_video.so OPTIONS_DEFINE= TEST X11 OPTIONS_DEFAULT=X11 # XXX Unbundle googletest TEST_CMAKE_BOOL= MEDIA_RUN_TEST_SUITE TEST_TEST_TARGET= RunULT X11_LIB_DEPENDS= libva-x11.so:multimedia/libva post-patch-X11-off: @${REINPLACE_CMD} -i .nox11 '/find_package.*X11/d' \ ${WRKSRC}/media_driver/media_top_cmake.cmake .include Index: head/multimedia/libva-intel-media-driver/distinfo =================================================================== --- head/multimedia/libva-intel-media-driver/distinfo (revision 528524) +++ head/multimedia/libva-intel-media-driver/distinfo (revision 528525) @@ -1,25 +1,21 @@ -TIMESTAMP = 1575968040 -SHA256 (intel-media-driver-intel-media-19.4.0_GH0.tar.gz) = 977b43242ccbd397a31b92f11ac9e2bae319b3099dd01c4e9f507883c62084a5 -SIZE (intel-media-driver-intel-media-19.4.0_GH0.tar.gz) = 20822884 -SHA256 (c203c89a9695.patch) = 0be9104038c8df424089cded81c2a85b79a86bffd1f5b6bcc943399bcff455d9 -SIZE (c203c89a9695.patch) = 2694 -SHA256 (12b7fcded6c7.patch) = 023df49303f35c840b21b1548eca8a582939629ebca7593f8d1ceabb3d4f5799 -SIZE (12b7fcded6c7.patch) = 717 -SHA256 (12a0cac7047b.patch) = 9dba924fb23247775cf6626b29bc27bf09eb29336c47b83434a06d7ebf61bec2 -SIZE (12a0cac7047b.patch) = 1241 -SHA256 (83338cf44f05.patch) = baf280af2971ad4b0c58b8fefd76139bd733ba73f1373a1c4264b25eedb296c1 -SIZE (83338cf44f05.patch) = 1193 -SHA256 (2e1b34f259d6.patch) = 96d6396c27736b467a8dcbaa2448ac4fe042f030a85da6083c496ef56e0d88be -SIZE (2e1b34f259d6.patch) = 2195 -SHA256 (c15003c2c732.patch) = b1e3853062d63f6bbf7d4757cdb6165ab5313198ca0077bf053f1e7c62bebc64 -SIZE (c15003c2c732.patch) = 1985 -SHA256 (b83b1334f869.patch) = 3040bdde1d36da5c065d65f9cc7d1ea13ec17c9eae308189c56280e83a34a478 -SIZE (b83b1334f869.patch) = 2153 -SHA256 (5dffdeded8bc.patch) = 985d6cbf0f76748a1d1dc19beb684d0a29c3891cbd538c4df836b1b765f4fa61 -SIZE (5dffdeded8bc.patch) = 6021 -SHA256 (04890b2f9a59.patch) = 5ca6337494b07101621a9ce3f219415ef3fb9bfd34e7523e452150609cd6123d -SIZE (04890b2f9a59.patch) = 2386 -SHA256 (b585f7586dde.patch) = 4d59db5a1075209647cf78fdf74dbaf1b73e0facd90ea1defe211ce7555b57f0 -SIZE (b585f7586dde.patch) = 3335 -SHA256 (38d37bff5a68.patch) = 5d070bdb0504180deb5f0231cddf3acee58a8d6bb8d3081f31e733223ca205ed -SIZE (38d37bff5a68.patch) = 800 +TIMESTAMP = 1582874008 +SHA256 (intel-media-driver-intel-media-20.1.pre4_GH0.tar.gz) = 66936da3798c53b000c306c785f4fec42711c602cae3bb214a6a694780e73a44 +SIZE (intel-media-driver-intel-media-20.1.pre4_GH0.tar.gz) = 21753515 +SHA256 (f337957afed6.patch) = 4783f4db56e8af9ea0c74aa71f4c9bfb22db827d0b5aec72265cc62252d96dae +SIZE (f337957afed6.patch) = 1241 +SHA256 (1c790ebf5006.patch) = acc30d459e475cec0368da753f7dda53010730a514fcbab8ec5151883ae217ca +SIZE (1c790ebf5006.patch) = 1213 +SHA256 (63d607335723.patch) = ead46fb55650aa324008c99077e76f53a79a6bf43eb8d4a87ce7f8f02dd02021 +SIZE (63d607335723.patch) = 2195 +SHA256 (ad51a4ed50d1.patch) = 45a08461ba1ffed9b44076f989162ad7f6300a3516b03e9415f067968a6a5af2 +SIZE (ad51a4ed50d1.patch) = 1985 +SHA256 (ffc5e189592b.patch) = f5cff21a77463cd9f0a854bc7af34bbc2d45331f1f5a267eb51502d25a3582a9 +SIZE (ffc5e189592b.patch) = 3411 +SHA256 (783fb8d1c8a9.patch) = 0fbbc5b700f480ab37e29bd3dc3311b9e244b106da5d3ecf8858f6f3fe919271 +SIZE (783fb8d1c8a9.patch) = 6477 +SHA256 (a5e441477420.patch) = 22b6649559e794afa2b53fa11c30acd40e352e2a837b1bbd67209fbd3f572b93 +SIZE (a5e441477420.patch) = 2402 +SHA256 (199db8d44462.patch) = 97d01203458c072622a717126b213bdaf3ba05908d36539100c2a7bcd44fb1bb +SIZE (199db8d44462.patch) = 3335 +SHA256 (718ae1db9724.patch) = 0dc546ddbcfc6d7f6a640b3196c3b0a14495beec4b31e7bd63fde54d77263ba5 +SIZE (718ae1db9724.patch) = 800