Skip to content

ANGLE, SwiftShader, and Vulkan Loader prebuilts #746

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 62 commits into from
Mar 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
c1f4d30
This pipeline _will_ fail, but want to see how far it will get
Perksey Jan 3, 2022
979c864
Update build.sh
HurricanKai Jan 4, 2022
f1added
Remove workflow autogeneration, revert build script changes
Perksey Jan 4, 2022
075ae45
Merge remote-tracking branch 'origin/feature/angle-swiftshader-prebui…
Perksey Jan 4, 2022
6464b4e
Fix pipeline
Perksey Jan 4, 2022
d1a082f
Move temp folder
Perksey Jan 4, 2022
a54aded
Recursive checkout
Perksey Jan 4, 2022
6308614
Recursive checkout except for one private Google submodule
Perksey Jan 4, 2022
ca5c4da
Update SwiftShader.yml
Perksey Jan 4, 2022
a283ebb
Ensure we checkout a branch maybe?
Perksey Jan 4, 2022
636e998
Use checkout v2
Perksey Jan 4, 2022
cf72278
Install xcb
Perksey Jan 4, 2022
d5343d2
Sudo install xcb
Perksey Jan 4, 2022
cd3c88d
Setup .NET 6
Perksey Jan 4, 2022
b3caf99
Checkout with the right token
Perksey Jan 4, 2022
93dc234
Don't do a parallelised run in CI - slaughters the runner
Perksey Jan 4, 2022
9c584cc
Update SwiftShader.yml
Perksey Jan 4, 2022
f9afd2a
Add ANGLE
Perksey Jan 4, 2022
76587a8
WHY
Perksey Jan 5, 2022
2bf8e84
Make the damned thing executable
Perksey Jan 5, 2022
5f81be9
No idea why we need PHP for Apache installed to build ANGLE but why not
Perksey Jan 5, 2022
5c81491
Run as sudo for good measure
Perksey Jan 5, 2022
267db17
Attempt to diagnose janky apt setup
Perksey Jan 5, 2022
5e64696
Wtf is going on
Perksey Jan 5, 2022
412df60
Use -X theirs instead of -s theirs which doesn't exist
Perksey Jan 5, 2022
055f028
Ensure we're not affected by other [NUKE] changes harder
Perksey Jan 5, 2022
9992d3f
Update ANGLE binaries (#749)
silkdotnet Jan 5, 2022
5a5a533
You are the bane of my existence.
Perksey Jan 5, 2022
9f29700
Merge remote-tracking branch 'origin/feature/angle-swiftshader-prebui…
Perksey Jan 5, 2022
0585360
Allow overwrites
Perksey Jan 6, 2022
9fb7fb2
Add Vulkan loader
Perksey Jan 6, 2022
54e1bda
Add a workflow for Vulkan Loader
Perksey Jan 6, 2022
9d70acd
cont'd
Perksey Jan 6, 2022
5a154a8
I'm stupid
Perksey Jan 6, 2022
58b704c
Install Wayland
Perksey Jan 6, 2022
41be2d6
Install X11
Perksey Jan 6, 2022
cfb56c1
Pull... fkn race conditions man!
Perksey Jan 6, 2022
419e27a
Update gitignore for good measure
Perksey Jan 6, 2022
8a46fdb
Install different packages?
Perksey Jan 6, 2022
85bd7e8
Glob the correct files, stop wasting Actions minutes unnecessarily
Perksey Jan 6, 2022
79f432f
Update Vulkan Loader binaries (#763)
silkdotnet Jan 6, 2022
6d739ee
No fail fast for SwiftShader
Perksey Jan 6, 2022
b75ebfb
No fail fast for ANGLE
Perksey Jan 6, 2022
345b254
No fail fast for Vulkan Loader
Perksey Jan 6, 2022
f7ffd47
Remove workflow file in push paths on Vulkan Loader
Perksey Jan 6, 2022
46577cd
Remove workflow file in push paths on SwiftShader
Perksey Jan 6, 2022
ff07b7b
Remove workflow file in push paths on ANGLE
Perksey Jan 6, 2022
c8b9468
New binaries for Vulkan Loader on Microsoft Windows 10.0.17763 (#764)
silkdotnet Jan 6, 2022
0f127c6
Update SwiftShader binaries (#747)
silkdotnet Jan 6, 2022
dd5e324
Add packages for the new binaries
Perksey Jan 6, 2022
855ca59
Adjust glob, let's figure out where it's actually putting these files...
Perksey Jan 6, 2022
0c7a9eb
Actually glob the right paths
Perksey Jan 6, 2022
9351498
cont'd
Perksey Jan 6, 2022
d404b80
cont'd 2
Perksey Jan 6, 2022
4298a05
Update Vulkan Loader binaries (#765)
silkdotnet Jan 6, 2022
cc56d01
Update SwiftShader binaries (#766)
silkdotnet Jan 7, 2022
822acff
Pull main
Perksey Mar 5, 2022
f6993da
Fix CI Build
Perksey Mar 6, 2022
5eb27b8
Update Vulkan Loader binaries (#825)
silkdotnet Mar 6, 2022
2ffc7bb
New binaries for ANGLE on Darwin 20.6.0 Darwin Kernel Version 20.6.0:…
silkdotnet Mar 6, 2022
8df41df
Update SwiftShader binaries (#826)
silkdotnet Mar 6, 2022
708f018
Fix CI build harder
Perksey Mar 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/SwiftShader.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: SwiftShader
on:
push:
paths:
- build/submodules/SwiftShader
- build/nuke/Build.Native.cs
branches-ignore:
- "ci/*"
- "develop/*"
- "main"
jobs:
Build:
strategy:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get install -y libx11-xcb-dev
- os: windows-latest
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- os: macos-latest
name: Darwin
nuke_invoke: ./build.sh
extras: ""
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
- name: Checkout submodules, configure git
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
git config --local user.name "The Silk.NET Automaton"
- name: Extra prerequisites
run: |
echo running extras
${{ matrix.env.extras }}
- name: Cache .tmp, ~/.nuget/packages
uses: actions/cache@v2
with:
path: |
.tmp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
- name: Setup .NET 6.0
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100
- name: Build SwiftShader
run: ${{ matrix.env.nuke_invoke }} SwiftShader
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
60 changes: 60 additions & 0 deletions .github/workflows/angle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: ANGLE
on:
push:
paths:
- build/submodules/ANGLE
- build/nuke/Build.Native.cs
branches-ignore:
- "ci/*"
- "develop/*"
- "main"
jobs:
Build:
strategy:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get remove php7.4-common
sudo apt-get install -y libx11-xcb-dev libapache2-mod-php7.4
- os: windows-latest
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- os: macos-latest
name: Darwin
nuke_invoke: ./build.sh
extras: ""
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
- name: Checkout submodules, configure git
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
git config --local user.name "The Silk.NET Automaton"
- name: Extra prerequisites
run: |
echo running extras
${{ matrix.env.extras }}
- name: Cache .tmp, ~/.nuget/packages
uses: actions/cache@v2
with:
path: |
.tmp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
- name: Setup .NET 6.0
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100
- name: Build ANGLE
run: ${{ matrix.env.nuke_invoke }} Angle
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
59 changes: 59 additions & 0 deletions .github/workflows/vulkan-loader.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Vulkan Loader
on:
push:
paths:
- build/submodules/Vulkan-Loader
- build/nuke/Build.Native.cs
branches-ignore:
- "ci/*"
- "develop/*"
- "main"
jobs:
Build:
strategy:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get install -y build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev
- os: windows-latest
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- os: macos-latest
name: Darwin
nuke_invoke: ./build.sh
extras: ""
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
- name: Checkout submodules, configure git
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
git config --local user.name "The Silk.NET Automaton"
- name: Extra prerequisites
run: |
echo running extras
${{ matrix.env.extras }}
- name: Cache .tmp, ~/.nuget/packages
uses: actions/cache@v2
with:
path: |
.tmp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
- name: Setup .NET 6.0
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100
- name: Build Vulkan Loader
run: ${{ matrix.env.nuke_invoke }} VulkanLoader
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@
[submodule "build/submodules/Vulkan-Headers"]
path = build/submodules/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers
[submodule "build/submodules/SwiftShader"]
path = build/submodules/SwiftShader
url = https://github.com/google/swiftshader
[submodule "build/submodules/ANGLE"]
path = build/submodules/ANGLE
url = https://chromium.googlesource.com/angle/angle
[submodule "build/submodules/Vulkan-Loader"]
path = build/submodules/Vulkan-Loader
url = https://github.com/KhronosGroup/Vulkan-Loader
[submodule "build/submodules/GLFW"]
path = build/submodules/GLFW
url = https://github.com/glfw/glfw.git
1 change: 0 additions & 1 deletion .nuke

This file was deleted.

185 changes: 185 additions & 0 deletions .nuke/build.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Build Schema",
"$ref": "#/definitions/build",
"definitions": {
"build": {
"type": "object",
"properties": {
"Configuration": {
"type": "string",
"description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)"
},
"Continue": {
"type": "boolean",
"description": "Indicates to continue a previously failed build attempt"
},
"Help": {
"type": "boolean",
"description": "Shows the help text for this build assembly"
},
"Host": {
"type": "string",
"description": "Host for execution. Default is 'automatic'",
"enum": [
"AppVeyor",
"AzurePipelines",
"Bamboo",
"Bitrise",
"GitHubActions",
"GitLab",
"Jenkins",
"Rider",
"SpaceAutomation",
"TeamCity",
"Terminal",
"TravisCI",
"VisualStudio",
"VSCode"
]
},
"MsbuildProperties": {
"type": "array",
"description": "Extra properties passed to MSBuild commands",
"items": {
"type": "string"
}
},
"Native": {
"type": "boolean",
"description": "Build native code"
},
"NoLogo": {
"type": "boolean",
"description": "Disables displaying the NUKE logo"
},
"NugetApiKey": {
"type": "string",
"description": "The API key used to push packages and symbols packages to NuGet"
},
"NugetFeed": {
"type": "string",
"description": "NuGet feed"
},
"NugetNoServiceEndpoint": {
"type": "boolean",
"description": "NuGet -NoServiceEndpoint"
},
"NugetPassword": {
"type": "string",
"description": "NuGet password"
},
"NugetUsername": {
"type": "string",
"description": "NuGet username"
},
"OriginalSolution": {
"type": "string",
"description": "Path to a solution file that is automatically loaded"
},
"Partition": {
"type": "string",
"description": "Partition to use on CI"
},
"Plan": {
"type": "boolean",
"description": "Shows the execution plan (HTML)"
},
"Profile": {
"type": "array",
"description": "Defines the profiles to load",
"items": {
"type": "string"
}
},
"Projects": {
"type": "array",
"description": "If specified, generates a solution including only the specified projects or group of projects. You can provide individual project names or the name of the folder in which they're contained e.g. \"--projects opengl examples/csharp vulkan microsoft core.win32extras silk.net.opencl\". The Silk.NET prefix for individual projects is optional, but folder names will be preferred over project names so if you only want \"Silk.NET.Vulkan\" and not everything in \"src/Vulkan\", use \"--projects silk.net.vulkan\". The solution include project dependencies. The solution will be regenerated whenever you run a NUKE build with this specified, but if you don't want to run a build just use \"nuke sln --projects ...\" to run a dummy target",
"items": {
"type": "string"
}
},
"Root": {
"type": "string",
"description": "Root directory during build execution"
},
"SignPassword": {
"type": "string",
"description": "Code-signing service password"
},
"SignUsername": {
"type": "string",
"description": "Code-signing service username"
},
"Skip": {
"type": "array",
"description": "List of targets to be skipped. Empty list skips all dependencies",
"items": {
"type": "string",
"enum": [
"Angle",
"BuildLibSilkDroid",
"Clean",
"Compile",
"FullCompile",
"FullPack",
"FullPushToNuGet",
"Pack",
"Prerequisites",
"PushToNuGet",
"RegenerateBindings",
"Restore",
"SignPackages",
"Sln",
"SwiftShader",
"Test",
"ValidateSolution",
"VulkanLoader"
]
}
},
"Sln": {
"type": "boolean",
"description": "If specified, when using the clean target removes the generated solution and stops"
},
"Target": {
"type": "array",
"description": "List of targets to be invoked. Default is '{default_target}'",
"items": {
"type": "string",
"enum": [
"Angle",
"BuildLibSilkDroid",
"Clean",
"Compile",
"FullCompile",
"FullPack",
"FullPushToNuGet",
"Pack",
"Prerequisites",
"PushToNuGet",
"RegenerateBindings",
"Restore",
"SignPackages",
"Sln",
"SwiftShader",
"Test",
"ValidateSolution",
"VulkanLoader"
]
}
},
"Verbosity": {
"type": "string",
"description": "Logging verbosity during build execution. Default is 'Normal'",
"enum": [
"Minimal",
"Normal",
"Quiet",
"Verbose"
]
}
}
}
}
}
4 changes: 4 additions & 0 deletions .nuke/parameters.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "./build.schema.json",
"OriginalSolution": "Silk.NET.sln"
}
Loading