mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-31 19:05:00 +07:00
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
39 lines
1.1 KiB
TOML
39 lines
1.1 KiB
TOML
[package]
|
|
name = "gpui_platform"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "Apache-2.0"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/gpui_platform.rs"
|
|
|
|
[features]
|
|
default = []
|
|
font-kit = ["gpui_macos/font-kit"]
|
|
test-support = ["gpui/test-support", "gpui_macos/test-support"]
|
|
screen-capture = ["gpui/screen-capture", "gpui_macos/screen-capture", "gpui_windows/screen-capture", "gpui_linux/screen-capture"]
|
|
win-legacy-compat = ["gpui_windows/win-legacy-compat"]
|
|
runtime_shaders = ["gpui_macos/runtime_shaders"]
|
|
wayland = ["gpui_linux/wayland"]
|
|
x11 = ["gpui_linux/x11"]
|
|
|
|
[dependencies]
|
|
gpui.workspace = true
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
gpui_macos.workspace = true
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
gpui_windows.workspace = true
|
|
gpui = { workspace = true, features = ["windows-manifest"] }
|
|
|
|
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
|
|
gpui_linux.workspace = true
|
|
|
|
[target.'cfg(target_family = "wasm")'.dependencies]
|
|
gpui_web.workspace = true
|
|
console_error_panic_hook = "0.1.7"
|