build(windows): no WebGPU renderer: the Windows game builds the Vulkan back end only, as Linux does #577

Merged
HumanBean merged 1 commit from HumanBean/Longshot:build/no-webgpu into main 2026-11-15 18:24:32 +00:00
Owner

Type: build · Risk: medium · Tested on: nothing run (Linux PC, Windows change) · Needs: Windows, any GPU

Why

Every Windows build compiles an old renderer the game doesn't use by default (TOTKPort's WebGPU renderer and suyu's
shader recompiler with its WGSL back end, about 160 C++ files at -O2) and downloads wgpu-native for it, so every
player's first build is longer than it needs to be. The game only drew with it when RX_BACKEND named another renderer
than Vulkan, or when the Vulkan back end didn't start. The owner decided (2026-11-14) to drop it: Linux already builds
without it. See #362 (a shorter first build).

What changed

The Windows game is now built as the Linux one is: the Vulkan back end (longshot_vk.dll) is the only renderer, the
exe is linked with the stand-ins that were already there for a build without wgpu-native (host/rx_nowgpu.c), and
wgpu-native is no longer a build tool. The WebGPU renderer's own sources are deleted; the headers the host and the
Vulkan back end use stay.

  • build: nx2/build.py loses gpu_sources(), WGPU/WGPU_NATIVE, the "the renderer (C++20, NDEBUG...)" job branch,
    the wgpu_native.dll.lib link and the wgpu_native.dll copy; host/rx_nowgpu.c is always in the Windows host
    sources (Linux keeps host/posix/linux_stubs.c).
  • host: rx_start() in host/rx_backend.c no longer reads RX_BACKEND: it always loads the Vulkan back end, as it did
    with RX_BACKEND unset (the default). load_vulkan()'s failure lines say "nothing is drawn" instead of "WebGPU".
    host/rx_nowgpu.c gains rx_collect_written() (a build with RX_SOFT_WRITE_WATCH=0 needed it from
    gpu/render/rx_core.cpp; it now answers "nothing tracked", as Linux's does) and its messages are reworded.
    host/display.c logs "no renderer" instead of "no WebGPU device". Comments in nn_hid.c, nvn_native.c,
    hos_main.c, nn_audio.c no longer point at the deleted files.
  • gpu/render: deleted the 16 rx_*.cpp, rx_none.c (built by nothing already), and the headers only they used
    (rx_internal.h, rx_web_mt.h, rx_bcn.h, rx_wgpu_names.h, renderdoc_app.h). Kept rx.h (host/display.c),
    rx_nvn.h and nvn_api.h (the op stream: host/, gpu/vk/vk_api.h, tests, the AppImage's header copy). The top
    comment of rx.h says what it is now.
  • tools: tools.lock loses the wgpu-native line, scripts/tools.py REQUIRED["windows-x64"] loses it, the builder
    (builder/LongshotBuilder/Runner.cs) no longer sets WGPU_NATIVE, builder/setup/setup.c comment. nx2/make_game.py
    drops wgpu_native.dll from BESIDE and removes one an older build left in the game folder (nothing loads it now).
  • scripts: scripts/run-vk.ps1 no longer sets RX_BACKEND=vulkan.
  • ci: the third-party objects steps (.forgejo/workflows/build-windows.yml and both in .circleci/shared.yml) no longer
    install wgpu-native or set WGPU_NATIVE.
  • tests: new tests/test_no_webgpu.py (the build compiles nothing of gpu/render, names no wgpu-native, no tool list
    requires it, rx_start reads no RX_BACKEND, and both platforms' stand-ins define every wgr_* and live-input
    function the host names, so the exe links). tests/test_renderer_load_error.py now also checks the Windows failure
    line names no WebGPU. tests/test_dev_packs.py: a route check's label and path (gpu/render/x.h: still "game").
    tests/test_capture_past_end.py no longer lists the deleted gpu/render/rx_shader.cpp among the capture loops it reads.
  • docs: docs/development.md (the RX_BACKEND row and WGPU_NATIVE gone, the gpu/render/ layout row, the live
    input's !dump/!shots), README.md and CONTRIBUTING.md (the tools\wgpu-native step), docs/design.md (the
    current design; the history stays), docs/releases.md, RELEASING.md (a note on the dated "Done" line),
    gpu/PROVENANCE.md (what was removed and what stays), gpu/vk/VULKAN.md's top note, gpu/vk/vk_api.h's comments.

Left on purpose: gpu/third_party/suyu/ is untouched (its shader recompiler and WGSL back end stay in the tree,
uncompiled; the Vulkan back end still compiles its texture decoders). third_party/ is untouched. Historical comments
in gpu/vk that say a piece was ported "from the WebGPU renderer's rx_*.cpp" are left as history, and gpu/vk/vk_state.h
and vk_shader.cpp are not touched at all (they are in the shader stamp: a comment change there would make every player
translate every program again). scripts/cpu_categories.py's render/webgpu-fallback row is left: it matches nothing in
a new build and still reads older profiles.

Measurements

Verdict: not measured: this PC is Linux, and the point of the change (a shorter Windows build, ~160 fewer C++
files) has to be timed on a Windows build. Requested under Must be tested.

Flags and settings

Two switches removed; nothing added.

Flag What it is Before this PR After this PR Effect Helps / doesn't help / untested Recommendation
RX_BACKEND (removed) Picked the renderer Unset or vulkan: Vulkan; anything else: the WebGPU renderer, in a build with wgpu-native Not read: always Vulkan None at the default Untested on Windows Removed: Vulkan is the only renderer
WGPU_NATIVE (removed, build) The wgpu-native folder the build compiled the WebGPU renderer against Set by the builder from its tools Not read The WebGPU renderer is not built Untested on Windows Removed

Testing

Tested: nothing run on this PC (the owner's rule for this change: no tests or builds here; CI runs the game-free
checks). Read instead: every user of each deleted file (grep across the tree: only the WebGPU renderer itself, and
comments), every check under tests/ that reads host/rx_backend.c, nx2/build.py, tools.lock or scripts/tools.py.

Not tested: the Windows build and the game on Windows; the Linux build (its sources change only in comments and
in host/rx_backend.c's rx_start and log lines); python -I -B tests/run_all.py (left to CI).

Must be tested:

  • Windows, any GPU (I'm on Linux): a full build from the Builder or make_game.py, expecting it to build without
    wgpu-native and with no gpu_* objects, the game to start on Vulkan (rx: renderer: Vulkan (longshot_vk.dll) in
    longshot_log.txt) and play as on main, and the compile to be shorter than main's at the same commit otherwise
    (by hand or the Test Farm: request to open)
  • Windows, a folder built by main: build this PR over it, expecting wgpu_native.dll gone from the folder and the game
    starting (by hand)

Risks

What could break: the Windows exe could fail to link if something still needs a WebGPU renderer function that
neither host/rx_nowgpu.c nor the host defines (tests/test_no_webgpu.py checks the ones the host names). A Windows
PC whose Vulkan doesn't start used to fall back to the WebGPU renderer (on D3D12 through wgpu-native); it now gets a
black window and "nothing is drawn" in the log, as Linux does. With default settings and a working Vulkan nothing
changes.

Turning it off: revert the commit.

Compatibility: saves, longshot_options.ini and the shader and pipeline caches are untouched (no stamped file
changed). The vk ABI is unchanged (vk_api.h: comments only, no MKWVK_API_VERSION bump). The builder no longer
downloads wgpu-native; an older game folder's wgpu_native.dll is removed at the next build. RX_BACKEND set to
something other than vulkan now gets Vulkan.

Issues

See #362

Checklist

Everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description) of the status line's type.
  • Why gives the reason plainly and links the issues that fit (the tracker searched).
  • Measurements has a verdict, or one line saying why there is nothing to measure.
  • Testing names what was tested, what wasn't, and what must still be tested, where and how.
  • Rebased on current main.
  • python -I -B tests/run_all.py passes (any failure that also fails on main is named). (not run here: left to CI)
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

When it applies

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
  • Numbers from the same PC, scene and settings, at least 2 interleaved runs each, the median reported. (not measured here: a Windows build's time is needed)
  • Switches documented (docs/development.md; the README for a menu row) and shipped at their recommended value.
  • A game-free test added for the fix, failing on main and passing here. (tests/test_no_webgpu.py; not run here: left to CI)
  • A check under tests/ that reads changed source updated in this PR, not weakened.
  • Host code builds on both Windows (llvm-mingw) and Linux, with UTF-8 paths. (not built here: CI's Windows and Linux builds)
  • Docs updated.

🤖 Generated with Claude Code

**Type:** build · **Risk:** medium · **Tested on:** nothing run (Linux PC, Windows change) · **Needs:** Windows, any GPU ## Why Every Windows build compiles an old renderer the game doesn't use by default (TOTKPort's WebGPU renderer and suyu's shader recompiler with its WGSL back end, about 160 C++ files at -O2) and downloads `wgpu-native` for it, so every player's first build is longer than it needs to be. The game only drew with it when `RX_BACKEND` named another renderer than Vulkan, or when the Vulkan back end didn't start. The owner decided (2026-11-14) to drop it: Linux already builds without it. See https://git.magicbean.dev/MagicBeanDev/Longshot/issues/362 (a shorter first build). ## What changed The Windows game is now built as the Linux one is: the Vulkan back end (`longshot_vk.dll`) is the only renderer, the exe is linked with the stand-ins that were already there for a build without wgpu-native (`host/rx_nowgpu.c`), and `wgpu-native` is no longer a build tool. The WebGPU renderer's own sources are deleted; the headers the host and the Vulkan back end use stay. - build: `nx2/build.py` loses `gpu_sources()`, `WGPU`/`WGPU_NATIVE`, the "the renderer (C++20, NDEBUG...)" job branch, the `wgpu_native.dll.lib` link and the `wgpu_native.dll` copy; `host/rx_nowgpu.c` is always in the Windows host sources (Linux keeps `host/posix/linux_stubs.c`). - host: `rx_start()` in `host/rx_backend.c` no longer reads `RX_BACKEND`: it always loads the Vulkan back end, as it did with `RX_BACKEND` unset (the default). `load_vulkan()`'s failure lines say "nothing is drawn" instead of "WebGPU". `host/rx_nowgpu.c` gains `rx_collect_written()` (a build with `RX_SOFT_WRITE_WATCH=0` needed it from `gpu/render/rx_core.cpp`; it now answers "nothing tracked", as Linux's does) and its messages are reworded. `host/display.c` logs "no renderer" instead of "no WebGPU device". Comments in `nn_hid.c`, `nvn_native.c`, `hos_main.c`, `nn_audio.c` no longer point at the deleted files. - gpu/render: deleted the 16 `rx_*.cpp`, `rx_none.c` (built by nothing already), and the headers only they used (`rx_internal.h`, `rx_web_mt.h`, `rx_bcn.h`, `rx_wgpu_names.h`, `renderdoc_app.h`). Kept `rx.h` (`host/display.c`), `rx_nvn.h` and `nvn_api.h` (the op stream: `host/`, `gpu/vk/vk_api.h`, tests, the AppImage's header copy). The top comment of `rx.h` says what it is now. - tools: `tools.lock` loses the `wgpu-native` line, `scripts/tools.py` `REQUIRED["windows-x64"]` loses it, the builder (`builder/LongshotBuilder/Runner.cs`) no longer sets `WGPU_NATIVE`, `builder/setup/setup.c` comment. `nx2/make_game.py` drops `wgpu_native.dll` from `BESIDE` and removes one an older build left in the game folder (nothing loads it now). - scripts: `scripts/run-vk.ps1` no longer sets `RX_BACKEND=vulkan`. - ci: the third-party objects steps (`.forgejo/workflows/build-windows.yml` and both in `.circleci/shared.yml`) no longer install `wgpu-native` or set `WGPU_NATIVE`. - tests: new `tests/test_no_webgpu.py` (the build compiles nothing of `gpu/render`, names no wgpu-native, no tool list requires it, `rx_start` reads no `RX_BACKEND`, and both platforms' stand-ins define every `wgr_*` and live-input function the host names, so the exe links). `tests/test_renderer_load_error.py` now also checks the Windows failure line names no WebGPU. `tests/test_dev_packs.py`: a route check's label and path (`gpu/render/x.h`: still "game"). `tests/test_capture_past_end.py` no longer lists the deleted `gpu/render/rx_shader.cpp` among the capture loops it reads. - docs: `docs/development.md` (the `RX_BACKEND` row and `WGPU_NATIVE` gone, the `gpu/render/` layout row, the live input's `!dump`/`!shots`), `README.md` and `CONTRIBUTING.md` (the `tools\wgpu-native` step), `docs/design.md` (the current design; the history stays), `docs/releases.md`, `RELEASING.md` (a note on the dated "Done" line), `gpu/PROVENANCE.md` (what was removed and what stays), `gpu/vk/VULKAN.md`'s top note, `gpu/vk/vk_api.h`'s comments. Left on purpose: `gpu/third_party/suyu/` is untouched (its shader recompiler and WGSL back end stay in the tree, uncompiled; the Vulkan back end still compiles its texture decoders). `third_party/` is untouched. Historical comments in `gpu/vk` that say a piece was ported "from the WebGPU renderer's rx_*.cpp" are left as history, and `gpu/vk/vk_state.h` and `vk_shader.cpp` are not touched at all (they are in the shader stamp: a comment change there would make every player translate every program again). `scripts/cpu_categories.py`'s `render/webgpu-fallback` row is left: it matches nothing in a new build and still reads older profiles. ## Measurements **Verdict:** not measured: this PC is Linux, and the point of the change (a shorter Windows build, ~160 fewer C++ files) has to be timed on a Windows build. Requested under Must be tested. ### Flags and settings Two switches removed; nothing added. | Flag | What it is | Before this PR | After this PR | Effect | Helps / doesn't help / untested | Recommendation | |---|---|---|---|---|---|---| | `RX_BACKEND` (removed) | Picked the renderer | Unset or `vulkan`: Vulkan; anything else: the WebGPU renderer, in a build with wgpu-native | Not read: always Vulkan | None at the default | Untested on Windows | Removed: Vulkan is the only renderer | | `WGPU_NATIVE` (removed, build) | The wgpu-native folder the build compiled the WebGPU renderer against | Set by the builder from its tools | Not read | The WebGPU renderer is not built | Untested on Windows | Removed | ## Testing **Tested:** nothing run on this PC (the owner's rule for this change: no tests or builds here; CI runs the game-free checks). Read instead: every user of each deleted file (grep across the tree: only the WebGPU renderer itself, and comments), every check under `tests/` that reads `host/rx_backend.c`, `nx2/build.py`, `tools.lock` or `scripts/tools.py`. **Not tested:** the Windows build and the game on Windows; the Linux build (its sources change only in comments and in `host/rx_backend.c`'s `rx_start` and log lines); `python -I -B tests/run_all.py` (left to CI). **Must be tested:** - Windows, any GPU (I'm on Linux): a full build from the Builder or `make_game.py`, expecting it to build without wgpu-native and with no `gpu_*` objects, the game to start on Vulkan (`rx: renderer: Vulkan (longshot_vk.dll)` in `longshot_log.txt`) and play as on main, and the compile to be shorter than main's at the same commit otherwise (by hand or the Test Farm: request to open) - Windows, a folder built by main: build this PR over it, expecting `wgpu_native.dll` gone from the folder and the game starting (by hand) ## Risks **What could break:** the Windows exe could fail to link if something still needs a WebGPU renderer function that neither `host/rx_nowgpu.c` nor the host defines (`tests/test_no_webgpu.py` checks the ones the host names). A Windows PC whose Vulkan doesn't start used to fall back to the WebGPU renderer (on D3D12 through wgpu-native); it now gets a black window and "nothing is drawn" in the log, as Linux does. With default settings and a working Vulkan nothing changes. **Turning it off:** revert the commit. **Compatibility:** saves, `longshot_options.ini` and the shader and pipeline caches are untouched (no stamped file changed). The vk ABI is unchanged (`vk_api.h`: comments only, no `MKWVK_API_VERSION` bump). The builder no longer downloads `wgpu-native`; an older game folder's `wgpu_native.dll` is removed at the next build. `RX_BACKEND` set to something other than `vulkan` now gets Vulkan. ## Issues See https://git.magicbean.dev/MagicBeanDev/Longshot/issues/362 ## Checklist ### Everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`) of the status line's type. - [x] Why gives the reason plainly and links the issues that fit (the tracker searched). - [x] Measurements has a verdict, or one line saying why there is nothing to measure. - [x] Testing names what was tested, what wasn't, and what must still be tested, where and how. - [x] Rebased on current `main`. - [ ] `python -I -B tests/run_all.py` passes (any failure that also fails on `main` is named). (not run here: left to CI) - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### When it applies - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers. - [ ] Numbers from the same PC, scene and settings, at least 2 interleaved runs each, the median reported. (not measured here: a Windows build's time is needed) - [x] Switches documented (docs/development.md; the README for a menu row) and shipped at their recommended value. - [ ] A game-free test added for the fix, failing on `main` and passing here. (`tests/test_no_webgpu.py`; not run here: left to CI) - [x] A check under `tests/` that reads changed source updated in this PR, not weakened. - [ ] Host code builds on both Windows (llvm-mingw) and Linux, with UTF-8 paths. (not built here: CI's Windows and Linux builds) - [x] Docs updated. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
build(windows): no WebGPU renderer: the Windows game builds the Vulkan back end only, as Linux does
Some checks are pending
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
beanstalk/approval awaiting maintainer approval
PR description / Description follows the template (pull_request_target) Successful in 6s
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 16s
Third-party parts / As their notes say (pull_request) Successful in 28s
2604177316
Every Windows build compiled TOTKPort's WebGPU renderer (gpu/render/*.cpp) and suyu's shader
recompiler with its WGSL back end into the exe, and the builder downloaded wgpu-native for it, while
the game drew with it only when RX_BACKEND named another renderer or Vulkan did not start.

- nx2/build.py: no gpu_sources, WGPU_NATIVE or wgpu branch; host/rx_nowgpu.c is always the Windows
  stand-in (Linux keeps host/posix/linux_stubs.c), and no wgpu_native.dll is linked or copied.
- host/rx_backend.c: RX_BACKEND is not read; the Vulkan back end is always loaded, and a failure
  logs "nothing is drawn" instead of "WebGPU". host/rx_nowgpu.c also stands in for
  rx_collect_written (a build with RX_SOFT_WRITE_WATCH=0).
- tools.lock, scripts/tools.py REQUIRED, the builder (Runner.cs), make_game.py: no wgpu-native;
  make_game.py removes a wgpu_native.dll an older build left in the game folder.
- gpu/render: the WebGPU renderer's sources and its own headers deleted; rx.h, rx_nvn.h and
  nvn_api.h (the host's and the Vulkan back end's) kept. gpu/third_party/suyu is untouched.
- tests/test_no_webgpu.py: the build compiles nothing of gpu/render, needs no wgpu-native, and the
  stand-ins define every renderer function the host names on both platforms.
- Docs: RX_BACKEND and WGPU_NATIVE rows gone, the layout and design text say Vulkan is the only renderer.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
HumanBean force-pushed build/no-webgpu from 2604177316
Some checks are pending
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
beanstalk/approval awaiting maintainer approval
PR description / Description follows the template (pull_request_target) Successful in 6s
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 16s
Third-party parts / As their notes say (pull_request) Successful in 28s
to b47ce8ca3c
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
beanstalk/approval awaiting maintainer approval
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Has been cancelled
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
2026-11-14 20:23:00 +00:00
Compare
Author
Owner

Rebased onto main 4e80ea63 (after #569 merged), no conflicts. Nothing run here.

Rebased onto main 4e80ea63 (after https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/569 merged), no conflicts. Nothing run here.
HumanBean force-pushed build/no-webgpu from b47ce8ca3c
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
beanstalk/approval awaiting maintainer approval
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Has been cancelled
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
to 5d463a657f
Some checks are pending
beanstalk/approval awaiting maintainer approval
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 17s
CI / Conventional Commit title (pull_request) Successful in 13s
CI / Workflow lint (actionlint) (pull_request) Successful in 20s
Third-party parts / As their notes say (pull_request) Successful in 32s
2026-11-14 20:24:05 +00:00
Compare
Author
Owner

Rebased onto main 414f56e2 (after #569 and #573 merged), no conflicts. Nothing run here.

Rebased onto main 414f56e2 (after https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/569 and https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/573 merged), no conflicts. Nothing run here.
Author
Owner

Decided with the owner: the WebGPU fallback goes. It ran only when Vulkan failed to load or start on Windows (no loader, a GPU or driver without the features the renderer needs, a broken driver), and then gave an unmaintained renderer that none of Longshot's Ocarina fixes, upscalers, frame generation or menu reached, and that no tested run ever used. Linux has never had it. A clear message when Vulkan fails, instead of the black window, can follow separately.

Decided with the owner: the WebGPU fallback goes. It ran only when Vulkan failed to load or start on Windows (no loader, a GPU or driver without the features the renderer needs, a broken driver), and then gave an unmaintained renderer that none of Longshot's Ocarina fixes, upscalers, frame generation or menu reached, and that no tested run ever used. Linux has never had it. A clear message when Vulkan fails, instead of the black window, can follow separately.
Author
Owner

Rebased onto main b2911d33. Three text conflicts with #572 (both edited the same lines), resolved as main's new text with this PR's one change, wgpu-native dropped: scripts/tools.py's REQUIRED and its comment, RELEASING.md's one-time setup step 6, docs/releases.md's Windows tool list. Nothing run here.

Rebased onto main b2911d33. Three text conflicts with https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/572 (both edited the same lines), resolved as main's new text with this PR's one change, wgpu-native dropped: scripts/tools.py's REQUIRED and its comment, RELEASING.md's one-time setup step 6, docs/releases.md's Windows tool list. Nothing run here.
HumanBean force-pushed build/no-webgpu from 5d463a657f
Some checks are pending
beanstalk/approval awaiting maintainer approval
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 17s
CI / Conventional Commit title (pull_request) Successful in 13s
CI / Workflow lint (actionlint) (pull_request) Successful in 20s
Third-party parts / As their notes say (pull_request) Successful in 32s
to 2fc45cf04d
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 7s
Third-party parts / As their notes say (pull_request) Successful in 10s
PR description / Description follows the template (pull_request_target) Failing after 5s
beanstalk/approval Test farm not requested
2026-11-14 21:16:47 +00:00
Compare
HumanBean changed title from WIP: build(windows): no WebGPU renderer: the Windows game builds the Vulkan back end only, as Linux does to build(windows): no WebGPU renderer: the Windows game builds the Vulkan back end only, as Linux does 2026-11-14 21:17:29 +00:00
HumanBean force-pushed build/no-webgpu from 2fc45cf04d
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 7s
Third-party parts / As their notes say (pull_request) Successful in 10s
PR description / Description follows the template (pull_request_target) Failing after 5s
beanstalk/approval Test farm not requested
to b6aa228f06
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Failing after 6s
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 8s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 9s
Third-party parts / As their notes say (pull_request) Successful in 15s
Website / Website on Cloudflare (pull_request_target) Has been skipped
2026-11-15 06:43:07 +00:00
Compare
HumanBean force-pushed build/no-webgpu from b6aa228f06
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Failing after 6s
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 8s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 9s
Third-party parts / As their notes say (pull_request) Successful in 15s
Website / Website on Cloudflare (pull_request_target) Has been skipped
to 002fa6f28c
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 6s
Third-party parts / As their notes say (pull_request) Successful in 11s
PR description / Description follows the template (pull_request_target) Failing after 6s
2026-11-15 18:18:47 +00:00
Compare
Author
Owner

Rebased on main @ 772fe283 (now 002fa6f2). Two conflicts: gpu/render/rx_shader.cpp stays deleted (main's #427 fix there was the WebGPU copy of the one in gpu/vk/vk_shader.cpp, which is kept), and nx2/build.py keeps #857's exe_resources() without WGPU/gpu_sources(). Also covered what main added since: .circleci/shared.yml (#417) no longer installs wgpu-native, which this PR takes out of tools.lock, and tests/test_capture_past_end.py (#427) no longer reads the deleted rx_shader.cpp. Not run here; left to CI.

Rebased on main @ 772fe283 (now 002fa6f2). Two conflicts: `gpu/render/rx_shader.cpp` stays deleted (main's #427 fix there was the WebGPU copy of the one in `gpu/vk/vk_shader.cpp`, which is kept), and `nx2/build.py` keeps #857's `exe_resources()` without `WGPU`/`gpu_sources()`. Also covered what main added since: `.circleci/shared.yml` (#417) no longer installs wgpu-native, which this PR takes out of `tools.lock`, and `tests/test_capture_past_end.py` (#427) no longer reads the deleted `rx_shader.cpp`. Not run here; left to CI.
HumanBean deleted branch build/no-webgpu 2026-11-15 18:24:32 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!577
No description provided.