From 6df60c25ae4dc6c88c9b84d3ff5a57617709b53e Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 27 Jul 2026 01:55:10 -0400 Subject: [PATCH] docs(twitter): add 1868492851170205803 corpus (NOTimothyLottes 'buffer zoo' + @kechogarcia + @axelgneiting) 7-post thread. NOTimothyLottes: 'Buffer zoo' is the silly season of Vulkan shader-side stuff to get what you actually want = instruction intrinsics; just layout + SSBO aliasing hints at brutal API design. Dream API: 'Read<32,64,128>(uint64_t base, uint32_t offset, uint32_t immediate, uint32_t cacheControl, uint32_t format); And be done with this stupid mess.' Rough edges of TEXEL_BUFFER: 9-bit shared 5-bit E is read-only on NV, no AMD; sRGB yes NV, no AMD; NV limits to 128M elements = {512MiB, 1GiB, 2GiB} for {32,64,128}-bit. Third sibling of the Dec 2024 buffer-zoo cluster. --- .../media/1868444111390249140_1.png | Bin 0 -> 9831 bytes docs/twitter/1868492851170205803/thread.md | 53 ++++++++ .../1868492851170205803/thread_data.json | 120 ++++++++++++++++++ 3 files changed, 173 insertions(+) create mode 100644 docs/twitter/1868492851170205803/media/1868444111390249140_1.png create mode 100644 docs/twitter/1868492851170205803/thread.md create mode 100644 docs/twitter/1868492851170205803/thread_data.json diff --git a/docs/twitter/1868492851170205803/media/1868444111390249140_1.png b/docs/twitter/1868492851170205803/media/1868444111390249140_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0264836ee34641dbd0987e0f35b608b92ce830 GIT binary patch literal 9831 zcmZvC2UJs8*EVC1Enq}NKvcv?7Z6Bj8AL!SL8M6w3StCA2m$HA5tI%iQUn4h2vJ(3 z29%;90VNQI5|CmrK?qFk;Jg|OyH_-kCd&BUuKq*~p0%)9e zxq8D?Kp^P6fWV^&0fANE)T40$0l$j^0+Y7{1T&fBf_F z=+UE(A3tsh2wW}QSOEqSxOPR?G64TGEB0}b%n|+CZ;M-7^KH@lt@MBUE}2o&YclBe z!~A=-Gh2r#C@|9==6t|gRuDRLi~{oC?Me3h!d{=1xZlro_Mm{g75_NDeSx$avjdpx z??X#?=IAF+C3ahBKA%`wqUyOkc(RZv5pdBOznu8=VRba*C8VhF8h*jr?pKQ=3_rrW zZ5MkftbA;J9?|VSVcJl9&Mn~V6IjaEdAgk4pmmh(eb0GYGDYl4VLj=>4A>R~QPL;~y=sJMEz+$erNgbx%PC68rY|&} z#bziT_}*C@a!O)$QfEWJL@b4S6?hPTA6(V-^{uc$zN37+W>940b4t4E>cT?aW-8_M z(z0kz&cvvf?XHU^()7FM_3>Oa91azz>}m1EIFCllIrsGjeolhM?-aRY$#s?D!L1^8xH;7~P+{T2xe=i!a1cjM-{WV86 z>@jRuNMSZFzP)^!v$Eo^hiIAiz;WLAOaz6r2gi{I%sm%ZR?x97=Cx|AIr34H`f)VJ z;8|v<_V>x*;ENSWw@a#Jyo#mGCqf(buN9HXbDTQcizXd(SG_EvUzj=ICVoe?jQb^T zrMhH+1O2=XpIutSVK$%0DK!$C_l0?46edn9_IXl7Xt~z1oLwa`-2*~4K^`&KQc=%c z#0pf(#L}^%4U!nkHjtRp*ifGU3;RhshJD(~itVG-E^GE(3w9!gZM~wxbE1_RQMk8B z7fDv>SPgXd1q;DLn3#aaV#dC|r}6haD|p$}dIh3qsk#tXcj68>|JfklW={$ek2As? zA#)G|t%?s{j` zY3)!wJK5&EPr+rp%(PpvGWHmv>Iec`;N8{b#)7ktrY|dF3OfBv*G}CDvZ%G0dAlwf zZsdhTWW(BJlFxR87PwgcXdX?P&)Gj1+(&``4yQFuMyaGscHao~qoX_eJy4 zNfQ?Fb?*gZ&k*5OUxqGaxxOu_yVGWScED_k=9VkjCt}e4K;3#QxZrw)6rinA(@FzWY!LSjgZF3`!)Re`AgAhX?MG8D?r1>#c7IRD%Ld{4<22?$z z4w9yIhrcanajO9Pc&Ncjqvy;-C@O-=YqFk?uC~D^Bh)!*GxT=6JhX0b&>R_n-5){F zWHIdD*SzQoTvJO|IV$`7n3p3y_^%<YK0fE-t8=Qy;Lu{jLafhBe76a47a~aG8A9Aeuo!2l{Fe{jzjhk7}h9Y^1 zXZ9yddWIF{u_s2PTTcFi(yd4TLFqflKgyfjw_{X&37sp7~0i!MP-eg6G(FmKl9yY=nFC(Kk5Mk+onR!7b#lp^`8@)08NYWSVit}ed!3j&nfv_>bD5+eldaP*p|%|< z|2jVE4viLdf1qG?nbqh;Ky>;_r|;7-qs*(mP6dzFgJqHJ%k_Ts2cUHbzc5ZD@Ia*L zH;+}hYY1b=VMGWjXT*5RI6@W|pptglZo((UGbW`>Qq4VeN+IYEe-efqdl6ehb-SR9 zMhctL=WjqmbWA!u?GqGQWIR$w)xud3Eufs#d!3J<^wA-3d3r;ukF$~RQi#4mlD2Pj zMcZ9{)1tOpKE$DL2s2`0R8SHrRPB&8h35)mVr&mZbtiM;Tx?o}2#!e#n1Ouy_XwNY zxLgR%PEV4ALWI~F-bJLtGZPlI?gxs$@hFY52%B{BCzIAbfe;RPI<2C3?o3VJ{9h2A zTKRV6lX?A5FF#AI(2#D=qkkhL@F={7W<&6g9@&@e9k~x0B7bpqR{MpmZK7^P0Txo= zzJAl6T*S<1PV5Yx%HR40T4!Nfu(KoO$ATKBx%`b)H(WQ;;aWU1$l+S20ry6YOl(0> z&rT%I)!!t~ME4R!n*Emlb>R&B@@r+%6-dd8I;V;#-Q}0F4_4qTmwE|2_kfKCE1x^W zOB5!=w8mDWDiGL*aF*+CJXiP5>-=?h==za>;+Cyb03A-L(maq^!K2xSE6Rj~kpTc& z?*X)ef<4E2Bw;=>E?*}iIws{-KY?=2x2mvcZMHoQLYzI&I$0#1E9%i>7#I%O1gNJC z(!imB8gElPq8{f34GvGf30UP73|{yL6M?;$G$L~LNQ;mb>#z`#=kTGt0^X7mEZG^F zzGHs2Bw5ukPC^{XdwHzz_WFr>5^7b#o2;4Qsxj_MZnVIc$+gPxyPWqGH?B!GljB zr=THrx%xY^VQE;z=ew&iv}kFoo(0nqU$7(lsHcajYq8t=!7Q%NnCqVogeBWhr0=Sp zMp|U6BsfYN;vZhqf>W=rYaT-D&bwDqrGuwvcu`6;WK*{z!fV@DT0paq4R)eG`NIe* z*3=?>mY)rQu8(1cO^=E(1~;t@sogFAf7;z9lmR5qFJonobG{;WfpM%Qw;a(5@PzhC z?^0ECz2YN4ng%C5zpd8I6*UQ$6ivVMh}uf ziYKE1*D`>rrGMyoPpg-)5JvLu0`X21_=710RXT&9#+XCMtfyzOW0pb;jgg4HXAzZ+ z_-DCEa7SoJ5lIJuj)b6=#R%7t56MJj>bX*rA0|&=9p2=~mn!J}Q2B4UznI~LD=id>Glb9UO$XpFTd8|PbNCMS_q?MY$}FEBfz@Z zu7MN>bU2J!yoch}ift~F9gXT%_)_Qe#VrTYz!=0JdG|cBXCj;=v(}w6jm8jkU-EI! zQK~cVI$*!3n8NEX;fg<0(X0rsm50d?l&_SFHUoq(Sd7JxB{~3ebik6qFOkEhpYDt9 zhORIFf4S^*3GwRG+VT)Wqv)rmeSH`O9gVmFqQX8L@FAsv!By{BUOEfr5oYW9 z23mtx&N54_Wd?pLd;KIYIN=kMHWO{Z+fj(YDKT~{?S1L|*vE*Xyk~6}{h@tmX8+B7 zCq2VstToFrODIK5_#SZ%S1ctzH`vNWlCD@#b^3rP6<%e54yy1>9t~$(1~xP@&SRRz zvB{%Zn8}pDR2V}uUJ=RhEb1)`uEaPr0C64CQXiH8mO?ZtK zw~=T*&RW=NyDx1v+TK;w%a4l#F8Di*^&qFMWitty_7ld8GI*j3Wv0_f0{Dqebw*e zk+j})ZCZ2dK4y^E z@MML-Q1|kH=XO^5pF@3wv$eIeMyeEs?d<57A6ShSpclv^%fJ|NCZFG8 z9F8FNVLS24VYttDZ*fJ}O*zFjYgc-P@GsxREXR@u;bCJLcaQ<<@ogf4P>0syW;|j+ z6`BqyeKHGY8Nbo2{I60J_?4UUb;r>DKl4noqi&|ReK~AvZLfVb>FY_%j-dmU+X*Py zQ}ip zMmwW?{GW_9*jQ}5fi~i7u{ilnm5GHgTim3cWjx(X!AAB>&~=wU?bGyCdMa#dEGNjR zL}>HzF^&&R#?XbMLUCTZ^0wEqYgO1)scnbxPn49MU1RxPsmo@SC~)@+u;sYNyhZ6g z<5O2-kC~R=Ty8*ZZR*8h=>mVJIU9W!369TVfBd2vs-V=i6l?OP96$8*23|k3j9`pk z*z*1GLKf{B?OZmK4a+)}El+=GBiVS{bPX4dYO~(XW{wa&ub$=m1%J+b!7kgYRT%1{ zz}_V{Su~$pFs&PlHP0$Zm&`KLb8L@e$4i}Gzv|d` zlbM@6PN>a|EeNw8Zf%OPXk|bMiX(T&+B!e<;R_=TV=I#LCF!S+^?kuN77`oUL`()p zC~h3~wFkfAm6Hx*Cg+`Oo!+Vh*_0r`9XR_miR(*M&Oy*vBtI6;kJh+xeLlk?<@K0u zj76xOjm;}tJpT|z9^2|!?3mZOYP?cV(0W%qr?>1VjyD$5AG}AQ#7t@b*1FtNz)rDMqgAjy66haeGXGB7JJv@ zYk$F{PK5(g`Ha=YLUgF!_K1)eL7R2WXxyBA7Pst1Lu6~+L&m`x_HY!xSc77Ycl+mO-qnss$|H{IN8 zyJ*b5DF~2-6<~R77mSNy9p|pu7~pk-3sR4`s*}&mN<#0Gl(88*pTU59VRV@7SwF4f zWgXu_pH9F~2@8tGCxPKi79f3U&P8MLK4T%(IX@%P`tGmzQ;mNa`5m$6!y_xqo-%Le z4LTsXR{i~{MPI!?OEmfVQuDJLtm`NsVslbXua!bOyRKJQvEssEJ_JBW70GMg0LSC5 zn(jQzZ&J!Ji>#@DG-wAE-Hkin0sg=yRh2LRqll$~{xJ$}y~Eb%%#x7Up$B}w41c+? zEHiKN%24gxRL|UR0aiPz#6HbMxrE9!tJZ~>&N!EtPllb zCsQ2=<66UXX#J)PG~}q2>p9wfetoodVUB}+tja`dl*&Ct#*N%!Lo;6*?aSAaHvHXZ z5GQuT@rkR|4=L%ZG?~hc@qwCAbrq^YsXfKI{o0Q;?fFjl(fxNiqooec*?*hw?yTywGsBY8*q0>8 z8_XN}-x7=C?KdyxI;~#^?%BMD*fTV*_rmO@UI-v~91-~_w0}t*wvJwHZ@6{+e@w>) zhgp+$IyrJ5kv;Y;Dv+a@#iiA6u1}?!g{NVV`mn)7G!X`VNH)a0bk8ID59&@NP8Ov{ zq_z6Kcy5QOmbgq8=u&y!;o$nx7NEKu;6JO5j%z%Z^GgkQ82H^|iF(QquS|E_OJ5#& z_MBv2JLA)7_a84R0IRIt%`8(Pwjw@VmG?PYbb|FGu7?qsAx&Qnl}pDm?#os5`;O%R z*`q#wOa{5C)-X8MG%}>hu+Ak8!Eq5Y*@Atdd>iOdXC}N^bMc* z0^g<`OQgbWBRccH%(9icvbxXUqj1>4_7BGgy1%Pyu+q8wgs@FNV?>?z;qNhs-vGxN zN$2LUBc0B+1^d1O;Gue*&spM&sWUT42neb-O=(=LyysepJ4#Y%rVPisS?NQm4al-I zQ}Tb2@Qy=SLRFKpkr?8|b~A^; zsFDm)n@e{;Za{@)CPb*kX_CRS9SS_Q-0LT@IN|>~Sit#p5q4$8!a4QR^ycZyX)r%{ zX+YY*m6I>hY-6kUH|AEQpPnbXeOq$0AS^$_nffT*MX=`gJ!Jokj?V;|; z)*Iyoz9-+*cPrw#E$?jb1Q^Sr=w{;W`h~+rX_ii=9?em?$d90~qj2~rR!jcsQCs66 zFBGxEmmJ$9@B9b+&V));VQn0xh67_|vK<_dg@hNHZLKovcq@#Cb_fv`p8b}?Nj|`6 z#jg@j>?#KIs$073T3e=7MVZQna6I>{U7%W~?MQ?K`U}43uFEqOPQ}I*Xx-=2hSA*) zja26=j>9pZqPjm@iM{~zeuU%4LRk1sSQ!qOFY!1bD{Gs?Giu{vEz(9J{L>Rk1I)Vm zV$$HO@YXJWe=jvT3N2EKQE85=hpBcdHiHm*kbi;r5j4zjK@ZxsSDk9O z`7b3iOsj7gs<*iW@VG=?V9VvT6YBm}J`e9ju6_aKyG-~zn45Ar@$!0~Us~^N( zlh0oIP2+;NMW|}Nl3wNwA9-=!YiqIjq8}BSIW#x6`5hUSZAL4Q)p|@>Bx`!j#5na{ z{Q8+t2>a3UJEX$Cw&3m@1ehU@KbR2gWD}xsTwjiTjtoq335+=;S?!Kf_BTZ@xgmLS zFP>A}O8ciX%S*g=-=f$W>5pNBz=!#|)0eFPFWeFBr_ls*@(50b{k)LgwUQ{Q{BeciYfiXLP8b;e^*#D$Vy!CQD_Gj87A+u_cj;g3y0B{^N=dQ4upM z+`bRSYPrWu{{y$XvGWTuAW+nSIkjR}Ia_gQ<*m8h5-p<_^sdrMmEZ*Q`zlNC&f-qY z-b_S?zC3Ky0$85gM{b1FvchoA*aEGN@+wnFyQ9U32%3VX34z%njjNe~@|`fq8ohpQmn#c0$yKOfZ~-W`m4u2UQY_ww#eJU3G* z=UU`PP@`-D9p|pv7sT7~Ka}skeq<#SH5|K=d!_l7+uId=57ZqLsnRxUK#wp_J%GCSz}4=uqiI0^ zbzO$my$`w++v0)*pvUTNf^kUYSIC&Vys?(SUYieAhyh=lcl zBwU6dL$|a_GF;CYQhSHZO2+KK67tA@OzF|=s6}JLMo-Q0?3r{g=JP+0fGK@K2DpB@ zFyqe)X3UOmHuw@!v>j$r)3DF7ca3@myhr2yjF5`0^P<+v24(*6sFcrrdXp~~t(O>< z=MO2Rozt@COl0#zs>iS@rmwkMfWfHquVk;idT$eNf2CCA={?!Aaw@OlmJgEZQsXu- z6p_jg?$V&HM~j}>fg*3dwW{7Q?*EJ*J-a4_8eG?GJ=<*OBGrE9t zrsA<}Jv4BPP(x9T{#qEI58&Gc!E;FvLap8N>L03@RMotsBBoR64KCI8>Qt=u!b3J7 z!IW+*&AMc9{UHQLh?&n$wwz?YJkoK~HJd*Hiw39u86bEsN(I{4G4noNhn;@>_U?+G z6RB>-wArgEkv>`5l{B(TB>GuseWYfz1yGCr_e%dAwavzu%t04jt~-AadFKM63!yPBpn(Y|gkH_`F^c8pLi z^8whj1478k+l~=xoV9@M0rF&Zq9#44#(3`er|%XK({46-2MF)KHnWWwZxx+ov1wu7 zMCZyROc!H`{$z;;W=i@@q1(q6-089B6M|?stK(HzfwYi;#rwdr)xUyn%Krr28D7$LL`j|f@9BvJ~&|LI^OTKk>HpzcD%zvgjlATb8v43I>?hxX9Lh{O~dxJ*u z0H|#9`ka>_V00B;t>uo98#PCx+a_JN z`+aqN8>136Dp=%G3}HsI?qCLlv;oOhQJthoc}tTRP0dNjuj%RTi}89$E-IodzK@cT zlVo;_Dx#H0zQhR02Yeww-&#XMq@FrTF8=|ax!!K&P4jowi9C!+1~lEl;Bg7{{Q7%F z;Dhyzr0wXcgZ!W9y5!W4lK2Fx8CvP811rq}(ip`Y@2zL{t&~>l4qa;*ZAb$o91|o# zRl_o61i%%aLZ9X@*GZ><)dWNL*k z*P>bOqr^Z9eKcF@8&=%gfVq_0O&l12SS$OSzA%t8ZxSF~0Rdv^@bpapo~o}un1?ae z5%MRGrmJ)mj)@EZ5|RTmw$%XW?+c|>e8Yr?rMhv(w{z}X-%No2@*HNgO$=?qrcI>0 z{K=eOeFrtyn6ww1zM7##sa2{L1b3ij2uul47JrN;gX6ySPyZ?l77*C|Vf$Tx>g~u$ zJo-P8GmYp6l+Ix_Y|}36IwFI( zgPMpS0@XQvQ%)ZAANApcIC{P_pLs)V0jy&maA`imA zRT&=IA@To*lv)8&3jH22e0gD$QnwI~dxyJ9OJTwA#HWlkc9ql+o;a z%fSrBQZKW?w`i~yZo7ROnVt@*GHYDUh}g&&h&xkna^u2t9ER*apYhc9oYAmxTj}c+ z7z^u%_4W_=?waFzZtoh)V{Rm3_%U794?%E9{kz`7b-qBArsX|I!CDuQ-ni5Fr@lw7 zjI@CM1(^i^Sq22Dqk$UVv1y-eiKZOQ(C7n&;bA`=X#AjUb)nSz z21o^vymw-bb1VxdSro8^hl#HKpv5gWJ5yb;&ehn2y8vqeU~A;2bCX(&{TY`49HRM` zG$?3o2&xM)mAnr?uFiV{*x&$U22i5=Cy<7m+=`a}Sn@00+a7qOL>MUCNyRQShP`tQ zjx7;_eysl$sO|mruE{^Q06+Zbp>MuuOQb8W`sR5B>{=DDoto3R8aD!4g*h#1f-7Ki` z+MWKjp!%(JZrFT(w%e6{y&$$LU&}-!G0NH%K38e7mTdgZx-?P}xzW>MnR_Za8kPuc zG>3yv3#Y3T448|zYj;FA4R{5*mkr5&U@ZNdu=dnUi_Hi(!+^)<15(=pserA1l}A2H z&sudumBL&H9fpn&U?~;Teq#|k%VM2`(Vq=J(eQ?Vd)klnd>d$UJ7?oz-wP~N(`zd7 zxe8}32c$@ZN9L?#TLeDHH@cBST`KH*_%_=;0YMeVWE%sqA?*A*uw}2!(dNwWzSL;# zaJxf=MT9ng73sAzrTn+xArP+B2^t0p30ODgaiwN3sWTGJ(wy13v=VN=>98EL0POD! zQYRL-TgPmYd=E+W#jB3*)9e8D-t+e5kH6}zaFAz!f&0IBT~0V;a)ENrezLys9jT{na5Il-wK*NG@2$C+HXI;v4p8}YC>U9V-ZA#TcwP)dDfq2 z*hWdEuYSBKi`F~wP{E%}+ZX%73TIs6U~JzR?jUN2Zx&6dy8&Y+LM3Ec*iy>q>U4d- zT|^%;?P}N5IH?@^%?P~kz$0Fz;^Q1n$9Qc060|NU^>YVOmc=cOu~`1SFJFqDD2kbIhW@(^s-U3=cu{C}g6=tX$=PG&dhhmv;aJ=Y2+AOLuymEx7j*Ms!77Y7`|Dz? z1hBXCXk^1jqrtj(egerei7Qi~RAod#{_PFhzfV!N1Sqa`y@=gvwcG7$`p7G#mv24( Ee}!78M*si- literal 0 HcmV?d00001 diff --git a/docs/twitter/1868492851170205803/thread.md b/docs/twitter/1868492851170205803/thread.md new file mode 100644 index 00000000..98580efa --- /dev/null +++ b/docs/twitter/1868492851170205803/thread.md @@ -0,0 +1,53 @@ +--- +title: "@axelgneiting @kechogarcia Then there are rough edges to TEXEL_BUFFER" +author: "NOTimothyLottes" +handle: "@NOTimothyLottes" +post_url: "https://x.com/NOTimothyLottes/status/1868492851170205803" +post_id: "1868492851170205803" +timestamp: "2024-12-16 03:06:25" +post_count: 7 +reply_count: 1 +repost_count: 0 +like_count: 1 +view_count: 539 +--- + +# @NOTimothyLottes — @axelgneiting @kechogarcia Then there are rough edges to TEXEL_BUFFER + +## Post 1 (2024-12-15 23:52:44) + +"Buffer zoo" is more about the silly season of things needed on the Vulkan shader side to do what you actually want which is just get instruction intrinsics. Just the layout and SSBO aliasing (below) hints at brutal stupid API/shader design + +![Media 1](./media/1868444111390249140_1.png) + +## Post 2 (2024-12-16 00:18:46) — reply to Post 1 + +@NOTimothyLottes Dxc hlsl sm 6.5 lets you index into ResourceDescriptorHeap directly and cast to whatever resource type. That and mutable vulkan descriptors, you wouldn't need to go the buffer Zoo route.... But then dxc spirv ... + +## Post 3 (2024-12-16 01:20:44) — reply to Post 2 + +@kechogarcia Read<32,64,128>(uint64_t base, uint32_t offset, uint32_t immediate, uint32_t cacheControl, uint32_t format); + +And be done with this stupid mess + +## Post 4 (2024-12-16 02:46:43) — reply to Post 3 + +@NOTimothyLottes @kechogarcia NVidia can't just do random format conversions without it being a texture descriptor I thought? + +## Post 5 (2024-12-16 03:03:19) — reply to Post 4 + +@axelgneiting @kechogarcia Can get the non-conversion {signed/unsigned short/int/long and half/float/double, of {1-4} components}. Which is good enough to start the interface. Then yes for NV you'd need to alias via a storage_texel_buffer to get {10:11:11,10:10:10:2,norm*} + +## Post 6 (2024-12-16 03:06:25) — reply to Post 5 + +@axelgneiting @kechogarcia Then there are rough edges to TEXEL_BUFFER + +9-bit shared 5-bit E -> read only NV, no AMD +sRGB -> yes NV, no AMD + +And a big one: NV limits to 128 M elements +{512 MiB,1GiB,2GiB} buffer size limits for {32,64,128}-bits respectively + +## Post 7 (2024-12-16 03:48:28) — reply to Post 6 + +@NOTimothyLottes @kechogarcia I'm well aware. It's really curious they still stick to this design after so many years. diff --git a/docs/twitter/1868492851170205803/thread_data.json b/docs/twitter/1868492851170205803/thread_data.json new file mode 100644 index 00000000..8370a94c --- /dev/null +++ b/docs/twitter/1868492851170205803/thread_data.json @@ -0,0 +1,120 @@ +{ + "root_post_id": "1868492851170205803", + "posts": [ + { + "post_id": "1868444111390249140", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "\"Buffer zoo\" is more about the silly season of things needed on the Vulkan shader side to do what you actually want which is just get instruction intrinsics. Just the layout and SSBO aliasing (below) hints at brutal stupid API/shader design", + "timestamp": "2024-12-15 23:52:44", + "media_urls": [ + "https://pbs.twimg.com/media/Ge4LfQvWwAAwgwz?format=png&name=orig" + ], + "reply_to_id": null, + "quote_of_id": null, + "metrics": { + "reply_count": 2, + "repost_count": 1, + "like_count": 50, + "view_count": 5125 + } + }, + { + "post_id": "1868450660485919082", + "author": "Kecho", + "handle": "kechogarcia", + "text": "@NOTimothyLottes Dxc hlsl sm 6.5 lets you index into ResourceDescriptorHeap directly and cast to whatever resource type. That and mutable vulkan descriptors, you wouldn't need to go the buffer Zoo route.... But then dxc spirv ...", + "timestamp": "2024-12-16 00:18:46", + "media_urls": [], + "reply_to_id": "1868444111390249140", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 3, + "view_count": 1699 + } + }, + { + "post_id": "1868466254849212427", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "@kechogarcia Read<32,64,128>(uint64_t base, uint32_t offset, uint32_t immediate, uint32_t cacheControl, uint32_t format);\n\nAnd be done with this stupid mess", + "timestamp": "2024-12-16 01:20:44", + "media_urls": [], + "reply_to_id": "1868450660485919082", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 17, + "view_count": 23771 + } + }, + { + "post_id": "1868487894169796789", + "author": "Axel Gneiting", + "handle": "axelgneiting", + "text": "@NOTimothyLottes @kechogarcia NVidia can't just do random format conversions without it being a texture descriptor I thought?", + "timestamp": "2024-12-16 02:46:43", + "media_urls": [], + "reply_to_id": "1868466254849212427", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 1, + "view_count": 1625 + } + }, + { + "post_id": "1868492072166326484", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "@axelgneiting @kechogarcia Can get the non-conversion {signed/unsigned short/int/long and half/float/double, of {1-4} components}. Which is good enough to start the interface. Then yes for NV you'd need to alias via a storage_texel_buffer to get {10:11:11,10:10:10:2,norm*}", + "timestamp": "2024-12-16 03:03:19", + "media_urls": [], + "reply_to_id": "1868487894169796789", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 1, + "view_count": 1654 + } + }, + { + "post_id": "1868492851170205803", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "@axelgneiting @kechogarcia Then there are rough edges to TEXEL_BUFFER\n\n9-bit shared 5-bit E -> read only NV, no AMD\nsRGB -> yes NV, no AMD\n\nAnd a big one: NV limits to 128 M elements\n{512 MiB,1GiB,2GiB} buffer size limits for {32,64,128}-bits respectively", + "timestamp": "2024-12-16 03:06:25", + "media_urls": [], + "reply_to_id": "1868492072166326484", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 1, + "view_count": 539 + } + }, + { + "post_id": "1868503435299205194", + "author": "Axel Gneiting", + "handle": "axelgneiting", + "text": "@NOTimothyLottes @kechogarcia I'm well aware. It's really curious they still stick to this design after so many years.", + "timestamp": "2024-12-16 03:48:28", + "media_urls": [], + "reply_to_id": "1868492851170205803", + "quote_of_id": null, + "metrics": { + "reply_count": 0, + "repost_count": 0, + "like_count": 1, + "view_count": 434 + } + } + ], + "source_url": "https://x.com/NOTimothyLottes/status/1868492851170205803" +} \ No newline at end of file