8
8
merge_group :
9
9
10
10
env :
11
+ #
12
+ # Dependency versioning
13
+ #
14
+
15
+ # Sourced from https://vulkan.lunarg.com/sdk/home#linux
16
+ VULKAN_SDK_VERSION : " 1.3.268"
17
+ # Sourced from https://www.nuget.org/packages/Microsoft.Direct3D.WARP
18
+ WARP_VERSION : " 1.0.8"
19
+
20
+ # Sourced from https://github.com/microsoft/DirectXShaderCompiler/releases
21
+ #
22
+ # Must also be changed in shaders.yaml
23
+ DXC_RELEASE : " v1.7.2308"
24
+ DXC_FILENAME : " dxc_2023_08_14.zip"
25
+
26
+ # Sourced from https://archive.mesa3d.org/. Bumping this requires
27
+ # updating the mesa build in https://github.com/gfx-rs/ci-build and creating a new release.
11
28
MESA_VERSION : " 23.3.1"
29
+ # Corresponds to https://github.com/gfx-rs/ci-build/releases
12
30
CI_BINARY_BUILD : " build18"
13
31
14
- CARGO_INCREMENTAL : false
15
- CARGO_TERM_COLOR : always
16
- WGPU_DX12_COMPILER : dxc
17
- RUST_LOG : info
18
- RUST_BACKTRACE : full
19
32
# This is the MSRV used by `wgpu` itself and all surrounding infrastructure.
20
33
REPO_MSRV : " 1.71"
21
34
# This is the MSRV used by the `wgpu-core`, `wgpu-hal`, and `wgpu-types` crates,
22
35
# to ensure that they can be used with firefox.
23
36
CORE_MSRV : " 1.65"
37
+
38
+ #
39
+ # Environment variables
40
+ #
41
+
42
+ CARGO_INCREMENTAL : false
43
+ CARGO_TERM_COLOR : always
44
+ WGPU_DX12_COMPILER : dxc
45
+ RUST_LOG : info
46
+ RUST_BACKTRACE : full
24
47
PKG_CONFIG_ALLOW_CROSS : 1 # allow android to work
25
48
RUSTFLAGS : --cfg=web_sys_unstable_apis -D warnings
26
49
RUSTDOCFLAGS : -Dwarnings
@@ -365,15 +388,26 @@ jobs:
365
388
366
389
- name : (windows) install dxc
367
390
if : matrix.os == 'windows-2022'
368
-
391
+ shell : bash
392
+ run : |
393
+ set -e
394
+
395
+ curl.exe -L --retry 5 https://github.com/microsoft/DirectXShaderCompiler/releases/download/$DXC_RELEASE/$DXC_FILENAME -o dxc.zip
396
+ 7z.exe e dxc.zip -odxc bin/x64/{dxc.exe,dxcompiler.dll,dxil.dll}
397
+
398
+ # We need to use cygpath to convert PWD to a windows path as we're using bash.
399
+ cygpath --windows "$PWD/dxc" >> "$GITHUB_PATH"
369
400
370
401
- name : (windows) install warp
371
402
if : matrix.os == 'windows-2022'
372
403
shell : bash
373
404
run : |
374
405
set -e
375
406
376
- curl.exe -L https://www.nuget.org/api/v2/package/Microsoft.Direct3D.WARP/1.0.7.1 -o warp.zip
407
+ # Make sure dxc is in path.
408
+ dxc --version
409
+
410
+ curl.exe -L --retry 5 https://www.nuget.org/api/v2/package/Microsoft.Direct3D.WARP/$WARP_VERSION -o warp.zip
377
411
7z.exe e warp.zip -owarp build/native/amd64/d3d10warp.dll
378
412
379
413
mkdir -p target/llvm-cov-target/debug/deps
@@ -393,7 +427,8 @@ jobs:
393
427
cp -v mesa/* target/llvm-cov-target/debug/
394
428
cp -v mesa/* target/llvm-cov-target/debug/deps
395
429
396
- echo "VK_DRIVER_FILES=$PWD/mesa/lvp_icd.x86_64.json" >> "$GITHUB_ENV"
430
+ # We need to use cygpath to convert PWD to a windows path as we're using bash.
431
+ echo "VK_DRIVER_FILES=`cygpath --windows $PWD/mesa/lvp_icd.x86_64.json`" >> "$GITHUB_ENV"
397
432
echo "GALLIUM_DRIVER=llvmpipe" >> "$GITHUB_ENV"
398
433
399
434
- name : (linux) install vulkan sdk
@@ -406,7 +441,7 @@ jobs:
406
441
407
442
# vulkan sdk
408
443
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
409
- sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
444
+ sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-$VULKAN_SDK_VERSION- jammy.list https://packages.lunarg.com/vulkan/$VULKAN_SDK_VERSION/ lunarg-vulkan-$VULKAN_SDK_VERSION -jammy.list
410
445
411
446
sudo apt-get update
412
447
sudo apt install -y vulkan-sdk
@@ -421,6 +456,9 @@ jobs:
421
456
mkdir mesa
422
457
tar xpf mesa.tar.xz -C mesa
423
458
459
+ # The ICD provided by the mesa build is hardcoded to the build environment.
460
+ #
461
+ # We write out our own ICD file to point to the mesa vulkan
424
462
cat <<- EOF > icd.json
425
463
{
426
464
"ICD": {
0 commit comments