diff --git a/.gitea/workflows/Build.yml b/.gitea/workflows/DocsAndIR.yml
similarity index 58%
rename from .gitea/workflows/Build.yml
rename to .gitea/workflows/DocsAndIR.yml
index 1521a76..7c3686a 100644
--- a/.gitea/workflows/Build.yml
+++ b/.gitea/workflows/DocsAndIR.yml
@@ -1,4 +1,4 @@
-name: Build
+name: Docs and IR
on:
push:
@@ -18,40 +18,6 @@ jobs:
- uses: https://codeberg.org/mlugg/setup-zig@v2
- - name: Install MPSS
- run: |
- set -euxo pipefail
-
- apt update
- apt install -y unzip curl
-
- MPSS_URL="https://drive.kbz8.me/dav/public-files/KSKeiOKxnFPyfws/mpss.zip"
- MPSS_ZIP="/tmp/mpss.zip"
- MPSS_BIN="/opt/mpss/3.8.6/sysroots/k1om-mpss-linux/bin"
-
- curl --fail --location --show-error --progress-bar "$MPSS_URL" -o "$MPSS_ZIP"
-
- size="$(stat -c%s "$MPSS_ZIP")"
- test "$size" -gt 300000000
-
- unzip -t "$MPSS_ZIP" >/dev/null
-
- rm -rf /opt/mpss
- unzip -q "$MPSS_ZIP" -d /opt
- chmod -R a+rX /opt/mpss
-
- test -d "$MPSS_BIN"
-
- # Append as fallback for following CI steps.
- echo "PATH=$PATH:$MPSS_BIN" >> "$GITHUB_ENV"
-
- echo "MPSS installed."
-
- - name: Check MPSS PATH
- run: |
- echo "$PATH"
- ls -la /opt/mpss/3.8.6/sysroots/k1om-mpss-linux/bin | head -50
-
- name: Check formatting
run: zig fmt --check src/
@@ -60,17 +26,8 @@ jobs:
curl -fsSL https://raw.githubusercontent.com/DonIsaac/zlint/refs/heads/main/tasks/install.sh | bash
zlint --deny-warnings
- - name: Building Ape
- run: zig build ape --release=safe
-
- - name: Building Soft
- run: zig build soft --release=safe
-
- - name: Building Flint
- run: zig build flint --release=safe
-
- - name: Building Phi
- run: zig build phi --release=safe
+ - name: Testing IR
+ run: zig build test-ir
- name: Generating docs
run: zig build docs
diff --git a/.gitea/workflows/Flint.yml b/.gitea/workflows/Flint.yml
new file mode 100644
index 0000000..9d9b8d7
--- /dev/null
+++ b/.gitea/workflows/Flint.yml
@@ -0,0 +1,34 @@
+name: Build and Test
+
+on:
+ push:
+ branches: ["master"]
+ pull_request:
+ branches: ["master"]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ if: ${{ github.event_name != 'push' || !contains(github.event.head_commit.message, 'ci skip') }}
+
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - uses: https://codeberg.org/mlugg/setup-zig@v2
+
+ - name: Building [debug]
+ run: zig build flint
+
+ - name: Building [release=fast]
+ run: zig build flint --release=fast
+
+ - name: Building [release=safe]
+ run: zig build flint --release=safe
+
+ - name: Building [release=small]
+ run: zig build flint --release=small
+
+ - name: Testing
+ run: zig build test-flint
diff --git a/.gitea/workflows/Test.yml b/.gitea/workflows/Phi.yml
similarity index 65%
rename from .gitea/workflows/Test.yml
rename to .gitea/workflows/Phi.yml
index 3ac1201..1433fe1 100644
--- a/.gitea/workflows/Test.yml
+++ b/.gitea/workflows/Phi.yml
@@ -1,4 +1,4 @@
-name: Test
+name: Build and Test
on:
push:
@@ -7,12 +7,15 @@ on:
branches: ["master"]
jobs:
- build_and_test:
+ build:
runs-on: ubuntu-latest
- if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'test skip')"
+ if: ${{ github.event_name != 'push' || !contains(github.event.head_commit.message, 'ci skip') }}
steps:
- uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
- uses: https://codeberg.org/mlugg/setup-zig@v2
- name: Install MPSS
@@ -49,20 +52,14 @@ jobs:
echo "$PATH"
ls -la /opt/mpss/3.8.6/sysroots/k1om-mpss-linux/bin | head -50
- - name: Installing dependencies
- run: apt update && apt install spirv-tools
+ - name: Building [release=fast]
+ run: zig build phi --release=fast
- - name: Ape Tests
- run: zig build test-ape --release=safe
+ - name: Building [release=safe]
+ run: zig build phi --release=safe
- - name: Soft Tests
- run: zig build test-soft --release=safe
+ - name: Building [release=small]
+ run: zig build phi --release=small
- - name: Flint Tests
- run: zig build test-flint --release=safe
-
- - name: Phi Tests
- run: zig build test-phi --release=safe
-
- - name: IR Tests
- run: zig build test-ir --release=safe
+ - name: Testing
+ run: zig build test-phi --release=fast
diff --git a/.gitea/workflows/Soft.yml b/.gitea/workflows/Soft.yml
new file mode 100644
index 0000000..bfc1fc8
--- /dev/null
+++ b/.gitea/workflows/Soft.yml
@@ -0,0 +1,34 @@
+name: Build and Test
+
+on:
+ push:
+ branches: ["master"]
+ pull_request:
+ branches: ["master"]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ if: ${{ github.event_name != 'push' || !contains(github.event.head_commit.message, 'ci skip') }}
+
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - uses: https://codeberg.org/mlugg/setup-zig@v2
+
+ - name: Building [debug]
+ run: zig build soft
+
+ - name: Building [release=fast]
+ run: zig build soft --release=fast
+
+ - name: Building [release=safe]
+ run: zig build soft --release=safe
+
+ - name: Building [release=small]
+ run: zig build soft --release=small
+
+ - name: Testing
+ run: zig build test-soft
diff --git a/README.md b/README.md
index e09902d..ebaa0a7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Ape Vulkan ICD
+# Ape Vulkan ICD
@@ -14,7 +14,7 @@ To understand Vulkan - not as a humble API mere mortals call upon, but as a laby
It does not seek to produce a performant or production-worthy driver. \
_The gods are merciful, but not that merciful._
-## Soft [software]
+## Soft [software]
Soft be a software implementation of the Vulkan specification, abiding within this driver's own codebase.\
It maketh use of a bespoke [SPIR-V interpreter](https://git.kbz8.me/kbz_8/SPIRV-Interpreter) and renderer, by whose workings its labours are carried forth.
@@ -222,7 +222,7 @@ Assume thou that functions lacking in this array are, for now, not intended to b
[Here](https://vulkan-driver.kbz8.me/cts/soft/) shalt thou find a most meticulous account of the Vulkan 1.0 conformance trials, set forth for thy scrutiny.
-## Phi [Xeon Phi KNC]
+## Phi [Xeon Phi KNC]
Phi be an implementation of the Vulkan specification, wrought for the Xeon Phi Knights Corner cards.
Whether the Knights Landing cards shall one day receive the same providence remaineth to be seen.
@@ -429,7 +429,7 @@ Assume thou that functions lacking in this array are, for now, not intended to b
[The present reckoning](https://vulkan-driver.kbz8.me/cts/phi/) of thy Vulkan 1.0 implementation standeth thus.
-## Flint [Intel]
+## Flint [Intel]
Flint be an implementation of the Vulkan specification, fashioned for the elder Intel iGPUs of generations 9 through 11.
Whether Haswell and those that followed-even the Xe kindred-shall one day partake of its workings remaineth unwritten.