|
|
@ -9,6 +9,8 @@ |
|
|
|
, lld_11 |
|
|
|
, lld_11 |
|
|
|
, opencl-clang |
|
|
|
, opencl-clang |
|
|
|
, python3 |
|
|
|
, python3 |
|
|
|
|
|
|
|
, spirv-tools |
|
|
|
|
|
|
|
, spirv-headers |
|
|
|
, spirv-llvm-translator |
|
|
|
, spirv-llvm-translator |
|
|
|
|
|
|
|
|
|
|
|
, buildWithPatches ? true |
|
|
|
, buildWithPatches ? true |
|
|
@ -18,8 +20,8 @@ let |
|
|
|
vc_intrinsics_src = fetchFromGitHub { |
|
|
|
vc_intrinsics_src = fetchFromGitHub { |
|
|
|
owner = "intel"; |
|
|
|
owner = "intel"; |
|
|
|
repo = "vc-intrinsics"; |
|
|
|
repo = "vc-intrinsics"; |
|
|
|
rev = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872"; |
|
|
|
rev = "v0.3.0"; |
|
|
|
sha256 = "Vg1mngwpIQ3Tik0GgRXPG22lE4sLEAEFch492G2aIXs="; |
|
|
|
sha256 = "sha256-1Rm4TCERTOcPGWJF+yNoKeB9x3jfqnh7Vlv+0Xpmjbk="; |
|
|
|
}; |
|
|
|
}; |
|
|
|
llvmPkgs = llvmPackages_11 // { |
|
|
|
llvmPkgs = llvmPackages_11 // { |
|
|
|
inherit spirv-llvm-translator; |
|
|
|
inherit spirv-llvm-translator; |
|
|
@ -31,18 +33,18 @@ in |
|
|
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
stdenv.mkDerivation rec { |
|
|
|
pname = "intel-graphics-compiler"; |
|
|
|
pname = "intel-graphics-compiler"; |
|
|
|
version = "1.0.8744"; |
|
|
|
version = "1.0.11061"; |
|
|
|
|
|
|
|
|
|
|
|
src = fetchFromGitHub { |
|
|
|
src = fetchFromGitHub { |
|
|
|
owner = "intel"; |
|
|
|
owner = "intel"; |
|
|
|
repo = "intel-graphics-compiler"; |
|
|
|
repo = "intel-graphics-compiler"; |
|
|
|
rev = "igc-${version}"; |
|
|
|
rev = "igc-${version}"; |
|
|
|
sha256 = "G5+dYD8uZDPkRyn1sgXsRngdq4NJndiCJCYTRXyUgTA="; |
|
|
|
sha256 = "sha256-qS/+GTqHtp3T6ggPKrCDsrTb7XvVOUaNbMzGU51jTu4="; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ clang cmake bison flex python3 ]; |
|
|
|
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; |
|
|
|
strictDeps = true; |
|
|
|
|
|
|
|
|
|
|
@ -52,6 +54,21 @@ stdenv.mkDerivation rec { |
|
|
|
# https://github.com/intel/intel-graphics-compiler/issues/98 |
|
|
|
# https://github.com/intel/intel-graphics-compiler/issues/98 |
|
|
|
doCheck = false; |
|
|
|
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 |
|
|
|
# Handholding the braindead build script |
|
|
|
# cmake requires an absolute path |
|
|
|
# cmake requires an absolute path |
|
|
|
prebuilds = runCommandLocal "igc-cclang-prebuilds" { } '' |
|
|
|
prebuilds = runCommandLocal "igc-cclang-prebuilds" { } '' |
|
|
@ -64,7 +81,9 @@ stdenv.mkDerivation rec { |
|
|
|
''; |
|
|
|
''; |
|
|
|
|
|
|
|
|
|
|
|
cmakeFlags = [ |
|
|
|
cmakeFlags = [ |
|
|
|
|
|
|
|
"-Wno-dev" |
|
|
|
"-DVC_INTRINSICS_SRC=${vc_intrinsics_src}" |
|
|
|
"-DVC_INTRINSICS_SRC=${vc_intrinsics_src}" |
|
|
|
|
|
|
|
"-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds" |
|
|
|
"-DINSTALL_SPIRVDLL=0" |
|
|
|
"-DINSTALL_SPIRVDLL=0" |
|
|
|
"-DCCLANG_BUILD_PREBUILDS=ON" |
|
|
|
"-DCCLANG_BUILD_PREBUILDS=ON" |
|
|
|
"-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}" |
|
|
|
"-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}" |
|
|
|