From 1916755b6b3f84329c3e3f3e9a4e1b6d2b4e45a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Mon, 23 Nov 2020 00:43:59 +0100 Subject: [PATCH] Limit border radius to max dimension in `quad` pipeline --- glow/src/shader/quad.vert | 5 +++++ wgpu/src/shader/quad.vert | 5 +++++ wgpu/src/shader/quad.vert.spv | Bin 3372 -> 3604 bytes 3 files changed, 10 insertions(+) diff --git a/glow/src/shader/quad.vert b/glow/src/shader/quad.vert index d37b5c8d..82417856 100644 --- a/glow/src/shader/quad.vert +++ b/glow/src/shader/quad.vert @@ -29,6 +29,11 @@ void main() { vec2 p_Pos = i_Pos * u_Scale; vec2 p_Scale = i_Scale * u_Scale; + float i_BorderRadius = min( + i_BorderRadius, + min(i_Scale.x, i_Scale.y) / 2.0 + ); + mat4 i_Transform = mat4( vec4(p_Scale.x + 1.0, 0.0, 0.0, 0.0), vec4(0.0, p_Scale.y + 1.0, 0.0, 0.0), diff --git a/wgpu/src/shader/quad.vert b/wgpu/src/shader/quad.vert index 1d9a4fd2..09a278b1 100644 --- a/wgpu/src/shader/quad.vert +++ b/wgpu/src/shader/quad.vert @@ -24,6 +24,11 @@ void main() { vec2 p_Pos = i_Pos * u_Scale; vec2 p_Scale = i_Scale * u_Scale; + float i_BorderRadius = min( + i_BorderRadius, + min(i_Scale.x, i_Scale.y) / 2.0 + ); + mat4 i_Transform = mat4( vec4(p_Scale.x + 1.0, 0.0, 0.0, 0.0), vec4(0.0, p_Scale.y + 1.0, 0.0, 0.0), diff --git a/wgpu/src/shader/quad.vert.spv b/wgpu/src/shader/quad.vert.spv index 7059b51bc4575638f541d299aa07e0a12e4f6599..fa71ba1e0a7ad7b811e3d52bb1c7013051410aa8 100644 GIT binary patch literal 3604 zcmZQ(Qf6mhU}WH8;9zKEfB-=TCI&_Z1_o{hHZbk(6YQf`T#}+^Vrl?V!NvVez>vhiz>vzo zz>vkjz>v+rz);Mfq|8Qg#p=25TBEQfuSHiARnY2#0S}v ziNxn;U|?|1$xlkmDP~|}U}FIBLGCGy4=GB_D^ANV%4J|z!YC8YX9I^6f!#KSXFN;1GKs7nih&ty7RbFIdqC+$32Fw64@&PKArK#w{z2}5sRzk{_^e>FSit!L z#D}Q|#XpD-@-s+3D8GRCAUA;cpm+!IL3ski2jwFWA7(x%zCnDLeo!ET_%QXLcn0xd z_Ji^rh|dP~FDRZsZUKcKi1uJ$g~uI84CD@&7|2eL7|1S|7>ErLgV@Im)(cVxaw{l~ zKz4!56=q-p=W#`FZf5|q#Tb|wK<-drU|$tP1V{{I2gp27oP+EFl@}oM zKzvaAg2Y4_SQvyD7#Kiq1DUT4<%3E+5FeypgaP6Yka-~eAoqacA0`j-JIJjdd60UT zSs*@0J%|rVA0YK0`#@<9BnApEkbNM&3W&qNzyRZ`L&E^X2brS{k#_)@uLlh;kRM_4 zMqv2{dl=sY%x7TGVPFS`jTHj}14s;nL25xXOsx$>t-THdD>xo(85kHqVjv8%FC1KU zL&6y39}pi@zJbyNNInwkR!|&(`px83QXgFM!f0NDIh}9}G+kp!^C_3(5na`VSTcAU>#`g7HCV3{)?{_@FcZs&_zq zTWFr*0oUma42}$}44^bC%D@1w_dsbGqz2?aF$M+(ka!<7uEiM`7(n_!;&u$o3?Mgv z#6apnW=lcqdYGBgSj?1RU|;}=!_1UrU|<001Brvo1o;Cb1~L=m22i;Q$`2qjL2;uB zwF8s~U~1GD7#Kj}Ff|%bHJ~_ysnKL$U;v5pFtCHm11)Ge1nC3m2g!FZu!7}u7#J8p z@}PVKQ?HAp9^@vF8jyQI;S7=k*$oPJP@@Rs2W0mdGB7ZJ#2caJ8#6F4fW$y~D*&43 zOc@v$K;odh2E#Bj%@`OMKxQKQ$DDzI0VEDH(}ID40VIZOrX@5VgXCalg2Dq7SJn&+ z;P`8X#;qL#0|Q75l%E5k?zCrMU;v4O(jZI>RR4j*K(D1_n?Vg2D_GMxZc($pteoFo41Xiug)lHMfcysX3&`ytx5DH?85kHq z?gY6DskJV*{yzJvHMxj1P1 z9wY}U%RzjQ94Or-Lem{c4peS~_%OL-XgUYUfy!_YA0!7V2htcAz-?_%o&c3s=~&7Z zP~>nG6gJAblWlkeQ%zA0!4dGY8t|fSH+##Y|8q1|$wMGoOKh0i+Kk4l)x| zcYwq|W`N4{GN>7#vL0j)C``*47#Kj}Fg~cE3<}Rl46NYxNF@UU14s=>9Ha&mPSwzU z5G)PVFfcHH#6T$vCRPg-1Enia{DI=7j)8#zq!uIx%Zn2kSi$vrJp%&+$S#l?kb6OO ZZ3DE=1#&OQKOjCx-CqVq1`7s81^`CS0)+qo literal 3372 zcmZQ(Qf6mhU}Rut;9w|cfB-=TCI&_Z1_o{hHZbk(6YQf`T#}+^Vrl?V!NvVez>vtmz>vwnz)--zz`)GF%)rFJz;K9>fq|8Qg#p=25T6sIEvF(;LQm4TT- z5Tp=lt_0W~m>dh(FPU()tPJuXHzSz|avR96`SH&AIr&9kw}bqh3Fotc!yrH2DZeNs zwFsgLEQ!-17A?AU?6=oi?I4G=P>ccZr zN;1HHWrKu2)P7{~bOr{7^qlyB)S|G|qLS1KQ1F1l6eJE}gXHpyGfOh_^BC9|*cm|L zpfClCXXcdzXI70%Qg# zd_n1>3>qHp3@i+wxR+x9rCbIE4+a)+oI=!s_>edT@s&XY1F9H10|SEqk{HO{AaxF) z^uxdmHVfolkUgMup#(Jp##cn*gVH(39WeEvbO7Rmlz`NO(gBDM@*{{3$_pSq$W9O+ zlrKPhP+AA^L3sqkhnWY8cMu<@ACz}Me3*Jre1rI`V7Ie?^As{4l)pfHHmH9=@dR=k zDEvUQ2LmfS?m%K7cfrI!ZUBja?1qVf*dQ^8{mfv!Aax+OgW?Ee7sy;;1}1P`Rs`p2 z1~6NUftdm14h04V25|-!22ebJ_#piX3@i*B3=Ci~kT{6X1&v=2-|np@F)%QI)POKZFNg-I1(^jd ztQi>Wbr@K|;cCdhzyJ~hVUYda;4&8yW+4B7_@ML)ier$xFVrqjn1bX%d{BA@`4_|o zsRyNJka`dwBo9i@AbF7fV5s>ZKZ4{zd{Fv^sR!{v=^MlcsgHoF2e}=j9>fQwcbI$> z)IBhH5FeEOLH5DagUUIOdJrEZ4@&+uj1Njvp!x>Hw}s{z9&p{vz~IQh$^c4}q6`e+`U{j+ zL25w$5o2Ir0EzcO<6fMBfdQlsByPvR%mA_zBnDCsGFu8-XT!{t#$u)n0|Ns{9A>60 z0|Ns{A4nWzCdl0&F_0Ocv<)g#L1LgZ53&d3E)@m_29S6o11mW1sxdGyfW$y)HvpQZ zH5eEeK;odZ48t%pwHO!}KxTsC5N4(}0|Ns{9A>5t11P^RFd&<$3(Y4WIhdIs{UE>V zGcbU|qZt}jMhpxLATdyW352@Sn1O)-Bo2y0n3xGv3>42Wx0^CBFo4v8?{V#wy%K*f;FvxSNw zn`g(szyK;wkj=A)iXoc^swY9}kj-<1szWxiuc`z_AfcysX3&`ytx5DH+85kHq z?gY6DX)Xf;14tak2Xz=g;W>$c6t2kpTei)9d8`