diff --git a/lang/intel-compute-runtime/Makefile b/lang/intel-compute-runtime/Makefile index fbdabe3f85e4..8ef72b7ad0df 100644 --- a/lang/intel-compute-runtime/Makefile +++ b/lang/intel-compute-runtime/Makefile @@ -1,61 +1,61 @@ PORTNAME= compute-runtime -DISTVERSION= 21.29.20389 +DISTVERSION= 21.30.20482 CATEGORIES= lang PKGNAMEPREFIX= intel- PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 4a926516c3ea.patch:-p1 # https://github.com/intel/compute-runtime/pull/361 MAINTAINER= jbeich@FreeBSD.org COMMENT= OpenCL implementation for Intel HD 5000 (Gen8) or newer LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported LIB_DEPENDS= libigc.so:devel/intel-graphics-compiler \ libigdgmm.so:multimedia/gmmlib USES= cmake compiler:c++17-lang localbase:ldflags pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel CMAKE_ON= SKIP_UNIT_TESTS SUPPORT_DG1 CMAKE_ARGS= -DNEO_OCL_DRIVER_VERSION:STRING="${DISTVERSIONFULL}" PLIST_FILES= bin/ocloc \ etc/OpenCL/vendors/intel.icd \ include/ocloc_api.h \ lib/intel-opencl/libigdrcl.so \ lib/libocloc.so \ ${NULL} OPTIONS_DEFINE= VAAPI OPTIONS_DEFAULT=VAAPI OPTIONS_DEFINE_amd64= L0 OPTIONS_DEFAULT_amd64= L0 L0_DESC= oneAPI Level Zero support L0_BUILD_DEPENDS= level-zero>=1.0:devel/level-zero L0_CMAKE_BOOL= BUILD_WITH_L0 L0_CMAKE_ON= -DNEO_VERSION_BUILD:STRING="0" L0_PLIST_FILES= lib/libze_intel_gpu.so.1 \ lib/libze_intel_gpu.so.1.1.0 VAAPI_BUILD_DEPENDS= ${LOCALBASE}/include/va/va.h:multimedia/libva VAAPI_CMAKE_BOOL_OFF= DISABLE_LIBVA post-patch: @${REINPLACE_CMD} -e '/-Werror/d' \ -e '/FORCE_RESPONSE_FILE/d' \ ${WRKSRC}/CMakeLists.txt @${REINPLACE_CMD} -e '/OCL_ICD_VENDORDIR/s,/etc,${PREFIX}&,' \ ${WRKSRC}/package.cmake post-install: # install/strip has no effect on install(FILES), so strip manually ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/intel-opencl/*.so .include diff --git a/lang/intel-compute-runtime/distinfo b/lang/intel-compute-runtime/distinfo index b7491a3fda1c..a830df3bff32 100644 --- a/lang/intel-compute-runtime/distinfo +++ b/lang/intel-compute-runtime/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1626193968 -SHA256 (intel-compute-runtime-21.29.20389_GH0.tar.gz) = c1fd20bcc47b2f51b2e2c858162d03008f0fd27ae93b6f954ee1da8ee080da2a -SIZE (intel-compute-runtime-21.29.20389_GH0.tar.gz) = 4267474 +TIMESTAMP = 1626975336 +SHA256 (intel-compute-runtime-21.30.20482_GH0.tar.gz) = 978e8d8471e658beca650890ec0d3160a2aac958a3c865ce4b61d334c73b2fb1 +SIZE (intel-compute-runtime-21.30.20482_GH0.tar.gz) = 4416357 SHA256 (4a926516c3ea.patch) = 1a9c4694dbe892f01a7d3be5c5229b6b3bb34222848d61054f7bdf91134ca60f SIZE (4a926516c3ea.patch) = 1691 diff --git a/lang/intel-compute-runtime/files/patch-i386 b/lang/intel-compute-runtime/files/patch-i386 index 34f916e902d2..c82d7a079b91 100644 --- a/lang/intel-compute-runtime/files/patch-i386 +++ b/lang/intel-compute-runtime/files/patch-i386 @@ -1,41 +1,88 @@ Revert BufferObject's size to size_t like before 45a0ceecfbe4 shared/source/os_interface/linux/drm_memory_manager.cpp:61:54: error: non-const lvalue reference to type 'size_t' (aka 'unsigned int') cannot bind to a value of unrelated type 'uint64_t' (aka 'unsigned long long') bo->gpuAddress = acquireGpuRange(bo->size, false, rootDeviceIndex, false); ^~~~~~~~ shared/source/os_interface/linux/drm_memory_manager.h:66:38: note: passing argument to parameter 'size' here uint64_t acquireGpuRange(size_t &size, bool requireSpecificBitness, uint32_t rootDeviceIndex, bool requi... ^ SSE2 is not enabled by default on BSDs core/utilities/clflush.cpp:16:5: error: '_mm_clflush' needs target feature sse2 _mm_clflush(ptr); ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:785:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:787:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:789:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:798:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:800:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:803:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:805:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:816:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:818:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:820:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ +shared/source/os_interface/windows/wddm_memory_manager.cpp:822:5: error: '_mm_lfence' needs target feature sse2 + _mm_lfence(); + ^ --- shared/source/os_interface/linux/drm_buffer_object.h.orig 2020-05-21 10:39:12 UTC +++ shared/source/os_interface/linux/drm_buffer_object.h @@ -55,7 +55,7 @@ class BufferObject { std::atomic refCount; int handle; // i915 gem object handle - uint64_t size; + size_t size; bool isReused; //Tiling +--- shared/source/os_interface/windows/wddm_memory_manager.cpp.orig 2021-07-22 17:35:36 UTC ++++ shared/source/os_interface/windows/wddm_memory_manager.cpp +@@ -31,7 +31,11 @@ + #include "shared/source/os_interface/windows/wddm_residency_controller.h" + + #include ++#ifdef __SSE2__ + #include ++#else ++#define _mm_lfence() ++#endif + + namespace NEO { + --- shared/source/utilities/cpuintrinsics.cpp.orig 2020-02-28 16:16:42 UTC +++ shared/source/utilities/cpuintrinsics.cpp @@ -12,6 +12,9 @@ namespace NEO { namespace CpuIntrinsics { +#ifdef __GNUC__ +__attribute__((target("sse2"))) +#endif void clFlush(void const *ptr) { _mm_clflush(ptr); }