-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCargo.toml
More file actions
87 lines (76 loc) · 2.78 KB
/
Cargo.toml
File metadata and controls
87 lines (76 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
[package]
name = "iris"
version = "0.1.0"
edition = "2021"
default-run = "iris"
[features]
# Uncomment to enable cache debug tracking (tracks specific cache line across all operations)
debug_cache = []
developer = []
developer_ip7 = [] # CP0 Compare/timer calibration stats and debug prints
# Lightning: pedal-to-the-metal build — disables breakpoint checks and traceback buffer updates.
# Incompatible with interactive debugging. For end-user / benchmarking builds only.
lightning = []
# O(1) TLB fast path: 512KB inline vmap indexed by VA[31:13] replaces MRU linear scan
# for 32-bit and sign-extended 64-bit VAs. Disable to benchmark against baseline.
tlbvmap = []
# Cranelift-based JIT compiler for MIPS → native translation.
jit = ["cranelift-codegen", "cranelift-frontend", "cranelift-jit", "cranelift-module", "cranelift-native", "target-lexicon"]
# Cranelift-based JIT compiler for REX3 graphics draw shaders.
rex-jit = ["cranelift-codegen", "cranelift-frontend", "cranelift-jit", "cranelift-module", "cranelift-native"]
# Use WindowEvent::CursorMoved for mouse motion instead of DeviceEvent::MouseMotion.
# Useful for testing absolute cursor position tracking. May cause doubled moves on some platforms.
mouseabs = []
[dependencies]
clap = { version = "4", features = ["derive"] }
log = "0.4"
env_logger = "0.10"
winit = "0.29"
glutin = "0.31"
glutin-winit = "0.4"
glow = "0.13"
raw-window-handle = "0.5"
rtrb = "0.3"
socket2 = { version = "0.5", features = ["all"] }
crossbeam-utils = "0.8"
bitfield = "0.14"
cpal = "0.15"
serde = { version = "1.0.228", features = ["derive"] }
toml = "1.0.3"
parking_lot = "0.12"
spin = "0.10.0"
cranelift-codegen = { version = "0.116", optional = true }
cranelift-frontend = { version = "0.116", optional = true }
cranelift-jit = { version = "0.116", optional = true }
cranelift-module = { version = "0.116", optional = true }
cranelift-native = { version = "0.116", optional = true }
target-lexicon = { version = "0.13", optional = true }
[target.'cfg(not(windows))'.dependencies]
libc = "0.2"
[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"
debug = 1
# Developer profile: release optimizations + debug symbols. Default build target.
# Enables the "developer" feature flag for dev-only tooling.
# Usage: cargo build (or explicitly: cargo build --profile developer)
[profile.developer]
inherits = "release"
debug = true
lto = "fat"
codegen-units = 1
# Profiling profile: release optimizations + full debug info for flamegraph/perf.
# Usage: cargo build --profile profiling && perf record ./target/profiling/iris
# cargo flamegraph --profile profiling
[profile.profiling]
inherits = "release"
debug = 2
strip = false
force-frame-pointers = true
[[bin]]
name = "iris"
path = "src/main.rs"
[[bin]]
name = "coffdump"
path = "src/coffdump.rs"