Index: head/multimedia/gmmlib/Makefile =================================================================== --- head/multimedia/gmmlib/Makefile (revision 514630) +++ head/multimedia/gmmlib/Makefile (revision 514631) @@ -1,47 +1,47 @@ # $FreeBSD$ PORTNAME= gmmlib DISTVERSIONPREFIX= intel-${PORTNAME}- -DISTVERSION= 19.3.2 +DISTVERSION= 19.3.3 CATEGORIES= multimedia MAINTAINER= jbeich@FreeBSD.org COMMENT= Intel Graphics Memory Management Library LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported USES= cmake compiler:c++11-lib USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel CMAKE_ARGS= -DBUILD_TYPE:STRING="${CMAKE_BUILD_TYPE}" \ -DGMMLIB_MARCH:STRING="${CPUTYPE}" OPTIONS_DEFINE= DEBUG TEST DEBUG_CFLAGS= -D_DEBUG # XXX Unbundle googletest TEST_CMAKE_BOOL= RUN_TEST_SUITE TEST_TEST_TARGET= Run_ULT post-patch: # Silence -Wmacro-redefined @${REINPLACE_CMD} -e '/__fastcall/d' \ ${WRKSRC}/Source/inc/portable_compiler.h # XXX Uncomment and drop patches if upstream doesn't regain sanity .if !exists(${.CURDIR}/files/patch-gcc-atomics) && !exists(${.CURDIR}/files/patch-unix) # Avoid platform whitelists for generic non-Windows code @${GREP} --exclude='*/os.h*' --exclude='*/googletest/*' -Flr '__linux' ${WRKSRC} | ${XARGS} \ ${REINPLACE_CMD} -i .opsys -E 's/__linux(__)?/__unix__/' .endif post-install: # Clean up after PATTERN-based install @${FIND} ${STAGEDIR}${PREFIX}/include -type d -empty -delete .include Index: head/multimedia/gmmlib/distinfo =================================================================== --- head/multimedia/gmmlib/distinfo (revision 514630) +++ head/multimedia/gmmlib/distinfo (revision 514631) @@ -1,3 +1,3 @@ -TIMESTAMP = 1568629827 -SHA256 (intel-gmmlib-intel-gmmlib-19.3.2_GH0.tar.gz) = 719b6db3052355830b50fb264fe9e2ff889e537375e876d1c5b8410c8561a718 -SIZE (intel-gmmlib-intel-gmmlib-19.3.2_GH0.tar.gz) = 706648 +TIMESTAMP = 1571148130 +SHA256 (intel-gmmlib-intel-gmmlib-19.3.3_GH0.tar.gz) = aceb11fd61a895e30fc67c8a6230ffe8b44b2336fc2a81f5408b1b1a535763f5 +SIZE (intel-gmmlib-intel-gmmlib-19.3.3_GH0.tar.gz) = 706656 Index: head/multimedia/gmmlib/files/patch-unix =================================================================== --- head/multimedia/gmmlib/files/patch-unix (revision 514630) +++ head/multimedia/gmmlib/files/patch-unix (revision 514631) @@ -1,308 +1,308 @@ Relax recent Linux checks for the code works on any non-Windows platform. https://github.com/intel/gmmlib/commit/a09c68fd3244 - example offender In file included from Source/GmmLib/CachePolicy/GmmCachePolicy.cpp:23: In file included from Source/GmmLib/inc/Internal/Common/GmmLibInc.h:58: In file included from Source/GmmLib/inc/External/Common/GmmResourceInfo.h:91: In file included from Source/GmmLib/inc/External/Common/../Linux/GmmResourceInfoLin.h:26: In file included from Source/GmmLib/inc/External/Common/../Linux/../Common/GmmResourceInfoCommon.h:32: Source/GmmLib/inc/External/Common/GmmClientContext.h:59:5: error: unknown type name 'GMM_DEVICE_CALLBACKS_INT' GMM_DEVICE_CALLBACKS_INT *pDeviceCb; ^ Source/GmmLib/inc/External/Common/GmmClientContext.h:85:9: error: unknown type name 'GMM_DEVICE_CALLBACKS_INT' GMM_DEVICE_CALLBACKS_INT DeviceCB; //OS-specific defn: Will be used by Clients to send as input arguments. ^ Source/GmmLib/inc/External/Common/GmmClientContext.h:139:80: error: unknown type name 'GMM_DEVICE_CALLBACKS_INT' GMM_VIRTUAL GMM_PAGETABLE_MGR* GMM_STDCALL CreatePageTblMgrObject(GMM_DEVICE_CALLBACKS_INT* pDevCb, uint32_t TTFlags); ^ Source/GmmLib/inc/External/Common/GmmClientContext.h:154:57: error: unknown type name 'GMM_DEVICE_CALLBACKS_INT' GMM_DEVICE_CALLBACKS_INT* pDevCb, ^ In file included from Source/GmmLib/CachePolicy/GmmCachePolicy.cpp:23: In file included from Source/GmmLib/inc/Internal/Common/GmmLibInc.h:62: Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:56:5: error: unknown type name 'GMM_UMD_SYNCCONTEXT'; did you mean 'GMM_UMD_CONTEXT'? GMM_UMD_SYNCCONTEXT * UmdContext; // [in] pointer to thread-specific data, specifying BBQHandle/Fence etc ^~~~~~~~~~~~~~~~~~~ GMM_UMD_CONTEXT Source/GmmLib/inc/External/Common/GmmInfo.h:58:3: note: 'GMM_UMD_CONTEXT' declared here } GMM_UMD_CONTEXT; ^ In file included from Source/GmmLib/CachePolicy/GmmCachePolicy.cpp:23: In file included from Source/GmmLib/inc/Internal/Common/GmmLibInc.h:62: Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:72:9: error: unknown type name 'HANDLE' HANDLE BBQueueHandle; ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:75:21: error: unknown type name 'HANDLE' SyncInfoLin(HANDLE Handle, uint64_t Fence) {} ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:115:9: error: unknown type name 'GMM_DEVICE_CALLBACKS' GMM_DEVICE_CALLBACKS DeviceCb; //OS-specific defn: Will be used by Clients to send as input arguments for TR-TT APIs ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:116:9: error: unknown type name 'GMM_DEVICE_CALLBACKS_INT' GMM_DEVICE_CALLBACKS_INT DeviceCbInt; //OS-specific defn: Will be used internally GMM lib ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:117:9: error: unknown type name 'GMM_TRANSLATIONTABLE_CALLBACKS' GMM_TRANSLATIONTABLE_CALLBACKS TTCb; //OS-specific defn ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:118:9: error: unknown type name 'HANDLE' HANDLE hCsr; // OCL per-device command stream receiver handle for aubcapture ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:121:25: error: unknown type name 'GMM_DEVICE_CALLBACKS_INT' GmmPageTableMgr(GMM_DEVICE_CALLBACKS_INT *, uint32_t TTFlags, GmmClientContext *pClientContextIn); // Allocates memory for indicate TT’s root-tables, initializes common node-pool ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:128:60: error: unknown type name 'HANDLE' GMM_VIRTUAL GMM_STATUS InitContextAuxTableRegister(HANDLE initialBBHandle, GMM_ENGINE_TYPE engType); //Clients call it to update Aux-Table pointer in context-image, engType reqd. if @ context level ^ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h:133:46: error: unknown type name 'GMM_UMD_SYNCCONTEXT'; did you mean 'GMM_UMD_CONTEXT'? GMM_VIRTUAL void __ReleaseUnusedPool(GMM_UMD_SYNCCONTEXT *UmdContext); ^~~~~~~~~~~~~~~~~~~ GMM_UMD_CONTEXT Source/GmmLib/inc/External/Common/GmmInfo.h:58:3: note: 'GMM_UMD_CONTEXT' declared here } GMM_UMD_CONTEXT; ^ --- Source/GmmLib/CachePolicy/GmmGen8CachePolicy.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/CachePolicy/GmmGen8CachePolicy.h @@ -143,7 +143,7 @@ DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SURFACE_REF_EN DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SURFACE_HME_DOWNSAMPLED_ENCODE , 1 , 1 , 1 , 0 , 1); DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SURFACE_HME_DOWNSAMPLED_ENCODE_DST , 1 , 1 , 0 , 0 , 1); DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SURFACE_ME_DISTORTION_ENCODE , 1 , 1 , 1 , 0 , 1); -#if defined(__linux__) && !defined(ANDROID) +#if !defined(_WIN32) && !defined(ANDROID) DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SURFACE_MV_DATA_ENCODE , 1 , 1 , 0 , 0 , 1); DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SURFACE_BRC_ME_DISTORTION_ENCODE , 1 , 1 , 0 , 0 , 1); DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_PAK_OBJECT_ENCODE , 1 , 1 , 0 , 0 , 1); --- Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp @@ -22,7 +22,7 @@ OTHER DEALINGS IN THE SOFTWARE. #include "Internal/Common/GmmLibInc.h" -#if defined(__linux__) && !LHDM +#if !defined(_WIN32) && !LHDM #include "Internal/Linux/GmmResourceInfoLinInt.h" ///////////////////////////////////////////////////////////////////////////////////// @@ -176,4 +176,4 @@ GMM_TRANSLATIONTABLE_CALLBACKS DummyTTCB = { .pfWriteL3Adr = DummyWriteL3Adr, }; -#endif /*__linux__*/ +#endif /*!_WIN32*/ --- Source/GmmLib/Texture/GmmTextureAlloc.cpp.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/Texture/GmmTextureAlloc.cpp @@ -762,7 +762,7 @@ GMM_STATUS GmmLib::GmmTextureCalc::FillTexPitchAndSize } else { -#if defined(__GMM_KMD__) || defined(__linux__) +#if defined(__GMM_KMD__) || !defined(_WIN32) GMM_ASSERTDPF(0, "Surface too large!"); #endif Status = GMM_ERROR; --- Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp @@ -28,7 +28,7 @@ Description: UMD-TT manager (manages both TR-TT and AU #include "../TranslationTable/GmmUmdTranslationTable.h" #include "External/Common/GmmClientContext.h" -#if defined(__linux__) +#if !defined(_WIN32) #include "Internal/Linux/GmmResourceInfoLinInt.h" #endif @@ -44,7 +44,7 @@ Description: UMD-TT manager (manages both TR-TT and AU LeaveCriticalSection(&PoolLock); \ } -#if defined(__linux__) +#if !defined(_WIN32) GMM_STATUS GmmLib::__GmmDeviceAlloc(GmmClientContext * pClientContext, GMM_DEVICE_CALLBACKS_INT *pDeviceCbInt, GMM_DEVICE_ALLOC * pAlloc) @@ -606,7 +606,7 @@ GMM_STATUS GmmLib::GmmPageTableMgr::UpdateAuxTable(con return GMM_SUCCESS; } -#if defined(__linux__) && !_WIN32 +#if !defined(_WIN32) ///////////////////////////////////////////////////////////////////////////////////// /// Gets size of PageTable buffer object (BOs) list /// --- Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp @@ -31,7 +31,7 @@ Description: Contains functions of internal classes #if !defined(__GMM_KMD) -#if defined(__linux__) +#if !defined(_WIN32) #include "Internal/Linux/GmmResourceInfoLinInt.h" #define _aligned_free(ptr) free(ptr) --- Source/GmmLib/TranslationTable/GmmUmdTranslationTable.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/TranslationTable/GmmUmdTranslationTable.h @@ -27,7 +27,7 @@ Description: This file contains the class definitions #pragma once #include "External/Common/GmmPageTableMgr.h" -#ifdef __linux__ +#ifndef _WIN32 #include #include @@ -433,7 +433,7 @@ namespace GmmLib public: #ifdef _WIN32 CRITICAL_SECTION TTLock; //synchronized access of PageTable obj -#elif defined __linux__ +#else pthread_mutex_t TTLock; #endif ---- Source/GmmLib/ULT/GmmAuxTableULT.cpp.orig 2019-09-16 10:30:27 UTC +--- Source/GmmLib/ULT/GmmAuxTableULT.cpp.orig 2019-10-15 14:02:10 UTC +++ Source/GmmLib/ULT/GmmAuxTableULT.cpp @@ -20,7 +20,7 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAR OTHER DEALINGS IN THE SOFTWARE. ============================================================================*/ --#ifdef __linux__ -+#ifndef _WIN32 +-#if defined (__linux__) && !defined(__i386__) ++#if !defined (_WIN32) && !defined(__i386__) #include "GmmAuxTableULT.h" @@ -262,4 +262,4 @@ TEST_F(CTestAuxTable, TestAuxTableContent) pGmmULTClientContext->DestroyPageTblMgrObject(mgr); } -#endif /* __linux__ */ +#endif /* !_WIN32 */ ---- Source/GmmLib/ULT/GmmAuxTableULT.h.orig 2019-09-16 10:30:27 UTC +--- Source/GmmLib/ULT/GmmAuxTableULT.h.orig 2019-10-17 00:14:58 UTC +++ Source/GmmLib/ULT/GmmAuxTableULT.h @@ -22,7 +22,7 @@ OTHER DEALINGS IN THE SOFTWARE. #pragma once --#ifdef __linux__ -+#ifndef _WIN32 +-#if defined (__linux__) && !defined(__i386__) ++#if !defined (_WIN32) && !defined(__i386__) #ifndef _ISOC11_SOURCE #define _ISOC11_SOURCE 1 @@ -249,4 +249,4 @@ class CTestAuxTable : public CTestGen10Resource (publi }; }; -#endif /* __linux__ */ +#endif /* !_WIN32 */ --- Source/GmmLib/Utility/GmmLog/GmmLog.cpp.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/Utility/GmmLog/GmmLog.cpp @@ -183,12 +183,9 @@ bool GmmLib::Logger::GmmLogInit() #elif defined(__ANDROID__) // Log to logcat SpdLogger = spdlog::android_logger(GMM_LOGGER_NAME, GMM_LOG_TAG); -#elif defined(__linux__) +#else // Log to syslog SpdLogger = spdlog::syslog_logger(GMM_LOGGER_NAME, GMM_LOG_TAG, 1 /*Log Pid*/); -#else - __GMM_ASSERT(0); - return false; #endif } } --- Source/GmmLib/Utility/GmmLog/spdlog/tweakme.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/Utility/GmmLog/spdlog/tweakme.h @@ -97,7 +97,7 @@ /////////////////////////////////////////////////////////////////////////////// // Uncomment to enable syslog (disabled by default) // -#if __linux__ +#ifndef _WIN32 #define SPDLOG_ENABLE_SYSLOG #endif /////////////////////////////////////////////////////////////////////////////// --- Source/GmmLib/inc/External/Common/GmmCommonExt.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/inc/External/Common/GmmCommonExt.h @@ -72,7 +72,7 @@ extern const SWIZZLE_DESCRIPTOR INTEL_64KB_UNDEFINED_6 #define GMM_NO_FENCE_REG 0xDEADBEEF #define GMM_MAX_DISPLAYS 3 -#if defined __linux__ +#ifndef _WIN32 typedef void* HANDLE; #endif --- Source/GmmLib/inc/External/Common/GmmPageTableMgr.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/inc/External/Common/GmmPageTableMgr.h @@ -28,7 +28,7 @@ Description: This file contains the class definitions #pragma once #include "GmmHw.h" -#ifdef __linux__ +#ifndef _WIN32 #include #endif @@ -108,7 +108,7 @@ namespace GmmLib GmmClientContext *pClientContext; ///< ClientContext of the client creating this Object //OS-specific defn -#if defined __linux__ +#ifndef _WIN32 pthread_mutex_t PoolLock; #endif public: @@ -134,7 +134,7 @@ namespace GmmLib GMM_VIRTUAL GMM_PAGETABLEPool * __GetFreePoolNode(uint32_t * FreePoolNodeIdx, POOL_TYPE PoolType); -#if defined __linux__ +#ifndef _WIN32 //returns number of BOs for indicated TTs = NumNodePoolElements+1 BOs for root table and pools GMM_VIRTUAL int GetNumOfPageTableBOs(uint8_t TTFlags); //returns BO* list for indicated TT in client allocated memory --- Source/GmmLib/inc/External/Common/GmmResourceInfoExt.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/inc/External/Common/GmmResourceInfoExt.h @@ -181,7 +181,7 @@ typedef struct GMM_RESOURCE_ALIGNMENT_REC // TBD - Place holder for GMM_RESOURCE_FLAG definition. //--------------------------------------------------------------------------- #include "GmmResourceFlags.h" -#if defined __linux__ +#ifndef _WIN32 #include "External/Linux/GmmResourceInfoLinExt.h" #endif --- Source/GmmLib/inc/External/Linux/GmmResourceInfoLinExt.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/inc/External/Linux/GmmResourceInfoLinExt.h @@ -21,7 +21,7 @@ OTHER DEALINGS IN THE SOFTWARE. ============================================================================*/ #pragma once -#ifdef __linux__ +#ifndef _WIN32 #ifdef __cplusplus extern "C" { @@ -93,4 +93,4 @@ typedef struct GMM_UMD_SYNCCONTEXT_REC } #endif /*__cplusplus*/ -#endif /*__linux__*/ +#endif /*!_WIN32*/ --- Source/GmmLib/inc/Internal/Linux/GmmResourceInfoLinInt.h.orig 2019-09-16 10:30:27 UTC +++ Source/GmmLib/inc/Internal/Linux/GmmResourceInfoLinInt.h @@ -22,7 +22,7 @@ OTHER DEALINGS IN THE SOFTWARE. #pragma once -#if defined(__linux__) && !LHDM +#if !defined(_WIN32) && !LHDM // GMM Lib Client Exports #include "External/Common/GmmCommonExt.h" @@ -68,4 +68,4 @@ int GmmCheckForNullDevCbPfn(GMM_CLIENT ClientType, GMM extern GMM_TRANSLATIONTABLE_CALLBACKS DummyTTCB; -#endif /*__linux__*/ +#endif /*!_WIN32*/