From 31695cf349337134096a3506a34ac12b19c97d95 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Fri, 18 May 2018 17:46:19 +0200 Subject: [PATCH] VmaDumpVis: Improved coloring based on new Usage parameter dumped in JSON. --- tools/VmaDumpVis/README.md | 16 +++++-- .../VmaDumpVis/README_files/ExampleOutput.png | Bin 64489 -> 98005 bytes .../VmaDumpVis/README_files/Legend_Buffer.png | Bin 214 -> 0 bytes .../README_files/Legend_Buffer_1.png | Bin 0 -> 1705 bytes .../README_files/Legend_Buffer_2.png | Bin 0 -> 1590 bytes .../README_files/Legend_Buffer_3.png | Bin 0 -> 1877 bytes .../README_files/Legend_Buffer_4.png | Bin 0 -> 2195 bytes .../README_files/Legend_Details.png | Bin 194 -> 964 bytes .../README_files/Legend_ImageLinear.png | Bin 214 -> 0 bytes .../README_files/Legend_ImageOptimal.png | Bin 215 -> 0 bytes .../README_files/Legend_Image_1.png | Bin 0 -> 1739 bytes .../README_files/Legend_Image_2.png | Bin 0 -> 1592 bytes .../README_files/Legend_Image_3.png | Bin 0 -> 1719 bytes .../README_files/Legend_Image_4.png | Bin 0 -> 1925 bytes .../README_files/Legend_Image_Linear.png | Bin 0 -> 1432 bytes .../README_files/Legend_Image_Unknown.png | Bin 0 -> 1449 bytes .../README_files/Legend_Unknown.png | Bin 0 -> 1356 bytes tools/VmaDumpVis/VmaDumpVis.py | 43 +++++++++++++----- 18 files changed, 43 insertions(+), 16 deletions(-) delete mode 100644 tools/VmaDumpVis/README_files/Legend_Buffer.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Buffer_1.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Buffer_2.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Buffer_3.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Buffer_4.png delete mode 100644 tools/VmaDumpVis/README_files/Legend_ImageLinear.png delete mode 100644 tools/VmaDumpVis/README_files/Legend_ImageOptimal.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Image_1.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Image_2.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Image_3.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Image_4.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Image_Linear.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Image_Unknown.png create mode 100644 tools/VmaDumpVis/README_files/Legend_Unknown.png diff --git a/tools/VmaDumpVis/README.md b/tools/VmaDumpVis/README.md index fee2392..97a396b 100644 --- a/tools/VmaDumpVis/README.md +++ b/tools/VmaDumpVis/README.md @@ -28,7 +28,15 @@ You can also use typical options: ## Legend * ![Free space](README_files/Legend_Bkg.png "Free space") Light gray without border - a space in Vulkan device memory block unused by any allocation. -* ![Buffer](README_files/Legend_Buffer.png "Buffer") Yellow rectangle - buffer. -* ![Image Optimal](README_files/Legend_ImageOptimal.png "Image Optimal") Aqua rectangle - image with TILING_OPTIMAL. -* ![Image Linear](README_files/Legend_ImageLinear.png "Image Linear") Green rectangle - image with TILING_LINEAR. -* ![Details](README_files/Legend_Details.png "Details") Black bar or rectangle - one or more allocations of any kind too small to be visualized as filled rectangles. +* ![Buffer 1](README_files/Legend_Buffer_1.png "Buffer 1") Buffer with usage containing INDIRECT_BUFFER, VERTEX_BUFFER, or INDEX_BUFFER. +* ![Buffer 2](README_files/Legend_Buffer_2.png "Buffer 2") Buffer with usage containing STORAGE_BUFFER or STORAGE_TEXEL_BUFFER. +* ![Buffer 3](README_files/Legend_Buffer_3.png "Buffer 3") Buffer with usage containing UNIFORM_BUFFER or UNIFORM_TEXEL_BUFFER. +* ![Buffer 4](README_files/Legend_Buffer_4.png "Buffer 4") Other buffer. +* ![Image 1](README_files/Legend_Image_1.png "Image 1") Image with OPTIMAL tiling and usage containing DEPTH_STENCIL_ATTACHMENT. +* ![Image 2](README_files/Legend_Image_2.png "Image 2") Image with OPTIMAL tiling and usage containing INPUT_ATTACHMENT, TRANSIENT_ATTACHMENT, or COLOR_ATTACHMENT. +* ![Image 3](README_files/Legend_Image_3.png "Image 3") Image with OPTIMAL tiling and usage containing SAMPLED. +* ![Image 4](README_files/Legend_Image_4.png "Image 4") Other image with OPTIMAL tiling. +* ![Image Linear](README_files/Legend_Image_Linear.png "Image Linear") Image with LINEAR tiling. +* ![Image Unknown](README_files/Legend_Image_Unknown.png "Image Unknown") Image with tiling unknown to the allocator. +* ![Unknown](README_files/Legend_Unknown.png "Unknown") Allocation of unknown type. +* ![Details](README_files/Legend_Details.png "Details") Black bar - one or more allocations of any kind too small to be visualized as filled rectangles. diff --git a/tools/VmaDumpVis/README_files/ExampleOutput.png b/tools/VmaDumpVis/README_files/ExampleOutput.png index 0aba87e65584242f5df52b77cec7deadc26bdf8c..2646ed225d4efa623bfb460ab7a53d9907b81569 100644 GIT binary patch literal 98005 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 diff --git a/tools/VmaDumpVis/README_files/Legend_Buffer.png b/tools/VmaDumpVis/README_files/Legend_Buffer.png deleted file mode 100644 index 3acc825be2490f7fa3c7c31002fca4b65bb5113d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBhlxaUKz-bv}}dfI_mFArU3c`MJ5Nc_lzD1A}u>YGO%h zib8p2Nrr;Er*A-tUMf3K+{)9%F~sBe+p8OS85DS!9h*0)_dN6A5><{^^h5qYc-0L% uuCPg4uJ!elM+ZLyo5aBIkKxtc`c>SjW$a)7vfeNNiF&&FxvX zaB^>EX>4U6ba`-PAZ2)IW&i+q+O?Q%mg}evMgMCQJp?2Wg5mJF)|zw-2-no|nD7?c)@*>)k+k>^JJ;jj|6UX`f(kzfR=&GJ)F%rm_#@WuG}* ze%FgE7jv?E32lFV?)Nu0;E&cJc$27+E#Mf$nZ=CjBrX{I)|a8)w)t-pJ^!ZbqXL^` zc=is*%|Z|Jeewlo#Sz!CS`62Mz4+jFOF>J>8LsoyukW{amebYr9r**&+ZDfPzaveX zL$5dd6QOuJf7{Obr=9MRZrtu>j`240LwhqYnsZ##l@K90?xOgzSS||& z&(-Cvtyjcu_*0jbv)7)nCxk=;&W=76d*jRkjFSU*EFi!|}v2#pCa zva}6%SUXQKpM3{>@eRwtqg8IU@HTDUrfUeX?m8#J>R}AV+uHcWPCt2Q&gCCwmo|6v zg|DoY4J#HoW^#goW-Zaj6=5-2Tp6{Pw_s|~%#vj*lza+FQ%sgp z%Bf_@9vN3N;xVV3b19g#VB~_{1rL-`rTQAG)>y5knrmr7&9~6B#bzzF+)9`3JL0&< zZawwf%iw{fG{VpkhmADyC=*L<`WdFqIBlkxX_gzc9qX6<05#sJ$wq2DXg6wTHMKYyWA}%gl8@(bBY==I z$k9Ug19D%veMhaAEpPda&@%X-bR>nb?<~({H#9KnK{p(@c6wQ>9P0dMR@jHb;6zVP6Yk2 z;jw?j;(4LsV#A{oD*ar+#RdI^1UjtYI}i{+?-U%tK(9F*!$9vf{2T+l=J2ebs(Gw$ z*COXokwk`HF{j3eO+l>r9FdZ;N;YZL95h$Fqtta+VG~IwPs|!&5V8!k%#j3^TN6WW zsIwWwQ;cba(}189WV>Eppohs9lLDLqO3SSh(*Ab%X_4bme- z=^fG|I_VT$Uk7@x^BqxohxCY2I!W1I20B2LJ`K`mopeevIu^9=b<(Fn`mB^rN=Ls4 z+9##-X^=kaq*Id7c|i+je;TCEMCqh-^j`(-FVZf38l=xU$({5Xp-+SKnJ9f4q|Zv} zq;zy3X#YZ#&iFQ3I_Z>T^m)*J)k$Z38!e@DQaU;*XrYwO_%>QP>6B#j9|i5_-$sil zZAHDwDtc6tUqz246g?>ETagkN(+}o=2ETB?D-PF=5^9D*RR7YE-=*p_q zQ0}F+)%IPsatyUzEvVH-#jjQC-HotnHB@7~Rb!cSm1A&X@2gf*5LuPpUGKVTwQT~_ zlcB77vg}sej6ip~_Fw&$Ulk=C*6>BbG9h3={#?aH z!ygws2%x_yxPiE8cp-rfXn2c(UUN8xfnIYshJkhs(y?q?37wOwYcBabVkvkID?Fk) zFD+q(cdT%f=&eg{bN1{U{R;}>36zTxhFJgr00v@9M??Ui0H6S%hRWJu00009a7bBm z000XU000XU0RWnu7ytkO2XskIMF-*q5)T$F_p`3j0000PbVXQnLvL+uWo~o;Lvm$d zbY)~9cWHEJAV*0}P*;Ht7XSbNJ4r-AR7l5ToIQK?e+C)?76t|ehLoQ_X=3;sc6J6P z1{#A=3q~y%wP4hOQ42;b7`0$aNnh6H30VZ{000000NkvXXu0mjffE^P8 literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Buffer_2.png b/tools/VmaDumpVis/README_files/Legend_Buffer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3773fd6283298753e3ae7f16ff43dfc86cf2bb GIT binary patch literal 1590 zcmV-62Fdw}P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=NGmg^`ChTpY{UIIc0!EzYS=^ga)`^Q6S$i1ml zTz&fG+KC5@5WhaaU>g7YJ?SrO5~HJ_mSV;gwva>i1sBQfTiK56!gkzm&S(5Foo)|2 zk_2bjZ&N(d2hu(A`y;&_}Z(+cn)**=bsF5w;7`!u!8Q00XV2E2^6&2h3-yD6ur!%WZo%|3M zhvQa5LG>j`!C7&{wO=WQYcGOhki6Fvv^+V(bw1P zo)6>`p?Ew0GM)7;o!%qexV`fn#-7k68gO>lRP2p2dtjU#xO3sjV>>r)sABNL8_wQ0FWd-;2{5v6 z8}6`np57!&2YfFL%|VdrZ*}3#ZQk59bg}L_CqnCC6vi;Qw9_-0=3Mb%c4-SY?|l7g z*{H=L$4riq4Mcbz-1G?W5#~?Z;wm7hTbL6B7FSmZz+aW$8kcOK1sN6Ry&tjlqX2{m zHBeNB1q57VQI71)dopGOG67IQ)x88?frV9lMfKZ8q zPMAQb09FW!_G2NT4HXp)sv6ZaY1R@Yt{xVn#WkW96APvm%`92ALP=6cnqsn)QcflN zEEsV$qd(@9b1nr=3ra4qF33FCEjcI&C< zUIq^|r4fdXIBcYmN1149Q)ZYtmMJ&2OYuM!Qi%s@Yitui-=& zGZ6EE0o)b=7V>^EbBROni`-)7@)`owqmsJdbY8?jFbwuO`Nr;zoRY+!;YI-Ae}Wt> zbWf1G=k_aVy=>!_Y=l-fTtRh$-q&mKX)72;sf>d6oDUIiI)r4Xm+q`;G>ueR%*}EM z+NGF>tf5d-gTncYqJZn14V|sQwK7K19#>kQ*{1LutZh!<*HJve)`hqR8#O2t%S z;Em-*H3{$y3!Afygc@Pk9oEdI3nMi)Og=E@K&SV$1?iZhtZU4C9-ir|3}2r`s^&?n za$&2SObo+KmX>In7Fk*xw8W*Q*XC9nUBJr-YMZ{-P3zIUbWF!K@oodc>2wwQ zH)8ahbh?WDlulQ%|C!eOnb!Q7*8G{){7=)G^|?h|Dm}WGMo{yiMyw$nZQomZjGYy~ zm|HBtattP2O7_M4h$+`RJ64ETo;EBoJt8Loi_zBi#i-Xw4Kc$yl>7G0#X05ulZ(aj zg!!BG`VtZ1TDyL*#On6m_M_z|LwerlW0&;2&&Mw5d7qD6((^tayQJ4bd+(B73+=s2 zdM&i~F6nv;+70R3p)FccEQ}r%TxImA;ZkhqBFz~_9V@M`-aS&$fHKjCD@z`@%lKh5 zO3;}x>-ZNt2%UtO7HM_>000JJOGiWipa7r%poYrYVE_OC32;bRa{vGf6951U69E94 zoEQKA00(qQO+^Rd1riSzGGm~UW&i*H8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*P zO;A^X4i^9b06R%UK~zY`W1KyE_J0N%0u}}a28I-cdo(e8&I2U|CI%XVQ42;b7`0&3 of>8@bEf}?6a9F?stNm#O0G!GPqLgw#9RL6T07*qoM6N<$f`YyJ7ytkO literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Buffer_3.png b/tools/VmaDumpVis/README_files/Legend_Buffer_3.png new file mode 100644 index 0000000000000000000000000000000000000000..992d8b295330b6a876b6edb6390727ea5fc7cfe2 GIT binary patch literal 1877 zcmZ8iX*3&X7Y>Gq2>Ky*(m|^RrM8wCMS{kXF=*`>G(qhm#MTO0id3gctEeq#Eu)sE z6g9Pvj4ds-Dyu`gBCN&5ACKfd=p_qpeN?sM<^=Q-!5*`ur=Lb5^t004r#gmBJG#aB!aR%K-o&K!|m6!8>>pU}3mW-)liw7(ONp3&TcV^92B+rzozjxSI1~N6#Dw zPB^LOJfQpE$(0+}Jgr*H+S85Nt~;4$A$TUo)w($EFyX7nAu!|WizPioQJbNQ2d>{& z9?_^76Fk{WnMGv=9(kbdf}s{kuY#V?))@*6=q?M5-j6y*-Svc5u1it3Z?zd>=yM(D z8+etrNUyz=GwYDF*|@0bn8_4ueEPx{u~l@!+PD#IlK>MN|{2=chK4CPODooLMM5N<44tKXC zaYn`KSr?Iq=NIp95v{q&EzT#4|Z7YF(7``5-%tyjxS&4=Ej}^up#)C=^DyvP+JoT)Ewe!!p6OSxD zX*Od(nopljgl^x4Ps;%;Op5_sy!<4;-}Zu%C=$75n46|DBRXk8i5fKla;9zrr$xiH z!6SxjP+OH7#a)LaX8ts~Q-x%&2G{r?u_^9>5XMSIR;}v$kCshl6zL9po_|7KhIQ~m zOm2$7g&vh6r1TG^eMo1PG524G>wBA2V>IcJn8wTTmrqNTFoZbDSN=tbbAnG!One44$gw-F?r0DK((ACZR^k ziSDW2nw=-v1=r6`3DfI%i^2y8^weAxRIK3Dz_3OK5K%)YMuqPw*8w34pwh9R*HK4} zY2>bOG{UyKpt^aHEN3S8S)5ACX7e+SM_IaKZs>MZo01EV)0LLmpWXTmmaoW3rPk(e zQzDBT`uqmIrb?*zaAya3xXPV$- zakf1JRPaee@$o%Ej&ZEr%=$~R?p7_%%5TY&k=Z`F$4kKLZwxh)s}l*m3Z9TQU4PE| z2JVdj?dHBpu{m7}E28a~F4?ZM*(*_P2r2~XWu^Af6D~Npi%7=pZp1_foY3vK43pWW zIf@e>bm|$Ankt}rks=vR$@?Z7W6)F8Z^=Fas;H0tRM)}Vk=rPDfw`gd#(T>vM~ls^ zUn@#hd$WAo`B3pMon?@E6GSWcZTkx2pBJH%kYVa?jwulzXk`dUpmh1Qsw#3(-IlG; zb!vJWy*u8zUx}|+sgwza4`&yMZ-M0SmcY5qVWuf2)C1;qS}p_JV%z(^|Lg4W9q^%+ z2^u2$9c`>bdTCM%X779Ys=wprw82)(b@>G|0*fvv+7hVr7e?7|jqa7qp6cu1pQYT* z58v^N9`XEqzVjO;$e{wmcg(+06UD82oB_C56A=?;?e{5u!9S3=dTud1%#4+)NWqVr zh!}7M@!W#+r}Brizv}KP|NOt6rl6&D7JZ)k!wJP5`1(gfI#WTJ)AqtvvG7M#y%kC% zs=sRAC+67Ld(D=C1ZzqqhepP0L_Df&+pYJwzIouXta9Ko)Nl^E)ZiJDSoYIdKvYXj z8*$6pb+j#u7t~ka%#!MO{mL4arU`}N*r{t%zIBm+lv@Jy2LfB+jb1@wxRXH66q50+8K z=SeZ5p~pWRk~SiUXT$z$v7x_PsS4lBXQaHY{{LoUGXv%y^Bmnmw&G&uno25eXB2um z+|k0>ZYve7+Q}Pr+A=1a{kGSR6X3h|t{9y~W~JetBfj!savP$&4`~q2CKB+mu|fcf zxi^J6<;`J0VV7JZ006K!H+TSf1>Cg-#3Su2fQ$V95tY_ZG;E}DC>gwk3mzUC9E=UY z1K>EUHy(?D5w79=VOB^xd*?(EDUQepi7<1z)W;gDhX7#0d}hh#)NL7SLXyfZr3Xr{ vont3Vgsx;gf0s!jxH~Rz^xSg{SbddH1uobCj%WROWW=SA7AQomxmVJ^@1u*F literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Buffer_4.png b/tools/VmaDumpVis/README_files/Legend_Buffer_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d29f54e89c314be12ee15d25eee46fd3198315b4 GIT binary patch literal 2195 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 V2r^V86(s-w002ovPDHLkV1h9f6r2D6 literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Details.png b/tools/VmaDumpVis/README_files/Legend_Details.png index 450c7c79b97db13a34be6df1e21d83760f7e32d7..a9c8535273bfcc354651f6beb04256d84c34bfda 100644 GIT binary patch literal 964 zcmV;#13UbQP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=H0lH@21hWDIej({YD#Bnf>h`zxbe|~K2%BrrY zsfq5zEE*z#l!YYpA!mm1_m3I=LL;#plA7m|b3{ue6|Pu#yjnd+is>A$c0Z%{@<8_k zhDb2W*3Vl$AZO_FmbY!ELar}{%GeK%_Ydke#J(Ne5p738mxH(shq?_3Z_nxaeq6_j zxwyR^p>6$HUyh1TSVI!yteGrfOdQQ}!P+?{L*DudRP6NsIQsZK+^US2cnC?vct$7) zUtB6?#fUX8iDAu{mwX=?v^Ye=y4-pFx_uRSxI^Dq-yv1~9QCt$AsxkLP#tDbJ3FT)6Sg*?rD&ovx;gBjz>B6OC-2e6PTcLd2vBm)kr0KT!u=u~CpONEvzxmYuZ4@?jjILqSiF={E1XtX zuGn3nQ0u{m9O=*_A9narj@mdhX{l+;&6>B;YUeH;b=-5e?!ELnXy7W1G<4))!$%o) z;;K!VY3j_=rq2>)eW=kc+mHP}P@_$aPf|Fwg`{}=EW>J zrNoQeVipUdDwGkVE;yYQF%V3HSSLN~-pFZ?{Cl_sfZ*RjE-ZB4Aonx3i!zPIEg zw90TLH43V4mN~q#*Y!*J#PJL7=>BW=KSdbAE1aYF-JD%fR4Vl$uzQnxasiS(2gP?&%wlqL<1J z6j$?faSZV|{`RaRBZC4D!@|q|=B9IgZ)Td46;%?gCcweM)adZxIP<&HjQVR^=GlOZ N@^tlcS?83{1OT-iGVTBX diff --git a/tools/VmaDumpVis/README_files/Legend_ImageLinear.png b/tools/VmaDumpVis/README_files/Legend_ImageLinear.png deleted file mode 100644 index 4bd3672edc8a273bc07690c63f4dccc457b9a87f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBhlxaUNks=d6F?Kq1-8kcblJ{M_8syb>Unfx)>bHL)Z$ zMWH;iBtya7(>EYRFO?lAZsqCX7~*mK?bVIE3<^BVj?J6YCC~bBi7H1d`XPTHyy}J> uSJcdx@v7EBhlxaUNl#<5%{d1PaM!hD4M&=jZ08=9K`s3=Gaisfi`2 zDGKG8B^e6tp1uJoda3L{acfT(#}JR>$uS!e4%V|tF^RFUv9+;({AgkrllahyO^r>e sIgr~;S7K|zl_n^oAmRYi>c5$+49X?!rOYCa9)ryHboFyt=akR{0B2`9%m4rY diff --git a/tools/VmaDumpVis/README_files/Legend_Image_1.png b/tools/VmaDumpVis/README_files/Legend_Image_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dc180afb93147f9033eda6cb1031a3722a768c02 GIT binary patch literal 1739 zcmV;+1~mDJP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3#vdg~|*h5u_6vjh+b!E*R~p4q`He-1WDLz>&$ zx`|t3V;Lm992%ASfBz2p2Or15kQa?1g<$aU$tTXZi01s{<7|yT&gaeTnce&8{(#Zt z(7N+BhSlHE&#>p!U)MMp{qitS>gz$-ALKO<$2Gy~zfI)qIe}RNQ(gl(UNigizMNs1 zkfJ_@P?!B!&yO_Vm*&Yk}I)n4! zp@aJ_x{OwE#x>6##Wf%O_?(`C7L!q2r(0gX{(R**-CSSDH>CF~`-lDq(sU&B_P{+6 z3itM9zm<=EdPI6~dzd+d`^;NEA}CwTH)`{Dj26e}XLQ*IgdA2-_FOFIf`MI`**e|| zI26BP;!O5D5{?K-RN!oQr{JhISq8>oy=^wzVf)cmTj8ST&We_~va^-Y837}4J#hPZ z*umv<^qE{82+EP>hyb%Ga|GZoVm}s_J3u=a3ffagR@)i?DS`(A zXRHGO6RZ;(tWjoCYmvwZKpC#H^IU+%ig1II?41jM0~KIyyrcFoW#O|M8zDf53j`5H z5Xyk%yXs9BwQ6%DEyHEE{kqK^_o)EHxmIdO8> zaV0^IDW;Ti#-te|XS|(ZkaOYUiZ4<^(Gp84xiVE(eU%!j)>u=`jhk!GaSKgbY^mjL zJC;)SU3%!+V^2K~EVbc=A2Pzw5l5nt@6;C7Psb0a*+q>HQqxfH)X=MX8^X@*L?$y3 zV{ZXmCjsk-c``H6de4*GWM&dW6~b^*CY)v`F%b0KvJ87?_d!m`h4*kHfZ%tKqlxYt z&UP}%;PYjn@t=AZ;jS<)Hx7rsvRv2ffbV8 zpPtV*MyX>Ur*m|Y=tglJRsk`zCxhKLABxctw85x7`A$#H$B|Z*bb&e4P2Y` zkV0>%4?{9>}pX5{{C;FAYC7^ zmbL=3Fc>x#H)jE#prsx&3eE4O^WwMd7XwL{F`&Iiq0eC|_R~J_UAPe|Ic*VVPR^qvh;0$o?vE-t#RuDzvq{7sv*=(@UganW^k z?Jd0p83Li}>e|Ic*VVPR^lMxz2)eGWU0ifsU3*KvLiMob=$q<7RjVeUG!c|3mVMWl zbA$V?F)Hq?#684Ri_f{{2*)8jDar zkIe?<399zd8mf~xb2eSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{ z0028lL_t(Y$77s5d-i_@8Uhvu1_p-crztcse5v#t1||j?gHa1cEf}?6)Phk9MlBe% hU~pK#0;~OL1pu3q2Vmvl@n--4002ovPDHLkV1iZ1HKqUn literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Image_2.png b/tools/VmaDumpVis/README_files/Legend_Image_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fc35c7cd559f3fc0f3371f5ad5c621b0fb30d94e GIT binary patch literal 1592 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 LNkvXXu0mjf%lmym literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Image_Linear.png b/tools/VmaDumpVis/README_files/Legend_Image_Linear.png new file mode 100644 index 0000000000000000000000000000000000000000..36d8be511ceec7d382aa8beceaef31c986481ccc GIT binary patch literal 1432 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 Dx~rUc literal 0 HcmV?d00001 diff --git a/tools/VmaDumpVis/README_files/Legend_Unknown.png b/tools/VmaDumpVis/README_files/Legend_Unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..3053726c104abc5ce6e33d69c0413bc8e2403dd5 GIT binary patch literal 1356 zcmV-S1+)5zP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bxvfU^Q{MRaG2^Js(%Mq`t*}*J-8tn5-a&wb| zT?ShMA$3dGrvBf*gZ{zc)CUTpDdrdt93hA73^(aG4_hrCVYTPOO~1qAE}Bj7>Y_x}fHt^8HD=r=cLW7)Z93|8t$$zW{h4k<9ei@#vp>)-4?W!X z$s2k>i+eXEihJ+Fl3$*JEk}pqKHqTt`uNIoy19N){zB>fj(;J4Vwx79H-&#=DBk;@ z%2^(AdZu*o_Ox=0_myAdfsgzW^NqE6jnUE={fy2+M9A?9iqB*@69(hTL~G58I2D&1 zX@Wh^j5DDmD(GyOQ*c(!>_Fq-z>SRu_tjUfa51><6uooRd9DOu0vXxWMR%Ad50qi{ z4dgptkq(n?clU+YvUx36QDW_AoCw*&Fvghj(MjJKG{(e-`A7?HKKXSsv*E>Lj+qX| zFfhX7;!Q4qFPPts$*Tv0vS3aK(2g=Kfc_%_{Afo6Jqlj_gns;^3rAavD#@z+mX?WbmE42XjI`?%|CgBd zjJ0NK-|~y0S%wqT!=w6IF_)}Nh>HVG0L8jb7;gh{w^3ZsZViS|2r;D5qzpgx@~Z!~ znm(KUP}67AA8N{*VxzJtHu?~ngwG;02TBBQ3+38Gp>x)o=`i!75A1DLO3b4h-gv0V z77q4}gUl}wdFx4jq4?AO-4J%&gdni7J>vKh?XR&G+JyDHp%d$8FTX_lf%TwGSPN~!+UR>o|1PhEX%p6O zhWB1Lw}#wX0!?GgZAXLG409gFspwH)-Q%W$ZPYo z3G1`gKF@2=zbCI}_3y#@+0Z9>?FVhbdez#7ydItQ_CX>@2HM@dakSAh-}0000xNkl_MlBe%VAO(93q~y%wP0{qzyhoNX$1hE!U)I(YBXB_ O0000 iX + 1: - draw.rectangle([IMG_MARGIN + iX, y, IMG_MARGIN + iXEnd, y + MAP_SIZE], fill=TypeToColor(sType), outline=COLOR_OUTLINE) + iUsage = tSuballoc[2] + draw.rectangle([IMG_MARGIN + iX, y, IMG_MARGIN + iXEnd, y + MAP_SIZE], fill=TypeToColor(sType, iUsage), outline=COLOR_OUTLINE) # Hard line was been overwritten by rectangle outline: redraw it. if iLastHardLineX == iX: draw.line([IMG_MARGIN + iX, y, IMG_MARGIN + iX, y + MAP_SIZE], fill=COLOR_OUTLINE_HARD) @@ -154,7 +173,7 @@ if 'DedicatedAllocations' in jsonSrc: iType = int(sType[5:]) typeData = GetDataForMemoryType(iType) for objAlloc in tType[1]: - typeData['DedicatedAllocations'].append((objAlloc['Type'], int(objAlloc['Size']))) + typeData['DedicatedAllocations'].append((objAlloc['Type'], int(objAlloc['Size']), int(objAlloc['Usage']) if ('Usage' in objAlloc) else 0)) if 'DefaultPools' in jsonSrc: for tType in jsonSrc['DefaultPools'].items(): sType = tType[0] @@ -171,7 +190,6 @@ if 'Pools' in jsonSrc: arrBlocks = objPool['Blocks'] for objBlock in arrBlocks: ProcessBlock(typeData['CustomPoolBlocks'], objBlock) - iImgSizeY, fPixelsPerByte = CalcParams() @@ -234,6 +252,7 @@ Main data structure - variable `data` - is a dictionary. Key is integer - memory - Fixed key 'DedicatedAllocations'. Value is list of tuples, each containing: - [0]: Type : string - [1]: Size : integer + - [2]: Usage : integer (0 if unknown) - Fixed key 'DefaultPoolBlocks'. Value is list of objects, each containing dictionary with: - Fixed key 'Size'. Value is int. - Fixed key 'Suballocations'. Value is list of tuples as above.