Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
ba8c618
rename
attackgoat Feb 13, 2026
3bf4dea
Remove old version
attackgoat Feb 13, 2026
719df4c
switch glsl compilers
attackgoat Feb 13, 2026
44ffb31
Update basic info structs
attackgoat Feb 14, 2026
61e8874
read-only info
attackgoat Feb 14, 2026
07648e0
Remove shader code trait
attackgoat Feb 14, 2026
af8b5b3
Clean up Display and prelude
attackgoat Feb 15, 2026
58b2783
Remove associated function syntax
attackgoat Feb 15, 2026
d5fce49
Clean up instance/device init
attackgoat Feb 17, 2026
3cbd30f
Merge graph module into super
attackgoat Feb 18, 2026
37825a2
Clean up
attackgoat Feb 18, 2026
a401f60
Rename RenderGraph -> Graph and Pass -> Command
attackgoat Feb 19, 2026
346c359
clean-up
attackgoat Feb 19, 2026
b0fc941
clean-up
attackgoat Feb 20, 2026
6161162
Use inner-arc on device
attackgoat Feb 20, 2026
21d5b43
HOLD Use inner-arc on pipelines
attackgoat Feb 20, 2026
ace8a0f
Add inner-arc pattern to pipelines
attackgoat Feb 21, 2026
75ee32e
remove pluralized helper functions
attackgoat Feb 21, 2026
e114739
Bindings -> Nodes
attackgoat Feb 22, 2026
d284f03
Clean up node binding/unbinding
attackgoat Feb 22, 2026
0b003b7
Rename and refactor command ref and related
attackgoat Feb 25, 2026
3f514d4
clean-up
attackgoat Feb 25, 2026
33a3808
Resolver -> Queue
attackgoat Feb 25, 2026
a6ca7d4
Move Display to window crate and rename to Swapchain
attackgoat Feb 25, 2026
8cd18df
clean-up
attackgoat Feb 26, 2026
1a675b7
prep for refactor graphic pipeline command buffer attachment api
attackgoat Feb 26, 2026
2c44971
Refactor graphic pipeline command buffer attachment api
attackgoat Feb 27, 2026
cd35779
clean-up
attackgoat Feb 28, 2026
20f0c1e
Hide resource type
attackgoat Feb 28, 2026
6adbd46
Clean-up
attackgoat Mar 3, 2026
4506a7a
Clean-up
attackgoat Mar 3, 2026
bae481d
clean up bind traits
attackgoat Mar 4, 2026
c920ec0
Add book template
attackgoat Mar 4, 2026
1132e7d
test book
attackgoat Mar 4, 2026
b525091
test book
attackgoat Mar 4, 2026
c8f574c
contrib/ -> crates/
attackgoat Mar 4, 2026
19e83ca
book structure
attackgoat Mar 6, 2026
7dc2052
clean-up
attackgoat Mar 6, 2026
2a12e7f
Add more documentation
attackgoat Mar 8, 2026
a6c3786
dedicated image allocations
attackgoat Mar 9, 2026
6c01e55
update docs
attackgoat Mar 12, 2026
8e8ca2a
hot shader updates
attackgoat Mar 14, 2026
0b10a0a
clean-up
attackgoat Mar 14, 2026
a3aac1a
make repo into workspace
attackgoat Mar 18, 2026
5db3cf1
docs
attackgoat Mar 18, 2026
ca58d8c
Move Node trait
attackgoat Mar 19, 2026
8af9cff
Remove InnerResource type
attackgoat Mar 19, 2026
1effe98
Rename things
attackgoat Mar 19, 2026
1598418
make push const code common
attackgoat Mar 19, 2026
b565606
docs
attackgoat Mar 19, 2026
4dc79c9
docs
attackgoat Mar 19, 2026
f1a8f98
Improve hot example
attackgoat Mar 20, 2026
75d1def
fixes
attackgoat Mar 23, 2026
3935897
hot crate cleanup
attackgoat Mar 23, 2026
e7b7287
docs
attackgoat Mar 25, 2026
15adaf4
Descriptor enum -> struct
attackgoat Mar 25, 2026
02da8b9
make guide testable
attackgoat Mar 25, 2026
ea9bde3
Clean up api
attackgoat Mar 25, 2026
743fa29
update pak dependency
attackgoat Mar 25, 2026
62bdd99
Fix warning
attackgoat Mar 25, 2026
d59aeb7
docs
attackgoat Mar 26, 2026
266685c
update vr example
attackgoat Mar 26, 2026
ba51944
Fix swapchain issue
attackgoat Mar 26, 2026
794f23c
update mikktspace
attackgoat Mar 26, 2026
cbbe358
fix vulkan validation error
attackgoat Mar 26, 2026
417ade0
docs
attackgoat Mar 26, 2026
491c216
Merge branch 'main' into vk-graph
attackgoat Mar 27, 2026
3eadcf1
clean up
attackgoat Mar 27, 2026
3cd5891
clean up
attackgoat Apr 2, 2026
555b0d1
Rename alias -> cache
attackgoat May 18, 2026
1e3fb97
major clean up
attackgoat May 25, 2026
f386f70
CI fix
attackgoat May 26, 2026
bc45579
Fix CI
attackgoat May 26, 2026
c793b85
Fixes
attackgoat May 27, 2026
c6ea034
Fix instance-outlives-entry seg fault
attackgoat May 27, 2026
f7ad5fa
Fix examples
attackgoat May 29, 2026
239dcde
Fixes
attackgoat May 30, 2026
98e6089
Queue -> Submission
attackgoat May 30, 2026
0513849
Rename things
attackgoat May 30, 2026
a67cbc3
parking_lot is default now
attackgoat May 30, 2026
678ea0e
Fixes
attackgoat May 30, 2026
8e9daff
ci
attackgoat May 30, 2026
710c450
Merge prep
attackgoat May 30, 2026
1e6b6b4
renames
attackgoat May 30, 2026
c0d3b94
guide improvements
attackgoat May 30, 2026
1b6145d
fixes
attackgoat May 31, 2026
7e71ac5
clean-up
attackgoat May 31, 2026
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
48 changes: 48 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

