- Add BeginRendering/EndRendering commands with imported/created attachment
views, view plumbing, and aspect-gated depth/stencil slots
- Derive and validate render-pass spans at compile time; contract spans into
single DAG nodes before hazard analysis; hoist cross-boundary barriers to
pass begins with in-pass policy and created-view resolution
- Replace the four-pass ordering pipeline with a single command walk
(build_command_orderings): span derivation, validation, lifetime-only
injection, dependency edges, and Kahn batching in one pass; batches are
ranges into execution_order and RenderPassSpan keeps only begin/end
- Perf: node-collapsed frontier analysis, dense command/resource indexing
(no SipHash on hot paths), inline barrier storage, exact preallocation,
lazy Kahn ready heap, scoped barrier fast paths
- Scope buffer and image alias barriers to the incoming resource per the
Vulkan resource-memory-aliasing rules (availability unscoped, visibility
scoped to the new owner)
- Add criterion compile benchmarks (two_pass/{no_pass,pass}/per_{20,50,100})
94 lines
2.6 KiB
TOML
94 lines
2.6 KiB
TOML
[package]
|
|
name = "vidya"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[workspace]
|
|
resolver = "2"
|
|
|
|
members = [
|
|
"crates/renderer",
|
|
"crates/renderer/renderer_macros",
|
|
"crates/window",
|
|
"crates/game",
|
|
"crates/text",
|
|
"crates/bevy_vulkan_render", "crates/renderer_device", "crates/renderer_resources", "crates/renderer_rendergraph",
|
|
]
|
|
|
|
[dependencies]
|
|
bevy_vulkan_render = { path = "crates/bevy_vulkan_render" }
|
|
bitflags.workspace = true
|
|
|
|
[dev-dependencies]
|
|
bevy = { workspace = true }
|
|
|
|
[profile.debug-release]
|
|
inherits = "release"
|
|
opt-level = 2
|
|
debug = true
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1.0.89"
|
|
criterion = "0.7"
|
|
thiserror = "2.0"
|
|
derive_more = { version = "1.0.0", features = ["deref", "debug", "deref_mut"] }
|
|
|
|
tracing = "0.1"
|
|
tracing-subscriber = {version ="0.3", features = ["env-filter"]}
|
|
|
|
glam = {version = "0.33", features = ["bytemuck"]}
|
|
rand = "0.9"
|
|
bitflags = "2.6"
|
|
thread_local = "1.1.8"
|
|
|
|
ash = "0.38.0"
|
|
ash-window = "0.13.0"
|
|
vk-mem = "0.5.0"
|
|
rectangle-pack = "0.4.2"
|
|
# vk-sync = "0.1.6"
|
|
|
|
arrayvec = "0.7.6"
|
|
tinyvec = { version = "1.8", features = ["alloc"] }
|
|
indexmap = "2"
|
|
petgraph = "0.7"
|
|
fixedbitset = "0.5"
|
|
# itertools = "0.14.0"
|
|
ahash = "0.8"
|
|
|
|
# for non-cryptographic hashing of resources like pipelines, e.g. for caching
|
|
md-5 = "0.11.0"
|
|
|
|
parking_lot = "0.12.3"
|
|
bytemuck = { version = "1.21.0", features = ["derive"] }
|
|
|
|
# tokio = "1.42"
|
|
# futures = "0.3"
|
|
smol = "2.0"
|
|
# rayon = "1.10"
|
|
|
|
winit = {version = "0.30.5", features = ["rwh_06"]}
|
|
raw-window-handle = "0.6"
|
|
|
|
egui = "0.32"
|
|
egui_winit_platform = "0.27"
|
|
|
|
bevy = { path = "/var/code/bevy-engine/bevy" }
|
|
bevy_app = { path = "/var/code/bevy-engine/bevy/crates/bevy_app" }
|
|
bevy_asset = { path = "/var/code/bevy-engine/bevy/crates/bevy_asset" }
|
|
bevy_derive = { path = "/var/code/bevy-engine/bevy/crates/bevy_derive" }
|
|
bevy_ecs = { path = "/var/code/bevy-engine/bevy/crates/bevy_ecs" }
|
|
bevy_log = { path = "/var/code/bevy-engine/bevy/crates/bevy_log" }
|
|
# bevy_math = { path = "/var/code/bevy-engine/bevy/crates/bevy_math" }
|
|
bevy_platform = { path = "/var/code/bevy-engine/bevy/crates/bevy_platform" }
|
|
bevy_reflect = { path = "/var/code/bevy-engine/bevy/crates/bevy_reflect" }
|
|
bevy_tasks = { path = "/var/code/bevy-engine/bevy/crates/bevy_tasks" }
|
|
bevy_time = { path = "/var/code/bevy-engine/bevy/crates/bevy_time" }
|
|
# bevy_transform = { path = "/var/code/bevy-engine/bevy/crates/bevy_transform" }
|
|
bevy_utils = { path = "/var/code/bevy-engine/bevy/crates/bevy_utils" }
|
|
bevy_window = { path = "/var/code/bevy-engine/bevy/crates/bevy_window" }
|
|
# bevy_winit = { path = "/var/code/bevy-engine/bevy/crates/bevy_winit" }
|
|
|
|
[[example]]
|
|
name = "bevy_integration"
|
|
path = "examples/bevy_integration.rs"
|