feat(bench): automate B7 shader profiles, wire B12b trials, settle 45s

- gen_shader_profiles.py + shader-profiles/: Iris per-pack option files
  resolved from each pack's profile.* lines (Iris has no profile key)
- bench.py: flag rows shader_not_loaded when Iris falls back to vanilla
  rendering (analyze.py treats it as invalid)
- matrix: shader_options session key, trial jar globs pinned to the
  downloaded Modrinth builds, post-join settle 45 s (B0 v1 showed rep 1
  still warming at 10 s)
This commit is contained in:
logan committed 2026-10-16 23:34:52 -04:00
1 parent a15c912ad0
commit 4fa9a6ab81
13 files changed
+552 -31

No files matched your search

+5 -2
View File
@@ -119,8 +119,11 @@ join seconds, block-atlas size, `level.dat` hash.
only reaches Xwayland windows, `windowactivate --sync` hangs under kwin, focus-steal
prevention can drop keystrokes, and typed chat lands in whatever has focus. Hence no
input injection at all in v2.
- Still manual: **S6** (JEI/GUI overlay needs a key press), producing B7 shader option
profiles (export once from Iris' GUI, then pass `--shader-options`), checks needing F3
- B7 shader profiles are automated: `gen_shader_profiles.py` resolves each pack's
`profile.NAME` (shaders.properties, Iris ProfileSet semantics) into
`shader-profiles/<pack-stem>.<profile>.txt`; matrix.toml passes it as `shader_options`
-> `--shader-options`. Re-run the generator (or `--check`) after a shaderpack update.
- Still manual: **S6** (JEI/GUI overlay needs a key press), checks needing F3
reads, `/sparkc` heap/GC reads (B1/B4).
- MangoHud's `log_duration=1800` in `~/.local/bin/mangohud-local` caps one CSV at 30 min;
`session` warns when a plan is longer (B5's 45-min decay run needs a split or a larger