zed/crates/gpui_platform
kevin-mai 3f1e4afd77 gpui_windows: add win-legacy-compat feature flag for Windows Server 2016 / pre-1809 back-compat
Introduces a `win-legacy-compat` Cargo feature (forwarded from `gpui_platform`) that
gates all Windows Server 2016 / pre-Windows 10 1809 workarounds behind a compile-time
flag, preserving exact upstream behaviour and performance when the flag is absent.

Changes when `win-legacy-compat` is enabled:
- directx_devices.rs: use IDXGIFactory2 (DXGI 1.2, Win8+) instead of IDXGIFactory6
- direct_write.rs: use IDWriteFactory4 + IDWriteFontSetBuilder (Server 2016) instead of
  Factory5 + in-memory font loader; fall back to temp files for custom font loading
- directx_renderer.rs: runtime is_pre_1809 check gates SRV FirstElement workaround;
  draw_* functions accept scene: &Scene for per-batch buffer re-upload on pre-1809;
  standard alpha blend replaces dual-source SRC1_COLOR for subpixel pipeline;
  MSAA quality 0 replaces D3D11_STANDARD_MULTISAMPLE_PATTERN (D3D11.1 sentinel);
  SM_REMOTESESSION check disables DirectComposition on RDP sessions
- shaders.hlsl: #ifdef WIN_LEGACY_COMPAT collapses per-channel ClearType mask to
  scalar alpha for standard SRC_ALPHA/INV_SRC_ALPHA blending
- build.rs: pass /D WIN_LEGACY_COMPAT to fxc (release); pass D3D_SHADER_MACRO define
  to D3DCompileFromFile (debug); fix /D argument order (must precede input filename);
  add rerun-if-env-changed for CARGO_FEATURE_WIN_LEGACY_COMPAT
- gpui_platform/Cargo.toml: forward win-legacy-compat → gpui_windows/win-legacy-compat
2026-05-27 21:10:07 +08:00
..
src GPUI updates (#51415) 2026-03-12 22:15:12 +00:00
Cargo.toml gpui_windows: add win-legacy-compat feature flag for Windows Server 2016 / pre-1809 back-compat 2026-05-27 21:10:07 +08:00
LICENSE-APACHE gpui: Extract gpui_platform out of gpui (#49277) 2026-02-19 18:57:49 +01:00