Index: head/devel/intel-graphics-compiler/Makefile =================================================================== --- head/devel/intel-graphics-compiler/Makefile (revision 525989) +++ head/devel/intel-graphics-compiler/Makefile (revision 525990) @@ -1,51 +1,48 @@ # $FreeBSD$ PORTNAME= intel-graphics-compiler DISTVERSIONPREFIX= igc- -DISTVERSION= 1.0.3041 +DISTVERSION= 1.0.3289 CATEGORIES= devel - -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= add5ac2f64f3.patch:-p1 MAINTAINER= jbeich@FreeBSD.org COMMENT= Intel Graphics Compiler for OpenCL 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= libopencl-clang.so:devel/opencl-clang USES= bison cmake compiler:c++17-lang python:build USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel CFLAGS+= -Wno-macro-redefined # __fastcall PLIST_SUB= ARCH_SUFX=${ARCH:S/i386/32/:S/amd//:S/x86_//} post-patch: # lang/python* don't install unsuffixed symlinks @${REINPLACE_CMD} -i .python \ -e '/EXECUTABLE/s/"python"/"${PYTHON_CMD:T}"/' \ -e '/IGC_PYTHON/s/"python"/"${PYTHON_CMD:T}"/' \ ${WRKSRC}/IGC/CMakeLists.txt \ ${WRKSRC}/IGC/BiFModule/CMakeLists.txt # devel/llvm* have different naming from upstream under PATH @${REINPLACE_CMD} -e '/clang-\$$/ { s//clang$$/; \ s/MAJOR}/&$${LLVM_VERSION_MINOR}/; }' \ ${WRKSRC}/IGC/BiFModule/CMakeLists.txt # No need to abort on every benign warning enabled by default @${REINPLACE_CMD} -e 's/"-Werror"//; /-Werror/d' \ ${WRKSRC}/IGC/CMakeLists.txt pre-configure: # Only one libLLVM can be loaded, so use the same version as devel/opencl-clang @for f in ${LOCALBASE}/lib/libopencl-clang.so.*; do \ ${REINPLACE_CMD} "/set.*LLVM_VERSION/s/\".*\"/\"$${f##*so.}\"/" \ ${WRKSRC}/IGC/CMakeLists.txt; \ done .include Index: head/devel/intel-graphics-compiler/distinfo =================================================================== --- head/devel/intel-graphics-compiler/distinfo (revision 525989) +++ head/devel/intel-graphics-compiler/distinfo (revision 525990) @@ -1,5 +1,3 @@ -TIMESTAMP = 1575706582 -SHA256 (intel-intel-graphics-compiler-igc-1.0.3041_GH0.tar.gz) = 91233f7c2fb5f1e829232815a0e3b80585f7f7537360aa1445955973ad0d928d -SIZE (intel-intel-graphics-compiler-igc-1.0.3041_GH0.tar.gz) = 5938642 -SHA256 (add5ac2f64f3.patch) = 4de0b73bf73d786e3aa6e55bb9bf4a45ac44ee3ef5177a64f50d869bb8e81285 -SIZE (add5ac2f64f3.patch) = 3862 +TIMESTAMP = 1580732185 +SHA256 (intel-intel-graphics-compiler-igc-1.0.3289_GH0.tar.gz) = dd0694165cd625a2aaad634f11ca74db4c27ba2c3b50c07d4000b317f41033f0 +SIZE (intel-intel-graphics-compiler-igc-1.0.3289_GH0.tar.gz) = 6014385 Index: head/devel/intel-graphics-compiler/files/patch-unix =================================================================== --- head/devel/intel-graphics-compiler/files/patch-unix (revision 525989) +++ head/devel/intel-graphics-compiler/files/patch-unix (revision 525990) @@ -1,309 +1,309 @@ Relax Linux checks for the code works on any non-Windows platform. CMake Error at IGC/CMakeLists.txt:1974 (message): IGC_OPTION__ARCHITECTURE_TARGET: Target architecture is not specified and cannot be deduced from context. Please specify one, e.g. Windows32, Linux64, Android32, ... --- IGC/CMakeLists.txt.orig 2019-11-27 01:05:20 UTC +++ IGC/CMakeLists.txt @@ -834,11 +834,11 @@ function(igc_arch_detect targetArchVarName hostArchVar set(_targetArchitecture "Windows32") endif() # Use system processor set by toolchain or CMake. - elseif(ANDROID OR (CMAKE_SYSTEM_NAME MATCHES "Linux") + elseif(ANDROID OR (UNIX AND NOT APPLE) ) if(ANDROID) set(_targetArchOS "Android") - elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") + elseif(UNIX AND NOT APPLE) set(_targetArchOS "Linux") endif() @@ -865,9 +865,9 @@ function(igc_arch_detect targetArchVarName hostArchVar set(_hostArchitecture "Windows32") endif() # Use 'uname -m' to detect kernel architecture. - elseif((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") + elseif((UNIX AND NOT APPLE) ) - if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") + if(UNIX AND NOT APPLE) set(_hostArchOS "Linux") endif() @@ -2171,7 +2171,7 @@ endif() # NOTE: LLVM_ON_UNIX is also true for Android (CMAKE_SYSTEM_NAME specified by Android toolchain file is also "Linux", # but we should make sure so there is no errors in our assumptions). -if((CMAKE_SYSTEM_NAME MATCHES "Linux") OR ANDROID) +if((UNIX AND NOT APPLE) OR ANDROID) set(LLVM_ON_UNIX ON) else() set(LLVM_ON_UNIX OFF) --- 3d/common/iStdLib/File.h.orig 2019-11-27 01:05:20 UTC +++ 3d/common/iStdLib/File.h @@ -105,12 +105,9 @@ inline DWORD GetModuleFileName( char* pFileName, DWORD #elif defined(ISTDLIB_UMD) #if defined(_WIN32) return ::GetModuleFileNameA( NULL, pFileName, bufSize ); - #elif defined(__linux__) + #else //TODO: add Linux implementation. return 0; - #else - // TO DO: replace with non-Windows version - #error "TODO implement non-Windows equivalent of GetModuleFileName" #endif #else // this compilation path is not intended --- 3d/common/iStdLib/Object.h.orig 2019-11-27 01:05:20 UTC +++ 3d/common/iStdLib/Object.h @@ -150,7 +150,7 @@ inline long CObject::Acquire( void ) ASSERT( m_RefCount >= 0 ); ASSERT( m_RefCount < LONG_MAX ); -#if defined(ISTDLIB_MT) && defined(__linux__) +#if defined(ISTDLIB_MT) && defined(__GNUC__) __sync_fetch_and_add(&m_RefCount, 1); #elif defined(ISTDLIB_MT) ::InterlockedIncrement(&m_RefCount); @@ -182,7 +182,7 @@ inline long CObject::Release( void ) { ASSERT( m_RefCount > 0 ); -#if defined(ISTDLIB_MT) && defined(__linux__) +#if defined(ISTDLIB_MT) && defined(__GNUC__) __sync_sub_and_fetch(&m_RefCount, 1); #elif defined(ISTDLIB_MT) ::InterlockedDecrement(&m_RefCount); --- 3d/common/iStdLib/utility.h.orig 2019-11-27 01:05:20 UTC +++ 3d/common/iStdLib/utility.h @@ -431,7 +431,7 @@ __forceinline DWORD bsr64( const unsigned long long in _BitScanReverse64( &index, static_cast<_int64>( mask ) ); return static_cast( index ); -#elif defined __linux__ +#elif defined __GNUC__ return static_cast( 63 - __builtin_clzll( mask ) ); #else @@ -464,7 +464,7 @@ __forceinline DWORD bsr( const DWORD mask ) _BitScanReverse( &index, mask ); return static_cast(index); -#elif defined __linux__ +#elif defined __GNUC__ return static_cast( 31 - __builtin_clz( mask ) ); #else @@ -497,7 +497,7 @@ __forceinline DWORD bsf64( const unsigned long long in _BitScanForward64( &index, static_cast<_int64>( mask ) ); return static_cast( index ); -#elif defined __linux__ +#elif defined __GNUC__ return static_cast( __builtin_ffsll( mask ) - 1 ); #else @@ -529,7 +529,7 @@ __forceinline DWORD bsf( const DWORD mask ) _BitScanForward( &index, mask ); return index; -#elif defined __linux__ +#elif defined __GNUC__ return static_cast( __builtin_ffsl( mask ) - 1 ); #else --- IGC/AdaptorCommon/customApi.cpp.orig 2019-11-27 01:05:20 UTC +++ IGC/AdaptorCommon/customApi.cpp @@ -457,7 +457,7 @@ namespace IGC return ""; IGCBaseFolder = "/sdcard/intel/igc/"; -#elif defined __linux__ +#elif !defined __APPLE__ if (!IGC_IS_FLAG_ENABLED(DumpToCustomDir)) { IGCBaseFolder = "/tmp/IntelIGC/"; @@ -560,7 +560,7 @@ namespace IGC g_shaderOutputFolder = ""; -#elif defined __linux__ +#elif !defined __APPLE__ if (!IGC_IS_FLAG_ENABLED(DumpToCurrentDir) && g_shaderOutputFolder == "" && !IGC_IS_FLAG_ENABLED(DumpToCustomDir)) { bool needMkdir = false; --- IGC/AdaptorOCL/CLElfLib/CLElfTypes.h.orig 2019-11-27 01:05:20 UTC +++ IGC/AdaptorOCL/CLElfLib/CLElfTypes.h @@ -30,7 +30,7 @@ Abstract: Defines the types used for ELF headers/sect \******************************************************************************/ #pragma once -#if defined(__linux__) && defined(OGL) +#if !defined(__APPLE__) && !defined(_WIN32) && defined(OGL) #include "os_inc.h" #endif @@ -38,7 +38,7 @@ Abstract: Defines the types used for ELF headers/sect #include #endif -#if defined(__linux__) +#if !defined(__APPLE__) && !defined(_WIN32) #include "elf.h" #endif --- IGC/AdaptorOCL/OCL/sp/gtpin_igc_ocl.h.orig 2019-11-27 01:05:20 UTC +++ IGC/AdaptorOCL/OCL/sp/gtpin_igc_ocl.h @@ -38,7 +38,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define MY_CALLINGSTD _fastcall #define MY_CDECL _cdecl -#elif defined(ANDROID) || defined (__linux__) +#elif defined(__GNUC__) // Linux, Android #define MY_EXTERN_C extern "C" --- IGC/GenISAIntrinsics/GenIntrinsics.h.orig 2019-11-27 01:05:20 UTC +++ IGC/GenISAIntrinsics/GenIntrinsics.h @@ -59,7 +59,7 @@ namespace GenISAIntrinsic { /// using iAny, fAny, vAny, or iPTRAny). For a declaration of an overloaded /// intrinsic, Tys must provide exactly one type for each overloaded type in /// the intrinsic. -#if defined(ANDROID) || defined(__linux__) +#if defined(__GNUC__) __attribute__ ((visibility ("default"))) Function *getDeclaration(Module *M, ID id, ArrayRef Tys = None); #else Function *getDeclaration(Module *M, ID id, ArrayRef Tys = None); --- IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp.orig 2019-11-27 01:05:20 UTC +++ IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp @@ -65,9 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #if defined(_WIN32 )|| defined( _WIN64 ) #include #include -#endif - -#if defined __linux__ +#elif !defined(__APPLE__) #include "iStdLib/File.h" #endif @@ -311,7 +309,7 @@ namespace FCL IGCBaseFolder = pathBuf; } -#elif defined __linux__ +#elif !defined(__APPLE__) if (!FCL_IGC_IS_FLAG_ENABLED(DumpToCustomDir)) { IGCBaseFolder = "/tmp/IntelIGC/"; @@ -387,7 +385,7 @@ namespace FCL iSTD::CreateAppOutputDir(pathBuf, 256, GetBaseIGCOutputFolder(), false, true, !FCL_IGC_IS_FLAG_ENABLED(ShaderDumpPidDisable)); g_shaderOutputFolder = pathBuf; } -#elif defined __linux__ +#elif !defined(__APPLE__) if (!FCL_IGC_IS_FLAG_ENABLED(DumpToCurrentDir) && g_shaderOutputFolder == "" && !FCL_IGC_IS_FLAG_ENABLED(DumpToCustomDir)) { bool needMkdir = true; --- IGC/common/LLVMWarningsPop.hpp.orig 2019-11-27 01:05:20 UTC +++ IGC/common/LLVMWarningsPop.hpp @@ -58,6 +58,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # pragma warning( pop ) #endif -#if defined(__linux__) +#if defined(__GNUC__) # pragma GCC diagnostic pop #endif --- IGC/common/LLVMWarningsPush.hpp.orig 2019-11-27 01:05:20 UTC +++ IGC/common/LLVMWarningsPush.hpp @@ -55,13 +55,13 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # pragma warning( push ) #endif -#if defined(__linux__) +#if defined(__GNUC__) # pragma GCC diagnostic push #endif #include -#if defined(__linux__) +#if defined(__GNUC__) # if __GNUC__ > 8 # pragma GCC diagnostic ignored "-Winit-list-lifetime" # endif --- IGC/common/igc_regkeys.hpp.orig 2019-11-27 01:05:20 UTC +++ IGC/common/igc_regkeys.hpp @@ -39,7 +39,7 @@ typedef char debugString[256]; #define IGC_DEBUG_VARIABLES #endif -#if defined( __linux__ ) +#if !defined( __APPLE__ ) && !defined( _WIN32 ) #define IGC_DEBUG_VARIABLES #endif @@ -67,7 +67,7 @@ struct SRegKeyVariableMetaData } }; -#if defined ( __linux__ ) && !defined( _DEBUG ) && !defined( _INTERNAL ) +#if !defined ( _WIN32 ) && !defined( _DEBUG ) && !defined( _INTERNAL ) #define LINUX_RELEASE_MODE #endif --- inc/common/Compiler/API/ShaderInstruction.h.orig 2019-11-27 01:05:20 UTC +++ inc/common/Compiler/API/ShaderInstruction.h @@ -39,7 +39,7 @@ namespace USC class CShaderDebugLocationInfo; } -#if defined _DEBUG && !defined __linux__ +#if defined _DEBUG && defined _WIN32 #define USC_OPTIMIZING_COMPILER_TESTS #endif ---- visa/BuildCISAIRImpl.cpp.orig 2019-11-27 01:05:20 UTC +--- visa/BuildCISAIRImpl.cpp.orig 2020-01-09 09:46:51 UTC +++ visa/BuildCISAIRImpl.cpp -@@ -680,7 +680,6 @@ extern void CISA_delete_buffer(YY_BUFFER_STATE buf); +@@ -684,7 +684,6 @@ extern void CISA_delete_buffer(YY_BUFFER_STATE buf); int CISA_IR_Builder::ParseVISAText(const std::string& visaHeader, const std::string& visaText, const std::string& visaTextFile) { -#if defined(__linux__) || defined(_WIN64) || defined(_WIN32) // Direct output of parser to null #if defined(_WIN64) || defined(_WIN32) CISAout = fopen("nul", "w"); -@@ -740,16 +739,11 @@ int CISA_IR_Builder::ParseVISAText(const std::string& +@@ -746,16 +745,11 @@ int CISA_IR_Builder::ParseVISAText(const std::string& } - return CM_SUCCESS; + return VISA_SUCCESS; -#else - assert(0 && "Asm parsing not supported on this platform"); -- return CM_FAILURE; +- return VISA_FAILURE; -#endif } // Parses inline asm file from ShaderOverride int CISA_IR_Builder::ParseVISAText(const std::string& visaFile) { -#if defined(__linux__) || defined(_WIN64) || defined(_WIN32) // Direct output of parser to null #if defined(_WIN64) || defined(_WIN32) CISAout = fopen("nul", "w"); -@@ -775,10 +769,6 @@ int CISA_IR_Builder::ParseVISAText(const std::string& +@@ -781,10 +775,6 @@ int CISA_IR_Builder::ParseVISAText(const std::string& fclose(CISAout); } - return CM_SUCCESS; + return VISA_SUCCESS; -#else - assert(0 && "Asm parsing not supported on this platform"); -- return CM_FAILURE; +- return VISA_FAILURE; -#endif } // default size of the kernel mem manager in bytes Index: head/devel/intel-graphics-compiler/pkg-plist =================================================================== --- head/devel/intel-graphics-compiler/pkg-plist (revision 525989) +++ head/devel/intel-graphics-compiler/pkg-plist (revision 525990) @@ -1,104 +1,103 @@ bin/GenX_IR bin/iga%%ARCH_SUFX%% include/iga/iga.h include/iga/iga.hpp include/iga/igaEncoderWrapper.hpp include/iga/iga_bxml_enums.hpp include/iga/iga_bxml_ops.hpp include/iga/iga_types_ext.hpp include/iga/iga_types_swsb.hpp include/iga/igad.h include/iga/igax.hpp include/iga/kv.h include/iga/kv.hpp include/igc/cif/CMakeLists.txt include/igc/cif/cif/CMakeLists.txt include/igc/cif/cif/builtins/builtins_registry.cpp include/igc/cif/cif/builtins/builtins_registry.h include/igc/cif/cif/builtins/memory/buffer/buffer.h include/igc/cif/cif/builtins/memory/buffer/impl/buffer_impl.cpp include/igc/cif/cif/builtins/memory/buffer/impl/buffer_impl.h include/igc/cif/cif/common/cif.h include/igc/cif/cif/common/cif_main.h include/igc/cif/cif/common/coder.h include/igc/cif/cif/common/compatibility.h include/igc/cif/cif/common/id.h include/igc/cif/cif/common/library_api.h include/igc/cif/cif/common/library_handle.h include/igc/cif/cif/export/build/binary_version.h include/igc/cif/cif/export/cif_impl.h include/igc/cif/cif/export/cif_main.cpp include/igc/cif/cif/export/cif_main_impl.h include/igc/cif/cif/export/interface_creator.h include/igc/cif/cif/export/library_api.h include/igc/cif/cif/export/muiltiversion.h include/igc/cif/cif/export/pimpl_base.h include/igc/cif/cif/export/registry.cpp include/igc/cif/cif/export/registry.h include/igc/cif/cif/helpers/error.cpp include/igc/cif/cif/helpers/error.h include/igc/cif/cif/helpers/memory.h include/igc/cif/cif/import/cif_main.cpp include/igc/cif/cif/import/cif_main.h include/igc/cif/cif/import/library_api.h include/igc/cif/cif/macros/disable.h include/igc/cif/cif/macros/enable.h include/igc/cif/cif/os/lin/lin_library_handle.cpp include/igc/cif/cif/os/lin/lin_library_handle.h include/igc/cif/cif/os/win/win_library_handle.cpp include/igc/cif/cif/os/win/win_library_handle.h include/igc/cif/readme.txt include/igc/igc.opencl.h include/igc/ocl_igc_interface/code_type.h include/igc/ocl_igc_interface/fcl_ocl_device_ctx.h include/igc/ocl_igc_interface/fcl_ocl_translation_ctx.h include/igc/ocl_igc_interface/gt_system_info.h include/igc/ocl_igc_interface/igc_features_and_workarounds.h include/igc/ocl_igc_interface/igc_ocl_device_ctx.h include/igc/ocl_igc_interface/igc_ocl_translation_ctx.h include/igc/ocl_igc_interface/impl/fcl_ocl_device_ctx_impl.cpp include/igc/ocl_igc_interface/impl/fcl_ocl_device_ctx_impl.h include/igc/ocl_igc_interface/impl/fcl_ocl_translation_ctx_impl.cpp include/igc/ocl_igc_interface/impl/fcl_ocl_translation_ctx_impl.h include/igc/ocl_igc_interface/impl/gt_system_info_impl.cpp include/igc/ocl_igc_interface/impl/gt_system_info_impl.h include/igc/ocl_igc_interface/impl/igc_features_and_workarounds_impl.cpp include/igc/ocl_igc_interface/impl/igc_features_and_workarounds_impl.h include/igc/ocl_igc_interface/impl/igc_ocl_device_ctx_impl.cpp include/igc/ocl_igc_interface/impl/igc_ocl_device_ctx_impl.h include/igc/ocl_igc_interface/impl/igc_ocl_translation_ctx_impl.cpp include/igc/ocl_igc_interface/impl/igc_ocl_translation_ctx_impl.h include/igc/ocl_igc_interface/impl/ocl_gen_binary_impl.cpp include/igc/ocl_igc_interface/impl/ocl_gen_binary_impl.h include/igc/ocl_igc_interface/impl/ocl_translation_output_impl.cpp include/igc/ocl_igc_interface/impl/ocl_translation_output_impl.h include/igc/ocl_igc_interface/impl/platform_impl.cpp include/igc/ocl_igc_interface/impl/platform_impl.h include/igc/ocl_igc_interface/ocl_gen_binary.h include/igc/ocl_igc_interface/ocl_translation_output.h include/igc/ocl_igc_interface/platform.h include/igc/ocl_igc_interface/platform_helper.h include/igc/ocl_igc_shared/device_enqueue/DeviceEnqueueInternalTypes.h -include/igc/ocl_igc_shared/device_enqueue/device_enqueue_internal_types.h include/igc/ocl_igc_shared/executable_format/patch_g10.h include/igc/ocl_igc_shared/executable_format/patch_g7.h include/igc/ocl_igc_shared/executable_format/patch_g75.h include/igc/ocl_igc_shared/executable_format/patch_g8.h include/igc/ocl_igc_shared/executable_format/patch_g9.h include/igc/ocl_igc_shared/executable_format/patch_list.h include/igc/ocl_igc_shared/executable_format/patch_shared.h include/igc/ocl_igc_shared/executable_format/program_debug_data.h include/igc/ocl_igc_shared/gtpin/gtpin_driver_common.h include/igc/ocl_igc_shared/gtpin/gtpin_driver_common_bti.h include/igc/ocl_igc_shared/gtpin/gtpin_ocl_interface.h include/visa/RelocationInfo.h lib/libiga%%ARCH_SUFX%%.so lib/libiga%%ARCH_SUFX%%.so.1 lib/libiga%%ARCH_SUFX%%.so.1.0.1 lib/libigc.so lib/libigc.so.1 lib/libigc.so.1.0.1 lib/libigdfcl.so lib/libigdfcl.so.1 lib/libigdfcl.so.1.0.1 libdata/pkgconfig/igc-opencl.pc