jobs:
check:
runs-on: ubuntu-latest
timeout-minutes: 45
permissions:
contents: read

steps:
- uses: actions/checkout@v4

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
cache: false

- uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Install mdBook
run: cargo install --locked mdbook --version 0.5.3

- name: Run CI checks
run: bin/check --allow-dirty --no-gpu
64 changes: 64 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Deploy Book

on:
push:
branches:
- main
- vk-graph
paths-ignore:
- "bin/**"
- "examples/**"

concurrency:
group: docs-${{ github.ref }}
cancel-in-progress: true

jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 20
permissions:
contents: read
pages: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
cache: false

- uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Install mdBook
run: cargo install --locked mdbook --version 0.5.3

- name: Build Book
run: |
cd guide
mdbook build

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: guide/book

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
46 changes: 46 additions & 0 deletions .github/workflows/gpu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: GPU

on:
workflow_dispatch:

concurrency:
group: gpu-${{ github.ref }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

jobs:
gpu:
name: GPU smoke and full checks
runs-on: [self-hosted, linux, vulkan]
timeout-minutes: 45
permissions:
contents: read

steps:
- uses: actions/checkout@v4

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
cache: false

- uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Install mdBook
run: cargo install --locked mdbook --version 0.5.3

- name: Run full checks with GPU
run: bin/check --allow-dirty
58 changes: 35 additions & 23 deletions .github/workflows/rust-clippy.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,66 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# rust-clippy is a tool that runs a bunch of lints to catch common
# mistakes in your Rust code and help improve your Rust code.
# More details at https://github.com/rust-lang/rust-clippy
# and https://rust-lang.github.io/rust-clippy/

name: rust-clippy analyze
name: Clippy SARIF

on:
push:
branches: [ master ]
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches: [ main ]
schedule:
- cron: '24 22 * * 3'

concurrency:
group: clippy-${{ github.ref }}
cancel-in-progress: true

jobs:
rust-clippy-analyze:
name: Run rust-clippy analyzing
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af #@v1
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
override: true
cache: false

- name: Restore Rust cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Install required cargo
run: cargo install clippy-sarif sarif-fmt
run: |
cargo install --locked clippy-sarif --version 0.8.0
cargo install --locked sarif-fmt --version 0.8.0

- name: Run rust-clippy
run:
cargo clippy
--all-features
--message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
continue-on-error: true
shell: bash
run: |
set -o pipefail
cargo clippy --all-targets --workspace --no-default-features --features loaded --message-format=json \
| clippy-sarif \
| tee rust-clippy-results.sarif \
| sarif-fmt

- name: Upload analysis results to GitHub
uses: github/codeql-action/upload-sarif@v1
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: rust-clippy-results.sarif
wait-for-processing: true
25 changes: 0 additions & 25 deletions .github/workflows/rust.yml

This file was deleted.

5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
Cargo.lock
**/target/
**/.vscode/
!contrib/.vscode/
imgui.ini
libdxcompiler.so
**/*.pak
**/*.profraw
**/*.profraw
AGENTS.md
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to Screen 13
# Contributing to vk-graph

Thank you for taking the time to look over this document. You are encouraged to open issues, submit
PRs, suggest changes, or anything else you feel might move this project forward.
Expand All @@ -12,7 +12,7 @@ This section lists the absolute minimum requirements you must understand and pra
involved with this project. If you fail to uphold the spirit of these rules you will not have any
access to make changes within this project and you may be banned entirely.

## Licesnsing Requirements
## Licensing Requirements

All contributions, ideas, issues, or other efforts you expend on this project must be provided
using the existing MIT or Apache 2.0 license agreements applied to this project. This means that
Expand All @@ -24,12 +24,12 @@ retain no ownership or control after contribution.

All code must:

- Be modern Rust code (currently 2021 edition, latest stable compiler) _or_ GLSL.
- Be modern Rust code (currently 2024 edition, latest stable compiler) _or_ GLSL.
- Pass `cargo fmt` and `cargo clippy` (debug and release) with no warnings
- Support required platforms: Linux, Mac, Windows
- Use only `crates.io`-published crates

### Recommentations
### Recommendations

All code should:

Expand All @@ -54,8 +54,8 @@ needed.
## Release checklist

- Run `cargo update` to ensure you have the latest dependencies
- Double-check `cargo clippy --release` and `cargo fmt` _(use `contrib/rel-mgmt/check`)_
- Double-check all examples compile and run as intended _(use `contrib/rel-mgmt/run-all-examples`)_
- Double-check `cargo clippy --release` and `cargo fmt` _(use `bin/check`)_
- Double-check all examples compile and run as intended _(use `bin/run-all-examples`)_
- Double-check the above on all supported platforms
- Change log: Add a section for the new version
- Change log: Transfer unreleased details to the new version
Expand Down
Loading
Loading