From cdbaff8375fcb9ec04dedb1444c20fcf02b9bd46 Mon Sep 17 00:00:00 2001 From: Junkui Zhang <364772080@qq.com> Date: Tue, 15 Jul 2025 23:56:55 +0800 Subject: [PATCH] wip --- .../gpui/src/platform/windows/directx_renderer.rs | 3 +-- crates/gpui/src/platform/windows/shaders.hlsl | 15 +++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/crates/gpui/src/platform/windows/directx_renderer.rs b/crates/gpui/src/platform/windows/directx_renderer.rs index a1f4dbeb58..542c90444d 100644 --- a/crates/gpui/src/platform/windows/directx_renderer.rs +++ b/crates/gpui/src/platform/windows/directx_renderer.rs @@ -1,8 +1,7 @@ -use std::{collections::HashMap, hash::BuildHasherDefault, sync::Arc}; +use std::sync::Arc; use ::util::ResultExt; use anyhow::{Context, Result}; -use collections::FxHasher; // #[cfg(not(feature = "enable-renderdoc"))] // use windows::Win32::Graphics::DirectComposition::*; use windows::{ diff --git a/crates/gpui/src/platform/windows/shaders.hlsl b/crates/gpui/src/platform/windows/shaders.hlsl index b926847cbf..18760dcf78 100644 --- a/crates/gpui/src/platform/windows/shaders.hlsl +++ b/crates/gpui/src/platform/windows/shaders.hlsl @@ -889,7 +889,15 @@ struct PathSprite { struct PathVertexOutput { float4 position: SV_Position; + nointerpolation uint sprite_id: TEXCOORD0; + nointerpolation float4 solid_color: COLOR0; + nointerpolation float4 color0: COLOR1; + nointerpolation float4 color1: COLOR2; float4 clip_distance: SV_ClipDistance; +}; + +struct PathFragmentInput { + float4 position: SV_Position; nointerpolation uint sprite_id: TEXCOORD0; nointerpolation float4 solid_color: COLOR0; nointerpolation float4 color0: COLOR1; @@ -923,12 +931,7 @@ PathVertexOutput paths_vertex(PathVertexInput input) { return output; } -float4 paths_fragment(PathVertexOutput input): SV_Target { - float4 zero = 0.0; - if (any(input.clip_distance < zero)) { - return zero; - } - +float4 paths_fragment(PathFragmentInput input): SV_Target { PathSprite sprite = path_sprites[input.sprite_id]; Background background = sprite.color; float4 color = gradient_color(background, input.position.xy, sprite.bounds,