Files
gridcraft/docs/hardware-parity.md
T
vioreltusandClaude Opus 5.5 5e415cdd34 macOS: Intel Macs skip wgpu's indirect-call validation shaders (fixes #2812) (#3039)
* Fix #2812: Intel Macs skip wgpu's indirect-call validation shaders

Metal's Intel compiler aborts on wgpu's indirect-validation compute shaders
("Compiler encountered an internal error"; MTLCompilerService crashes in
reportUnsupportedMaxWorkGroupSizeMetadataError), the device is lost inside
request_device and GridCraft exits before its window opens. GridCraft issues
no indirect draws or dispatches, so on Intel Macs the instance leaves
VALIDATION_INDIRECT_CALL out; WGPU_VALIDATION_INDIRECT_CALL=1 turns it back
on. Every other platform keeps wgpu's default. Same as WordCraft (#2652 there).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JadgGo4G2GHaAMNb3qyygk

* Review: test that WGPU_VALIDATION_INDIRECT_CALL=1 still turns it on; qualify the doc line

The override is checked in a child test process with the variable set, since
tests can't set environment variables without unsafe code. The revision line
no longer says Intel Macs start: OpenCore Legacy Patcher Macs on macOS 15 can
still fail on the MSL version (#1116).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JadgGo4G2GHaAMNb3qyygk

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-11-01 10:54:28 +01:00

3.9 KiB
Raw Blame History

Hardware parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-31 · Change: trivial (Intel Mac start-up) · Target: Microsoft Excel (Microsoft 365), Excel for Mac 16.113.4

The hardware Excel uses, per platform, against GridCraft. Part of target-app-parity.md. Hardware: ~40% ready, 25–40 h (estimated).

Hardware feature Excel GridCraft (macOS · Windows · Linux · BSD · web) Gap and estimate
Multi-core recalculation Multi-threaded recalculation on all cores (Windows and Mac), configurable thread count Single-threaded everywhere (no threading in crates/calc) Parallel recalc of independent dependency chains on native builds; WASM stays single-threaded or uses workers later: 12–18 h
GPU rendering of the grid and charts DirectX / Metal accelerated drawing wgpu: Metal (Intel Macs skip wgpu's indirect-call validation shaders, which Metal's Intel compiler aborts on, #2812) · DirectX 12 (default since 10-08; OpenGL when DirectX 12 has no GPU driver or fails to start; Vulkan only on request, so the Intel UHD igvk64.dll crash (#120) can't happen; shaders compiled with FXC, so no DXC runtime is needed, #339) · Vulkan/GL · Vulkan/GL · WebGPU or WebGL2 At parity in kind. Driver problems: screen flashing on Windows 11 (#76): 2–4 h
Pen and touch (Draw tab) Pen pressure and tilt, eraser end, touch mode, Ink to Shape, ink replay Pen, highlighter, eraser, Ink to Shape with mouse/pen input; no pressure or tilt, no touch mode Pressure-sensitive strokes where winit reports force; touch-friendly ribbon spacing: 4–6 h
Trackpad and mouse Smooth scrolling, pinch zoom, horizontal scroll, Magic Mouse Smooth scrolling and zoom via egui Verify pinch zoom on each platform: 1–2 h
Multiple windows and monitors One window per workbook, New Window for the same workbook, per-monitor DPI A native window per workbook window on the desktop, New Window for the same workbook; new windows cascade from the last one on its monitor; View › Arrange All tiles, stacks or cascades them over the main window's monitor (web: one window) Arrange All across monitors; verify per-monitor DPI with windows on two monitors: 2–3 h
High-DPI and display scaling yes yes (display scale matched to desktop density; View › Interface size 75–200 % on top, #230) —
Accessibility hardware (screen readers, braille displays, switch control) Narrator, JAWS, NVDA, VoiceOver AccessKit enabled in eframe; grid cells and ribbon not yet exposed as an accessible tree Counted under UI (ui-parity.md)
Printers System print with driver options Desktop submits through craft-print with printer choice, copies, duplex and grayscale; web browser printing Counted under print

Revision history

Date Change Summary
2026-10-31 trivial macOS: Intel Macs skip wgpu's indirect-call validation shaders, so they no longer exit on Metal's compiler error there (#2812). Macs run with OpenCore Legacy Patcher on macOS 15 can still fail earlier, on the MSL version (#1116).
2026-10-22 minor View › Arrange All over the main window's monitor.
2026-10-22 minor Multiple windows: each workbook window is a native window of its own (desktop).
2026-10-12 minor Desktop File > Print now discovers printers and submits PDF jobs through pinned craft-print with printer choice, copies, duplex and grayscale; browser printing and PDF export remain available. Remaining print parity includes page ranges and driver-specific tray/options UI; physical printer fidelity needs hardware validation.
2026-10-11 trivial Windows: DirectX 12 shaders compiled with FXC, no DXC runtime needed (#339, #354)
2026-10-11 trivial Windows: OpenGL fallback when DirectX 12 has no GPU or fails to start; Vulkan never by default (#120)
2026-10-10 major Created: single-threaded calc, wgpu rendering, no pen pressure, single window