Repository navigation
Conversation
This was referenced Oct 21, 2026
Havunen
added a commit
that referenced
this pull request
Oct 21, 2026
Combines #633, #645 and #648 into one changeset on top of `dev`, without #648's Linux renderer choice. Those three PRs are closed in favour of this one. **GPUI.** Every gpui-ce crate is pinned to [`1b6f3ced`](Havunen/gpui-ce@1b6f3ce), the current head of gpui-ce `main`. It contains Havunen/gpui-ce#33, #34 and #35, the upstream sync, and the wgpu 30.0.1 upgrade (Havunen/gpui-ce#36). - DX12 pipelines are created from build-time shader bytecode, and a window whose DX12 renderer fails switches to DX11 in place. Smoothing shaders are deferred and DX12 startup runs in parallel. Vulkan shaders are precompiled to SPIR-V. - wgpu and Naga are now 30.0.1, with the font-kit revision #648 asked for. License attribution is regenerated from the new lock. - The `*_style` style-builder renames are applied. The interaction-kit source guard now matches both the old and new names; with only the old names it had stopped seeing custom styling. **Windows renderer (#645).** A runtime DX12 failure now leaves the app running on DX11, so it is recorded like a startup failure: DX11 is saved and no restart is requested. **Startup performance (#633).** - Window creation overlaps repository bootstrap, and Git discovery is adopted before Home attaches. - Large-file tool (LFS/annex) discovery is deferred until a repository opens; obsolete probes are cancelled. - Remote tag discovery is separated from local repository loads. - Activating a tab refreshes history, selected paths and linked worktrees only when their metadata changed. Clean status snapshots skip line statistics, and empty submodule checkouts skip redundant status checks. - Status scans reuse filesystem and stat caches. - Installed-font scans are skipped for native system UI aliases. - Windows uses opaque surfaces and coalesces startup resizes. - Startup stages can be traced. `docs/windows-startup-performance.md` records the measurements, and `scripts/profiling` has the capture helpers. **Linux.** #648's Auto/Vulkan/OpenGL setting is gone, along with its saved preference, restart and recovery paths, and docs. Linux uses GPUI's default renderer again; the gpui-ce side of that API was removed in Havunen/gpui-ce#36 before it merged. One part of #648 stays: when the main window fails to open, the message now includes the full error cause chain instead of advice to reboot. **Tests fixed here.** None of these failures comes from the merge itself; #633's own CI already showed the first one. - `repo_picker_row_action_says_so_when_the_repository_is_gone` failed on every native job of #633's own CI. #633 makes the view report store errors that arrive before its window attaches, and the popover tests' fake repository failed submodule listing, so every view built on it started with an "Unsupported" toast. The fake now lists no submodules. - #633's `ancestor_replaced_by_symlink_invalidates_cached_pass_and_next_pass_resolves_it` moved the replacement link into place, which refreshes its ctime. The test's equal-stamp precondition then held only within one filesystem clock tick on Linux (22 of 200 local runs failed) and never on macOS (APFS keeps nanosecond ctimes). It now swaps the parent directory instead, which leaves the link's ctime alone, and asserts on the ancestor's own stamp entry: 0 of 200 runs failed. Keeping the old stamp (`entry().or_insert`) still fails it. - Four of #633's `window_bootstrap` tests compared tempdir paths with the store's canonical workdirs, so they failed on Windows (`RUNNER~1` vs `runneradmin`). They now canonicalize their paths. A symlinked `TMPDIR` reproduced all four on Linux; with that `TMPDIR`, the full UI harness and nextest suite now pass. **Verification (local, Linux).** - Workspace suite through `scripts/ci/run.py` with the syntax corpus present: 5,425 nextest tests passed (37 skipped). libtest: UI 3,796 passed (21 ignored), UI kit 524, media 76, terminal 108. Headless contexts: core 890, diagrams 84, state 1,446, backend 1,191, app 424, all passing. - Clippy with `-D warnings`: CI's three commands; `--workspace --all-targets --all-features` on Linux; the same for `x86_64-pc-windows-gnu`. - `cargo fmt --check`, source-size, identity-literal, boundary, grammar-symbol and license `--check` scripts, CI helper tests (145) and profiling tests (106). - Not run locally: macOS, Windows, and native display tests. CI covers those.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WGPU_BACKENDoverride. Explicit OpenGL selects only GL.