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.