From f02685c6b35a0647732acbae6b7945115c1a7f6a Mon Sep 17 00:00:00 2001 From: matthew Date: Sun, 20 Jul 2025 10:36:07 +1000 Subject: [PATCH] fixed bug causing material buffers to not be written correctly --- assets/shaders/convert.comp.spv | Bin 0 -> 4280 bytes assets/shaders/gradient.comp.spv | Bin 2944 -> 3408 bytes assets/shaders/gui.frag.spv | Bin 1716 -> 2180 bytes assets/shaders/gui.vert.spv | Bin 4188 -> 4652 bytes assets/shaders/pbr.frag.spv | Bin 1624 -> 2088 bytes assets/shaders/pbr.vert.spv | Bin 2176 -> 3756 bytes assets/shaders/triangle.frag.spv | Bin 1680 -> 2144 bytes assets/shaders/triangle.vert.spv | Bin 2572 -> 3036 bytes src/gears/renderer.d | 45 ++++++++++++++++---------- src/gears/vulkan.d | 53 ++++++++++++++++++++++++------- src/gears/vulkan_logging.d | 16 +++++++--- src/shaders/convert.comp.glsl | 18 +++++++---- src/shaders/structures.layout | 10 ++++-- src/shared/util.d | 14 +++----- 14 files changed, 106 insertions(+), 50 deletions(-) create mode 100644 assets/shaders/convert.comp.spv diff --git a/assets/shaders/convert.comp.spv b/assets/shaders/convert.comp.spv new file mode 100644 index 0000000000000000000000000000000000000000..eef316d969182453a571476d54196d6c0d6b03a2 GIT binary patch literal 4280 zcmZ9O36q<}5r${IyEgW6nfow~%oS2N8v+Il#0Ilo^He@+j4(^iKlDm{*;xPv5qyzF_+L;xPXh z^<}<)cVnToRNpw?9@P7T-cn;v%XzExSGRAk&Q8~xi;K7pc3SmLyW6TSw3k}VL3@7@ zSFDrc+TCVn-$FTHoR!M^8mG2nsOmW)3ZB)Fk|T_=yrFZ zHLPbeU4_kA7V$qTe2e=A^~Tat<6yDAoTI&}DA>vpiYnj+5H z8yP=<9_AZM&x6Zzj$~hzIz1<44N@hS`}U5vv0|LTdDxENJO???-!^m0Vb zHQigR8T*Vijkg!qeIGxx&&77=cmMhwVTb=@R(9=mpl}*L0rdmwa-Ev&OaL+wTIucH2%^Y?|rzh4P>>B^~mRlys@X@y#if9Jc}#Q+TN!* zHljT%d26~F?b~vk!(8uIZY|jR)OOw`v}ZKrhPHPrr~kT)oonspoJLZ5WXd|KAUSIf z{|q>#L)V_ku6Ka+k4Tk*VV{kBBB^B*YL@_u8={v+AmLY2Oi#D!wB(3F#h_!gn##a#Q`Vrb;UB+C5$XS>8e`%z^a>h@h9mcOm{}}ldV!SwNyaenS zhW%4;d0&@eAAP2m!O1^PmA;V;i1XwRW$tpYYwPpw>_xfAb1hhI3oBe#=;8kp?@pg_ zelxDmzWcDvHI=zVY~SJ5%pE4L_6?bvM%S28MQ_WzKIP^ddt>&YzUOYr+(?O=&D=6{ zjeGJN`E$hi#_OL!+^26$pYm-^_Kf{upV&hUw8I{%qwhiv zBgTlMjwZO=LkrmD9%^A9-9x+K~ZJz)7Z;(5=b<)W6oV7ch4 zE_gFyU+FW>zUm?RqOTS+7kzafwp{epQV~1+?J{o%TQ2erz~+tG_krbBBT>tKaMYqd zYPlb*FKRgemWx^rg5{!?-+<-pack+LmCVKZ_urVR}UB~acKIdJD zegu(=-aQ1aA1+aC7{UX@9;=BG5_~_n!8BRWW@)fZ2 z$wN5AMZ&fa|s(HH&lcIKjA-ociOe)%0( z&VGqp?}E)0^}Yv|EBEXB*pXj<(NobNjJ z|1mi7>yP}Ofb~WGPr-7L|1+>$Q}ap~*cc#Uj6mU(%(S%9;#8m*8(19^P^`EhHMuk= zu?VD#je#93&J1KH<|L)2s69WYfNK64qj2S9sfFuSA5Rf_(Br#T~ zm<5s;$nPL^HV82zV0c3W9T0-Ru!M-YAc=we1k&uWc`NflCUqW$1RzHT33CD27{1f=ACTESpZBNRu%vN delta 84 zcmca0)gZpXj7gM@A%Ot`3UU&YQ#0~&Qc{a1yEAJ8Wl}I@Ha9ctGEV-$%(6Lybr%ye SGeg2;PY!!V;mw^K$5{YysTJ!0 diff --git a/assets/shaders/gui.frag.spv b/assets/shaders/gui.frag.spv index 3b9e09fdd1aa2f62302f3fc43cb5b4d21a08988d..8a577ba5f31212d565d18801d4d4b6292f414b49 100644 GIT binary patch delta 544 zcmZXQu}T9$5QgVA?j`{R4-1Pl2MQuKK~kg;Okt7M$}()c4OvLekiCO+*W?ZE5yW0d zUc@(YX4lIOxG*q$|3Clk&hcWOehX1c$RHfOo?BCtpdhdWac&oj${A$J`vfw#G4It% zZ)r+F*YghcdNnus$E-BFvf7%coskx@PojdJpOZC;ZQx1u!NH(n@KU?zXal+|oEsGM z{RKUq&kg<#1y>n1eKIX=VGH9NKyxh~QVF+6>8y1*vpF2z#A{Md*>Y}Byu@l5Er(df z7%hg_kTF^au@PhPkBu3lzmxANvPax^fRhMumw~-7Mt`E=>EWw$FYeC$t7y2b0rvl@ M`H|1bph?x|FAT&^`Tzg` delta 69 zcmZn>+`_woiAj`=L4g4R3UU&YQ#0~&Qc{a13o~movoWYl?qw9;9K!6wIQalG%jO7H VB_?KO28GEB+3gwGCO>3f3;-YP5Uc9sHn2J-pjdH1YI12# zVi8Ce8v{F7oEgYY%t=a3$&W8dttcriN=3-AfaD-%!zI}mIKcW?>w%Im1L3k@gCPpo z5C&%?79&)^3}8nx99aPy11H!54rKF@6@cwvV-N=Uo)e@fBQq~EFSWRsfnl;cv$h~B z!vvrx2;?S~#Al{3Y;I?M$yo1!6gbL2NdX{+iGczKB&L8Q1_~IEm;sU)C_q4BCP-qe zP%#T6F_7Ou>TD2VM!@if2s$7Hfnf;|b3qaV`3a=iV{ty&cT delta 66 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 diff --git a/assets/shaders/triangle.frag.spv b/assets/shaders/triangle.frag.spv index e179e7034060ccc79b9c0cb5af03f916f72e0559..c4a1dcfa261318ef6f421849c28305ff6d1e3a9e 100644 GIT binary patch delta 544 zcmZXQ!D<3A5Qb-06P31L=~++&1xuln9(pL$Ll1%vA<>N(&}}ih(A&O3Vd;AmJoY)f z`xHGplelKUz(Dx^fBumF`{vO8{f`O(1Mo*}=0>L(NboE|oS5Y@w;Gvrz8IPP)Qfzr zwzMUo;dl-2YCYG<$1KxdS-#altCQxl&!U8;+Y<$fRp425!QLQ4@JiX>r~(=+oEs#x z+yhOX&kgPk33v4S7MWHiHL121puCFjZv~8y(%GnNW)j#<DfDD^e0-L?DASC9$vdPXt|mm-Y=&7 L5pPki+>5^>$FWfJ delta 55 zcmaDLFoAc&H%4YQ2DQnJjG~jdm^FZGEg)Nbvj?*V7D5;auKsznX40Jc^g1h2th%k@f zGr03%dT-)17Ytko-#Pb$ocFWe^RLgi$>0_IQOl{(Wd#B}ix3xPHmj{hCY&!uX4m?y zUZ@Ri3FtYV;9V`Ix>!vry{+nv4q8f@&pwI*q}$6H6uZEq>VmyNgy6Zd!O;cuSU5Kb z$lU{y=W~O5L%=EhJ}1-Ml%~|y0_?xzo0AO2Na-w9H8BOWNwSNY5i92k#Q{#os2pOK zj8QSfZW*IOh}|)k{jmqe= 2) - T b = 0.0; - static if (S > 3) - T a = 0.0; + static if (S > 2) T b = 0.0; + static if (S > 3) T a = 0.0; }; struct { T x; T y; - static if (S > 2) - T z; - static if (S > 3) - T w; + static if (S > 2) T z; + static if (S > 3) T w; }; - static if (S == 4) T[S] v; - float4 simd; } }