Index: head/lang/intel-compute-runtime/Makefile =================================================================== --- head/lang/intel-compute-runtime/Makefile (revision 536985) +++ head/lang/intel-compute-runtime/Makefile (revision 536986) @@ -1,61 +1,60 @@ # $FreeBSD$ PORTNAME= compute-runtime DISTVERSION= 20.21.16886 CATEGORIES= lang PKGNAMEPREFIX= intel- MAINTAINER= jbeich@FreeBSD.org COMMENT= OpenCL implementation for Intel HD 5000 (Gen8) or newer LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported -BROKEN_i386= https://github.com/intel/compute-runtime/issues/316 LIB_DEPENDS= libigc.so:devel/intel-graphics-compiler \ libigdgmm.so:multimedia/gmmlib USES= cmake compiler:c++14-lang localbase:ldflags pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel CMAKE_ON= SKIP_UNIT_TESTS 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>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.0.8 \ lib/libze_intel_gpu.so.0.8.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 Index: head/lang/intel-compute-runtime/files/patch-i386 =================================================================== --- head/lang/intel-compute-runtime/files/patch-i386 (revision 536985) +++ head/lang/intel-compute-runtime/files/patch-i386 (revision 536986) @@ -1,18 +1,41 @@ +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/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/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); }