Skip to content

Commit 1c59ebe

Browse files
authored
First class DXVK support (#1201)
1 parent 4ed5159 commit 1c59ebe

File tree

81 files changed

+1588
-43
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1588
-43
lines changed

.github/workflows/SwiftShader.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
3737
- name: Checkout submodules, configure git
3838
run: |
39-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
39+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0
4040
git config --local user.email "[email protected]"
4141
git config --local user.name "The Silk.NET Automaton"
4242
- name: Extra prerequisites
@@ -50,10 +50,12 @@ jobs:
5050
.tmp
5151
~/.nuget/packages
5252
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
53-
- name: Setup .NET 6.0
53+
- name: Setup .NET 6.0 and .NET 7.0
5454
uses: actions/setup-dotnet@v1
5555
with:
56-
dotnet-version: 6.0.201
56+
dotnet-version: |
57+
6.0.201
58+
7.0.*
5759
- name: Build SwiftShader
5860
run: ${{ matrix.env.nuke_invoke }} SwiftShader
5961
env:

.github/workflows/angle.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
3939
- name: Checkout submodules, configure git
4040
run: |
41-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
41+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0
4242
git config --local user.email "[email protected]"
4343
git config --local user.name "The Silk.NET Automaton"
4444
- name: Extra prerequisites
@@ -52,10 +52,12 @@ jobs:
5252
.tmp
5353
~/.nuget/packages
5454
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
55-
- name: Setup .NET 6.0
55+
- name: Setup .NET 6.0 and .NET 7.0
5656
uses: actions/setup-dotnet@v1
5757
with:
58-
dotnet-version: 6.0.201
58+
dotnet-version: |
59+
6.0.201
60+
7.0.*
5961
- name: Build ANGLE
6062
run: ${{ matrix.env.nuke_invoke }} Angle
6163
env:

.github/workflows/assimp.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,19 @@ jobs:
3636
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
3737
- name: Checkout submodules, configure git.
3838
run: |
39-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
39+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0
4040
git config --local user.email "[email protected]"
4141
git config --local user.name "The Silk.NET Automaton"
4242
- name: Extra prerequisites
4343
run: |
4444
echo running extras
4545
${{ matrix.env.extras }}
46-
- name: Setup .NET 6.0
46+
- name: Setup .NET 6.0 and .NET 7.0
4747
uses: actions/setup-dotnet@v1
4848
with:
49-
dotnet-version: 6.0.201
49+
dotnet-version: |
50+
6.0.201
51+
7.0.*
5052
- name: Build Assimp
5153
run: ${{ matrix.env.nuke_invoke }} assimp
5254
env:

.github/workflows/dxvk.yml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: DXVK
2+
on:
3+
push:
4+
paths:
5+
- build/submodules/dxvk
6+
- build/nuke/Build.Native.cs
7+
- .github/workflows/dxvk.yml
8+
branches-ignore:
9+
- "ci/*"
10+
- "develop/*"
11+
- "main"
12+
jobs:
13+
Build:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
env:
18+
- os: ubuntu-latest
19+
name: Linux
20+
nuke_invoke: ./build.sh
21+
extras: |
22+
sudo apt-get update
23+
sudo apt-get install -y python3 python3-pip python3-setuptools python3-wheel ninja-build mingw-w64 glslang-dev glslang-tools
24+
pip3 install meson
25+
name: ${{ matrix.env.name }} Build
26+
runs-on: ${{ matrix.env.os }}
27+
steps:
28+
- uses: actions/checkout@v2
29+
with:
30+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
31+
- name: Checkout submodules, configure git
32+
run: |
33+
git submodule update --init --recursive --depth 0 build/submodules/dxvk
34+
git config --local user.email "[email protected]"
35+
git config --local user.name "The Silk.NET Automaton"
36+
- name: Extra prerequisites
37+
run: |
38+
echo running extras
39+
${{ matrix.env.extras }}
40+
- name: Cache .tmp, ~/.nuget/packages
41+
uses: actions/cache@v2
42+
with:
43+
path: |
44+
.tmp
45+
~/.nuget/packages
46+
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
47+
- name: Build DXVK
48+
uses: Joshua-Ashton/arch-mingw-github-action@12cb3126180924c3be54025b08f42e4e14da080b
49+
with:
50+
command: |
51+
pacman -Syu --needed --noconfirm dotnet-host dotnet-runtime dotnet-runtime-6.0 dotnet-sdk dotnet-sdk-6.0 dotnet-targeting-pack dotnet-targeting-pack-6.0 sdl2 lib32-sdl2
52+
53+
${{ matrix.env.nuke_invoke }} Dxvk
54+
env:
55+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

.github/workflows/glfw.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,19 @@ jobs:
3636
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
3737
- name: Checkout submodules, configure git
3838
run: |
39-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
39+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0
4040
git config --local user.email "[email protected]"
4141
git config --local user.name "The Silk.NET Automaton"
4242
- name: Extra prerequisites
4343
run: |
4444
echo running extras
4545
${{ matrix.env.extras }}
46-
- name: Setup .NET 6.0
46+
- name: Setup .NET 6.0 and .NET 7.0
4747
uses: actions/setup-dotnet@v1
4848
with:
49-
dotnet-version: 6.0.201
49+
dotnet-version: |
50+
6.0.201
51+
7.0.*
5052
- name: Build GLFW
5153
run: ${{ matrix.env.nuke_invoke }} glfw
5254
env:

.github/workflows/vkd3d.yml

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Vkd3d
2+
on:
3+
push:
4+
branches-ignore:
5+
- "ci/*"
6+
- "develop/*"
7+
- "main"
8+
paths:
9+
- "build/submodules/vkd3d"
10+
- "build/submodules/vkd3d-no-ms-abi.patch"
11+
- "build/nuke/Build.Native.cs"
12+
- ".github/workflows/vkd3d.yml"
13+
- "src/Microsoft/Vkd3dCompiler/*"
14+
jobs:
15+
Build:
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
env:
20+
- os: ubuntu-latest
21+
name: Linux
22+
nuke_invoke: ./build.sh
23+
extras: |
24+
sudo apt-get update
25+
sudo apt-get install -y xorg-dev libvulkan-dev spirv-headers wine64-development-tools cmake build-essential
26+
27+
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/spirv-tools/spirv-tools_2020.1-2_amd64.deb
28+
sudo apt install ./spirv-tools_2020.1-2_amd64.deb
29+
name: ${{ matrix.env.name }} Build
30+
runs-on: ${{ matrix.env.os }}
31+
steps:
32+
- uses: actions/checkout@v2
33+
with:
34+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
35+
- name: Checkout submodules, configure git
36+
run: |
37+
git submodule update --init --recursive --depth 0 build/submodules/vkd3d
38+
git submodule update --init --recursive --depth 0 build/submodules/SPIRV-Tools
39+
git config --local user.email "[email protected]"
40+
git config --local user.name "The Silk.NET Automaton"
41+
- name: Extra prerequisites
42+
run: |
43+
echo running extras
44+
${{ matrix.env.extras }}
45+
- name: Install Zig
46+
uses: goto-bus-stop/setup-zig@v2
47+
- name: Setup .NET 6.0 and .NET 7.0
48+
uses: actions/setup-dotnet@v1
49+
with:
50+
dotnet-version: |
51+
6.0.201
52+
7.0.*
53+
- name: Build vkd3d
54+
run: ${{ matrix.env.nuke_invoke }} Vkd3d
55+
env:
56+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
57+

.github/workflows/vulkan-loader.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
3737
- name: Checkout submodules, configure git
3838
run: |
39-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
39+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0
4040
git config --local user.email "[email protected]"
4141
git config --local user.name "The Silk.NET Automaton"
4242
- name: Extra prerequisites
@@ -50,10 +50,12 @@ jobs:
5050
.tmp
5151
~/.nuget/packages
5252
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
53-
- name: Setup .NET 6.0
53+
- name: Setup .NET 6.0 and .NET 7.0
5454
uses: actions/setup-dotnet@v1
5555
with:
56-
dotnet-version: 6.0.201
56+
dotnet-version: |
57+
6.0.201
58+
7.0.*
5759
- name: Build Vulkan Loader
5860
run: ${{ matrix.env.nuke_invoke }} VulkanLoader
5961
env:

.gitmodules

+9
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,12 @@
2828
[submodule "build/submodules/dawn"]
2929
path = build/submodules/dawn
3030
url = https://github.com/Beyley/dawn
31+
[submodule "build/submodules/dxvk"]
32+
path = build/submodules/dxvk
33+
url = https://github.com/doitsujin/dxvk/
34+
[submodule "build/submodules/vkd3d"]
35+
path = build/submodules/vkd3d
36+
url = https://github.com/Beyley/vkd3d
37+
[submodule "build/submodules/SPIRV-Tools"]
38+
path = build/submodules/SPIRV-Tools
39+
url = https://github.com/KhronosGroup/SPIRV-Tools

Silk.NET.sln

+29
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.DirectComposition"
562562
EndProject
563563
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.WebGPU.Native.WGPU", "src\Native\Silk.NET.WebGPU.Native.WGPU\Silk.NET.WebGPU.Native.WGPU.csproj", "{4031A5EB-820B-478D-A656-85C93210054E}"
564564
EndProject
565+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.DXVK.Native", "src\Native\Silk.NET.DXVK.Native\Silk.NET.DXVK.Native.csproj", "{79680317-F985-4727-81D3-8BF2228AEC20}"
566+
EndProject
567+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Vkd3d.Native", "src\Native\Silk.NET.Vkd3d.Native\Silk.NET.Vkd3d.Native.csproj", "{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}"
565568
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.DirectWrite", "src\Microsoft\Silk.NET.DirectWrite\Silk.NET.DirectWrite.csproj", "{EDEFAF88-EDD7-4D9C-B364-28B769672FB3}"
566569
EndProject
567570
Global
@@ -3405,6 +3408,30 @@ Global
34053408
{4031A5EB-820B-478D-A656-85C93210054E}.Release|x64.Build.0 = Release|Any CPU
34063409
{4031A5EB-820B-478D-A656-85C93210054E}.Release|x86.ActiveCfg = Release|Any CPU
34073410
{4031A5EB-820B-478D-A656-85C93210054E}.Release|x86.Build.0 = Release|Any CPU
3411+
{79680317-F985-4727-81D3-8BF2228AEC20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3412+
{79680317-F985-4727-81D3-8BF2228AEC20}.Debug|Any CPU.Build.0 = Debug|Any CPU
3413+
{79680317-F985-4727-81D3-8BF2228AEC20}.Debug|x64.ActiveCfg = Debug|Any CPU
3414+
{79680317-F985-4727-81D3-8BF2228AEC20}.Debug|x64.Build.0 = Debug|Any CPU
3415+
{79680317-F985-4727-81D3-8BF2228AEC20}.Debug|x86.ActiveCfg = Debug|Any CPU
3416+
{79680317-F985-4727-81D3-8BF2228AEC20}.Debug|x86.Build.0 = Debug|Any CPU
3417+
{79680317-F985-4727-81D3-8BF2228AEC20}.Release|Any CPU.ActiveCfg = Release|Any CPU
3418+
{79680317-F985-4727-81D3-8BF2228AEC20}.Release|Any CPU.Build.0 = Release|Any CPU
3419+
{79680317-F985-4727-81D3-8BF2228AEC20}.Release|x64.ActiveCfg = Release|Any CPU
3420+
{79680317-F985-4727-81D3-8BF2228AEC20}.Release|x64.Build.0 = Release|Any CPU
3421+
{79680317-F985-4727-81D3-8BF2228AEC20}.Release|x86.ActiveCfg = Release|Any CPU
3422+
{79680317-F985-4727-81D3-8BF2228AEC20}.Release|x86.Build.0 = Release|Any CPU
3423+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3424+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Debug|Any CPU.Build.0 = Debug|Any CPU
3425+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Debug|x64.ActiveCfg = Debug|Any CPU
3426+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Debug|x64.Build.0 = Debug|Any CPU
3427+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Debug|x86.ActiveCfg = Debug|Any CPU
3428+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Debug|x86.Build.0 = Debug|Any CPU
3429+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Release|Any CPU.ActiveCfg = Release|Any CPU
3430+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Release|Any CPU.Build.0 = Release|Any CPU
3431+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Release|x64.ActiveCfg = Release|Any CPU
3432+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Release|x64.Build.0 = Release|Any CPU
3433+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Release|x86.ActiveCfg = Release|Any CPU
3434+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785}.Release|x86.Build.0 = Release|Any CPU
34083435
{EDEFAF88-EDD7-4D9C-B364-28B769672FB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
34093436
{EDEFAF88-EDD7-4D9C-B364-28B769672FB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
34103437
{EDEFAF88-EDD7-4D9C-B364-28B769672FB3}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -3690,6 +3717,8 @@ Global
36903717
{82626916-C5F3-46E7-B0EC-1D38191450C7} = {58FECE86-7530-4E6F-BA61-512BE44DEA83}
36913718
{8773396C-5EDF-498C-97D7-1D2728CB969B} = {F2CF5D32-4B41-425E-B229-8FFC48F88063}
36923719
{4031A5EB-820B-478D-A656-85C93210054E} = {72E7FA64-5B1E-477D-BD30-63B7F206B3C4}
3720+
{79680317-F985-4727-81D3-8BF2228AEC20} = {72E7FA64-5B1E-477D-BD30-63B7F206B3C4}
3721+
{5DB2BB47-77D3-4EB7-8037-64D88FDE4785} = {72E7FA64-5B1E-477D-BD30-63B7F206B3C4}
36933722
{EDEFAF88-EDD7-4D9C-B364-28B769672FB3} = {F2CF5D32-4B41-425E-B229-8FFC48F88063}
36943723
EndGlobalSection
36953724
GlobalSection(ExtensibilityGlobals) = postSolution

Silk.NET.sln.DotSettings

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<s:Boolean x:Key="/Default/UserDictionary/Words/=ctors/@EntryIndexedValue">True</s:Boolean>
2727
<s:Boolean x:Key="/Default/UserDictionary/Words/=Deadzone/@EntryIndexedValue">True</s:Boolean>
2828
<s:Boolean x:Key="/Default/UserDictionary/Words/=dotsettings/@EntryIndexedValue">True</s:Boolean>
29+
<s:Boolean x:Key="/Default/UserDictionary/Words/=DXVK/@EntryIndexedValue">True</s:Boolean>
2930
<s:Boolean x:Key="/Default/UserDictionary/Words/=EDID/@EntryIndexedValue">True</s:Boolean>
3031
<s:Boolean x:Key="/Default/UserDictionary/Words/=Entrypoint/@EntryIndexedValue">True</s:Boolean>
3132
<s:Boolean x:Key="/Default/UserDictionary/Words/=extnumber/@EntryIndexedValue">True</s:Boolean>

0 commit comments

Comments
 (0)