diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 176affd047c..75318351de7 100644 --- a/pkgs/development/compilers/intel-graphics-compiler/default.nix +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -9,6 +9,8 @@ , lld_11 , opencl-clang , python3 +, spirv-tools +, spirv-headers , spirv-llvm-translator , buildWithPatches ? true @@ -18,8 +20,8 @@ let vc_intrinsics_src = fetchFromGitHub { owner = "intel"; repo = "vc-intrinsics"; - rev = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872"; - sha256 = "Vg1mngwpIQ3Tik0GgRXPG22lE4sLEAEFch492G2aIXs="; + rev = "v0.3.0"; + sha256 = "sha256-1Rm4TCERTOcPGWJF+yNoKeB9x3jfqnh7Vlv+0Xpmjbk="; }; llvmPkgs = llvmPackages_11 // { inherit spirv-llvm-translator; @@ -31,18 +33,18 @@ in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "1.0.8744"; + version = "1.0.11061"; src = fetchFromGitHub { owner = "intel"; repo = "intel-graphics-compiler"; rev = "igc-${version}"; - sha256 = "G5+dYD8uZDPkRyn1sgXsRngdq4NJndiCJCYTRXyUgTA="; + sha256 = "sha256-qS/+GTqHtp3T6ggPKrCDsrTb7XvVOUaNbMzGU51jTu4="; }; nativeBuildInputs = [ clang cmake bison flex python3 ]; - buildInputs = [ clang opencl-clang spirv-llvm-translator llvm lld_11 ]; + buildInputs = [ spirv-headers spirv-tools clang opencl-clang spirv-llvm-translator llvm lld_11 ]; strictDeps = true; @@ -52,6 +54,21 @@ stdenv.mkDerivation rec { # https://github.com/intel/intel-graphics-compiler/issues/98 doCheck = false; + patchPhase = '' + substituteInPlace ./external/SPIRV-Tools/CMakeLists.txt \ + --replace '$'''{SPIRV-Tools_DIR}../../..' \ + '${spirv-tools}' \ + --replace 'SPIRV-Headers_INCLUDE_DIR "/usr/include"' \ + 'SPIRV-Headers_INCLUDE_DIR "${spirv-headers}/include"' \ + --replace 'set_target_properties(SPIRV-Tools' \ + 'set_target_properties(SPIRV-Tools-shared' \ + --replace 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools' \ + 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools-shared' + substituteInPlace ./IGC/AdaptorOCL/igc-opencl.pc.in \ + --replace '/@CMAKE_INSTALL_INCLUDEDIR@' "/include" \ + --replace '/@CMAKE_INSTALL_LIBDIR@' "/lib" + ''; + # Handholding the braindead build script # cmake requires an absolute path prebuilds = runCommandLocal "igc-cclang-prebuilds" { } '' @@ -64,7 +81,9 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ + "-Wno-dev" "-DVC_INTRINSICS_SRC=${vc_intrinsics_src}" + "-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds" "-DINSTALL_SPIRVDLL=0" "-DCCLANG_BUILD_PREBUILDS=ON" "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}" diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix index 0dff7f0e1b0..abcc93c62d5 100644 --- a/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -4,29 +4,42 @@ , pkg-config , lit , llvm_11 +, spirv-headers +, spirv-tools }: stdenv.mkDerivation rec { pname = "SPIRV-LLVM-Translator"; - version = "unstable-2021-06-13"; + version = "unstable-2022-05-04"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-LLVM-Translator"; - rev = "c67e6f26a7285aa753598ef792593ac4a545adf9"; - sha256 = "sha256-1s3lVNTQDl+pUvbzSMsp3cOUSm6I4DzqJxnLMeeE3F4="; + rev = "99420daab98998a7e36858befac9c5ed109d4920"; + sha256 = "sha256-/vUyL6Wh8hykoGz1QmT1F7lfGDEmG4U3iqmqrJxizOg="; }; nativeBuildInputs = [ pkg-config cmake llvm_11.dev ]; - buildInputs = [ llvm_11 ]; + buildInputs = [ spirv-headers spirv-tools llvm_11 ]; checkInputs = [ lit ]; + makeFlags = [ "llvm-spirv" ]; + cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=ON" + "-DLLVM_DIR=${llvm_11.dev}" + "-DBUILD_SHARED_LIBS=YES" + "-DLLVM_SPIRV_BUILD_EXTERNAL=YES" ]; + prePatch = '' + substituteInPlace ./test/CMakeLists.txt \ + --replace 'SPIRV-Tools' 'SPIRV-Tools-shared' + ''; + + # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist doCheck = false; diff --git a/pkgs/development/libraries/opencl-clang/default.nix b/pkgs/development/libraries/opencl-clang/default.nix index 243dfa44d5b..f4897331c93 100644 --- a/pkgs/development/libraries/opencl-clang/default.nix +++ b/pkgs/development/libraries/opencl-clang/default.nix @@ -67,15 +67,15 @@ let in stdenv.mkDerivation rec { pname = "opencl-clang"; - version = "unstable-2021-06-22"; + version = "unstable-2022-03-16"; inherit passthru; src = fetchFromGitHub { owner = "intel"; repo = "opencl-clang"; - rev = "fd68f64b33e67d58f6c36b9e25c31c1178a1962a"; - sha256 = "sha256-q1YPBb/LY67iEuQx1fMUQD/I7OsNfobW3yNfJxLXx3E="; + rev = "bbdd1587f577397a105c900be114b56755d1f7dc"; + sha256 = "sha256-qEZoQ6h4XAvSnJ7/gLXBb1qrzeYa6Jp6nij9VFo8MwQ="; }; patches = [ diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix index 1d1d5667fe9..5c3154bf39d 100644 --- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix +++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "intel-compute-runtime"; - version = "21.42.21270"; + version = "22.17.23034"; src = fetchFromGitHub { owner = "intel"; repo = "compute-runtime"; rev = version; - sha256 = "N9MsDcsL8kBWxfZjhukcxZiSJnXxqMgWF0etOhf2/AE="; + sha256 = "sha256-ae6kPiVQe3+hcqXVu2ncCaVQAoMKoDHifrkKpt6uWX8="; }; nativeBuildInputs = [ cmake pkg-config ];