From 2fe6afa15d6e88717a3a8f4422999b10e7887a98 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sun, 26 Jul 2026 21:37:44 -0400 Subject: [PATCH] docs(twitter): add 2074725506050642021 corpus (NOTimothyLottes RADV + queue setup) 5-post thread. vkGetShaderInfoAMD available on RADV (will be filing optimization bugs). DEVICE_UNCACHED_BIT_AMD works on RADV for low-latency CPU/GPU. Header-free Vulkan: VkPhysicalDeviceLimits replaced with 63 64-bit values (504 bytes) for direct byte offset. Next: another beam-racing effort on Linux, separate queue for present-only to fully decouple {dispatch, swap}. --- .../media/2074721638378086822_1.jpg | Bin 0 -> 65890 bytes .../media/2074723430734111222_1.png | Bin 0 -> 1478 bytes docs/twitter/2074725506050642021/thread.md | 39 ++++++++ .../2074725506050642021/thread_data.json | 90 ++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 docs/twitter/2074725506050642021/media/2074721638378086822_1.jpg create mode 100644 docs/twitter/2074725506050642021/media/2074723430734111222_1.png create mode 100644 docs/twitter/2074725506050642021/thread.md create mode 100644 docs/twitter/2074725506050642021/thread_data.json diff --git a/docs/twitter/2074725506050642021/media/2074721638378086822_1.jpg b/docs/twitter/2074725506050642021/media/2074721638378086822_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ceed7f17bc1f9b1b5c44dfdd702c096a404545be GIT binary patch literal 65890 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 literal 0 HcmV?d00001 diff --git a/docs/twitter/2074725506050642021/media/2074723430734111222_1.png b/docs/twitter/2074725506050642021/media/2074723430734111222_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b463739fc805a6a672cb6673e80099594ea5f840 GIT binary patch literal 1478 zcmV;%1v&bOP)E&A^4>;AGeJ!1uwY-$G_VN<1jU%zgqo`}qMaGTK>cVpJR2gTxe2%wbc+i#57HzOH zW1z!~s4H~2aYQXGtQOXdMRDfR#}@erzHWUgm!WzRwAqnxCw-2$!ac|%^;VD8r;53T zSNsGRJF+iJ$Q|eNRrp*%j*e_aU~B(^%)XFvus7Gn5JEYZQ_1}_ zJtf&OYTF0x&&Pe|E=w}-TAkS=`iQFP_;6$FTMHL8p3 z^&7HVGB*&nhkZWrKK={#&gBna(AYEgRhAaXaN>wX8m&)RiLP8LKLY#wwbSUrr{vSO zrMJl4)vvBxsg&KK_R*K6F54&d=Ci#)7wrc2!bDx17*3D&aVyZpeDr(_ z^|tT{bVz`*GVIN6mCJW#%v@1jVr8h(1)ap{!pI+tPGv{ z%Q_K<_iDM!^?7!!Wh{cxYwO#T1B8{DP5cDCP6p)1`!`SVjyp(~DlzB`HoN$i@Smbsg9 zMY@`DfE{#Yo{e0bNf*4G(gPwLhCa`N_8%xB10nMkJR2eN8J<|kBl%r8ay3@bCzzNbbeu#y8b)_(hPah11r zn6WIy>^P?Tj6TD@Oux}@1M->frj51 z)*$nQnh`m%a&2WLwg|A7Q(a>~MpVk$V1MM7%;gQgGpr$Rnkz!-1Vu+P5&DP3n@Zz_ppr6!z`EW^9W56V*k#&dy$xGlZ#v%#NgY=2-!s ze%7Y@r1=$?07WZ48RL5lM}7&~)aB?%RaLi@J9u53ZSbXqx>jiFB6MLSP(nyxCD00| zYdrE#RM!f9OlwNBMlC%NCD`i9_C}|oKY1q=$SnsWzXbg`Ls`C+6z!cX2X$FGt&T33_VbXOgOuBA` gN!P6~>ADqu0W|k=S^Uq(*Z=?k07*qoM6N<$g69|T*#H0l literal 0 HcmV?d00001 diff --git a/docs/twitter/2074725506050642021/thread.md b/docs/twitter/2074725506050642021/thread.md new file mode 100644 index 00000000..b3bdbe2f --- /dev/null +++ b/docs/twitter/2074725506050642021/thread.md @@ -0,0 +1,39 @@ +--- +title: "Next pre-device opening activity is choosing queue(s). Going to make another eff" +author: "NOTimothyLottes" +handle: "@NOTimothyLottes" +post_url: "https://x.com/NOTimothyLottes/status/2074725506050642021" +post_id: "2074725506050642021" +timestamp: "2026-07-08 05:21:21" +post_count: 5 +reply_count: 0 +repost_count: 0 +like_count: 5 +view_count: 536 +--- + +# @NOTimothyLottes — Next pre-device opening activity is choosing queue(s). Going to make another eff + +## Post 1 (2026-07-08 05:00:47) + +Oh, my RADV driver says vkGetShaderInfoAMD is available [GPU disassembly dumps]. Going to be exciting to see how RADV compiler does. Will definitely be filing optimization bugs, would like to help the RADV team make this the best AMD Vulkan driver that can exist. + +## Post 2 (2026-07-08 05:05:59) — reply to Post 1 + +One other concern was if RADV would support DEVICE_UNCACHED_BIT_AMD - and looks like RADV already has that, which means low-latency CPU/GPU communication should just work out of the box + +![Media 1](./media/2074721638378086822_1.jpg) + +## Post 3 (2026-07-08 05:13:07) — reply to Post 2 + +One of the pain points of doing header-free Vulkan is the VkPhysicalDeviceLimits structure. I avoid it completely and replace the structure with an equal size array of 63 64-bit values (504 bytes total). Then use direct byte offset for timestampPeriod (only thing useful in there) + +![Media 1](./media/2074723430734111222_1.png) + +## Post 4 (2026-07-08 05:16:02) — reply to Post 3 + +The other component of vkGetPhysicalDeviceProperties that is useful is the vendorID, which is important for vendor specific engine permutations -> I use to enable vkGetShaderInfoAMD disassembly dumps automatically on all shaders + +## Post 5 (2026-07-08 05:21:21) — reply to Post 4 + +Next pre-device opening activity is choosing queue(s). Going to make another effort at beam racing, this time on Linux, so probably want a separate queue for presentation only. To fully decouple {dispatch, and swap}. Will see why later ... diff --git a/docs/twitter/2074725506050642021/thread_data.json b/docs/twitter/2074725506050642021/thread_data.json new file mode 100644 index 00000000..c4dfe452 --- /dev/null +++ b/docs/twitter/2074725506050642021/thread_data.json @@ -0,0 +1,90 @@ +{ + "root_post_id": "2074725506050642021", + "posts": [ + { + "post_id": "2074720328161411450", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "Oh, my RADV driver says vkGetShaderInfoAMD is available [GPU disassembly dumps]. Going to be exciting to see how RADV compiler does. Will definitely be filing optimization bugs, would like to help the RADV team make this the best AMD Vulkan driver that can exist.", + "timestamp": "2026-07-08 05:00:47", + "media_urls": [], + "reply_to_id": null, + "quote_of_id": null, + "metrics": { + "reply_count": 2, + "repost_count": 0, + "like_count": 23, + "view_count": 1923 + } + }, + { + "post_id": "2074721638378086822", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "One other concern was if RADV would support DEVICE_UNCACHED_BIT_AMD - and looks like RADV already has that, which means low-latency CPU/GPU communication should just work out of the box", + "timestamp": "2026-07-08 05:05:59", + "media_urls": [ + "https://pbs.twimg.com/media/HMrkGrMXwAA9Cr0?format=jpg&name=orig" + ], + "reply_to_id": "2074720328161411450", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 5, + "view_count": 430 + } + }, + { + "post_id": "2074723430734111222", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "One of the pain points of doing header-free Vulkan is the VkPhysicalDeviceLimits structure. I avoid it completely and replace the structure with an equal size array of 63 64-bit values (504 bytes total). Then use direct byte offset for timestampPeriod (only thing useful in there)", + "timestamp": "2026-07-08 05:13:07", + "media_urls": [ + "https://pbs.twimg.com/media/HMrlR1cWQAAsqXD?format=png&name=orig" + ], + "reply_to_id": "2074721638378086822", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 5, + "view_count": 389 + } + }, + { + "post_id": "2074724166956118253", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "The other component of vkGetPhysicalDeviceProperties that is useful is the vendorID, which is important for vendor specific engine permutations -> I use to enable vkGetShaderInfoAMD disassembly dumps automatically on all shaders", + "timestamp": "2026-07-08 05:16:02", + "media_urls": [], + "reply_to_id": "2074723430734111222", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 0, + "like_count": 3, + "view_count": 543 + } + }, + { + "post_id": "2074725506050642021", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "Next pre-device opening activity is choosing queue(s). Going to make another effort at beam racing, this time on Linux, so probably want a separate queue for presentation only. To fully decouple {dispatch, and swap}. Will see why later ...", + "timestamp": "2026-07-08 05:21:21", + "media_urls": [], + "reply_to_id": "2074724166956118253", + "quote_of_id": null, + "metrics": { + "reply_count": 0, + "repost_count": 0, + "like_count": 5, + "view_count": 536 + } + } + ], + "source_url": "https://x.com/NOTimothyLottes/status/2074725506050642021" +} \ No newline at end of file