From 2f695ef9803c9c08f64961f1b9902a661a385160 Mon Sep 17 00:00:00 2001 From: Malte Veerman Date: Fri, 17 Jan 2020 20:48:49 +0100 Subject: [PATCH] Updated shaders and removed debug_stub_derive dependency --- wgpu/Cargo.toml | 1 - wgpu/src/image.rs | 32 ++++++++++++++++++++++++-------- wgpu/src/image/raster.rs | 13 +++++++++++-- wgpu/src/image/vector.rs | 24 ++++++++++++++++-------- wgpu/src/shader/image.frag.spv | Bin 684 -> 584 bytes wgpu/src/shader/image.vert.spv | Bin 2324 -> 1596 bytes 6 files changed, 51 insertions(+), 19 deletions(-) diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index f8b5bb8c..56839cf0 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -22,7 +22,6 @@ glam = "0.8" font-kit = "0.4" log = "0.4" guillotiere = "0.4" -debug_stub_derive = "0.3" [dependencies.image] version = "0.22" diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index 9443b876..2fd73b54 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -15,7 +15,6 @@ use std::mem; use std::cell::RefCell; use guillotiere::{Allocation, AtlasAllocator, Size}; -use debug_stub_derive::*; #[derive(Debug)] pub struct Pipeline { @@ -477,11 +476,9 @@ impl ImageAllocation { } } -#[derive(DebugStub)] pub enum ArrayAllocation { AtlasAllocation { layer: usize, - #[debug_stub = "Allocation"] allocation: Allocation, }, WholeLayer { @@ -518,16 +515,35 @@ impl ArrayAllocation { } } -#[derive(DebugStub)] +impl std::fmt::Debug for ArrayAllocation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + ArrayAllocation::AtlasAllocation { layer, .. } => { + write!(f, "ArrayAllocation::AtlasAllocation {{ layer: {} }}", layer) + }, + ArrayAllocation::WholeLayer { layer } => { + write!(f, "ArrayAllocation::WholeLayer {{ layer: {} }}", layer) + } + } + } +} + pub enum TextureLayer { Whole, - Atlas( - #[debug_stub="AtlasAllocator"] - AtlasAllocator - ), + Atlas(AtlasAllocator), Empty, } +impl std::fmt::Debug for TextureLayer { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + TextureLayer::Whole => write!(f, "TextureLayer::Whole"), + TextureLayer::Atlas(_) => write!(f, "TextureLayer::Atlas"), + TextureLayer::Empty => write!(f, "TextureLayer::Empty"), + } + } +} + #[derive(Debug)] pub struct TextureArray { texture: wgpu::Texture, diff --git a/wgpu/src/image/raster.rs b/wgpu/src/image/raster.rs index bca2ebda..648df0ff 100644 --- a/wgpu/src/image/raster.rs +++ b/wgpu/src/image/raster.rs @@ -3,9 +3,7 @@ use iced_native::image; use std::{ collections::{HashMap, HashSet}, }; -use debug_stub_derive::*; -#[derive(DebugStub)] pub enum Memory { Host(::image::ImageBuffer<::image::Bgra, Vec>), Device(ImageAllocation), @@ -24,6 +22,17 @@ impl Memory { } } +impl std::fmt::Debug for Memory { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Memory::Host(_) => write!(f, "Memory::Host"), + Memory::Device(_) => write!(f, "Memory::Device"), + Memory::NotFound => write!(f, "Memory::NotFound"), + Memory::Invalid => write!(f, "Memory::Invalid"), + } + } +} + #[derive(Debug)] pub struct Cache { map: HashMap, diff --git a/wgpu/src/image/vector.rs b/wgpu/src/image/vector.rs index 9bddcc2b..a8746566 100644 --- a/wgpu/src/image/vector.rs +++ b/wgpu/src/image/vector.rs @@ -3,14 +3,9 @@ use iced_native::svg; use std::{ collections::{HashMap, HashSet}, }; -use debug_stub_derive::*; -#[derive(DebugStub)] pub enum Svg { - Loaded( - #[debug_stub="ReplacementValue"] - resvg::usvg::Tree - ), + Loaded(resvg::usvg::Tree), NotFound, } @@ -27,10 +22,17 @@ impl Svg { } } -#[derive(DebugStub)] +impl std::fmt::Debug for Svg { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Svg::Loaded(_) => write!(f, "Svg::Loaded"), + Svg::NotFound => write!(f, "Svg::NotFound"), + } + } +} + pub struct Cache { svgs: HashMap, - #[debug_stub="ReplacementValue"] rasterized: HashMap<(u64, u32, u32), ImageAllocation>, svg_hits: HashSet, rasterized_hits: HashSet<(u64, u32, u32)>, @@ -144,3 +146,9 @@ impl Cache { self.rasterized_hits.clear(); } } + +impl std::fmt::Debug for Cache { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "vector::Cache") + } +} \ No newline at end of file diff --git a/wgpu/src/shader/image.frag.spv b/wgpu/src/shader/image.frag.spv index ebee82ace6f4e41c6b3600a9789303ca71608f98..6a6445b4af2f66787c836fb8168207b4726ae58b 100644 GIT binary patch delta 34 qcmZ3(dV+E_-dk4b+ delta 132 zcmX@XvWAtLnMs+Qfq{{Moq=N_cWfdv12Y2?0|Ub$Mg|5}1{NS>V8~6(%mY$jJ|~dQ zk9W?`$u9!(Ss8eM{L=W4)QXbQqExUNRt5pESa4!)K~8EBSd4{13`m#7hn6u+Og+xX PFj9!W9 diff --git a/wgpu/src/shader/image.vert.spv b/wgpu/src/shader/image.vert.spv index da76eca03a162a12a8b45737ddd01512fe1ae6da..cceff73aee6192c1efa1dd515293cf6272282006 100644 GIT binary patch literal 1596 zcmZvb$!=3Y5Jf9C4heyT5Hc{xJjVhA4i*bQNC-#-#D+Lv=3$4#h6QZk17N`iz}K=t z;vBy&Ct$KqYoYdIP)5eqRpv4hd`QUA-=5B+P`uc}y# z=0vDwiG8j^;M4n$pY`X#QLqS>!76Bj9vFfFYBh2$WA)RqdyTDY-a5vfY@9V)B{nA- zCH5?1dmKh9cCoI7+Wh0{?>wlphC0v6z4~%>Kg~%!bwijvtjk{1XWX5z2RSY~j)MW! z)n&i?_?y7x_ZfF4QN#)=bshHDhyEJgEVcsc=&fsPz9OD0zWl8cd*|lWAHk}(mU_Q! z2FR;7b|!KeJCo_ynHanOWbv)3-q;zL_q@|sbKc(uzh|&=##uk-wF-L=%$d4O#K^VTu; zeara`53v=R~wb{_a3Y@!a55%YZ?0naz2lXpZYh%o?~A(cysE!OPBm_m=^Xn ztTXjr>O3=E!groOP?`5ls*z9434CY#y=YeO)yb>zj@E#4eu~C;9jJ39w}CI`J&aNL zCQkvi=B#mtuII7xJJj<1bbxQ70(sshzI zb&vIX*(Ub9?i9x5E$tM}vofE#dvKm%O>@3AbI$HQ*aq(RJ*xFvobMB`4}2r`u6_*U zf1xpcRygZq?=SG3oh!MQ_;S~b#Qx?H#0bM4jdI>b2F`6`!*Y}=Rb>gT&zszDnV3|GMHr;@th#OZ9eV`9XOG{>iVdYa78(&6tw=dqENooBD&2)P}cw?uh(B`9~x( z0&6gg{T&n*wW0QQSB4pw=@Ocm6%Z zoR>}<{Hk{4J;ANZ&wX7MxMS{-8q9Q5fG>nQ;hTiBdqG-$MmqW2gXND)&j^-3A)Op} zt6}|K7stKss2}#eA;7VWyD1$mAy~~@(uu`K%}K%HZ%e0VmT}Y4?SG4LGlAn?jJp#! z?#H-U>70RO++FE#^km#z;Ntb}1ukCizBt}F%W@w`hl|&n4_v(7Lg3={7R50SmeqSG z9WGvPDRA+6j{-+Mo9$!i%#fKeBW7a0W$Da=^K)L#XTB%WIU8r8cX~D7igfyllMdJ3jyBjm(t1mr5ya*0x|IR=3Ytf5o}hk vrNgm|dm|k#{^km@iN$Ac?x*(Q``!`Qix~Rdl`IN5fqpp;HgSJdbxHUK2YiXv