docs(twitter): add 1597798161665253376 corpus (NOTimothyLottes explicit packed 16-bit GLSL + FSR1)

7-post thread with @rianflo, Nov 2022. Confirms NOTimothyLottes wrote
CAS/FSR1/etc GLSL versions with packed 16-bit math by hand. 'Explicit
packed 16-bit works on AMD VK Vega and up. Up to 30% improvement on
ALU bound stuff. Lots of occupancy wins.' Constants all packed and
aliased as UINT (no conversion overheads). FSR1 source has 'F' (32-bit)
and 'H' and 'Hx2' (packed 16-bit) function variants. Sibling to the
Nov 2022 GPU tip-line thread (1588906002212323328).
This commit is contained in:
ed
2026-07-27 02:04:50 -04:00
parent a64cc163f1
commit 409413a169
2 changed files with 164 additions and 0 deletions
@@ -0,0 +1,46 @@
---
title: "@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-E"
author: "NOTimothyLottes"
handle: "@NOTimothyLottes"
post_url: "https://x.com/NOTimothyLottes/status/1597798161665253376"
post_id: "1597798161665253376"
timestamp: "2022-11-30 03:42:22"
post_count: 7
reply_count: 0
repost_count: 0
like_count: 1
view_count: 0
---
# @NOTimothyLottes — @rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-E
## Post 1 (2022-11-29 18:38:24)
"The road to 16-bit floats GPU is paved with our blood"
:-/
https://www.yosoygames.com.ar/wp/2022/01/the-road-to-16-bit-floats-gpu-is-paved-with-our-blood/
## Post 2 (2022-11-29 22:19:53) — reply to Post 1
@rianflo Explicit packed 16-bit works on AMD Vulkan Vega and up. I typically get up to 30% improvement on ALU bound stuff. Lots of occupancy wins. I don't use {HLSL, RenderDoc, Reflection, RADV, or VS/PS}. All constants are packed and aliased as UINT, so no coversion overheads.
## Post 3 (2022-11-29 22:24:24) — reply to Post 2
@NOTimothyLottes Oh I know the benefits. Just no simple clear way to write it in GLSL for vulkan.
## Post 4 (2022-11-29 22:26:03) — reply to Post 3
@rianflo Sure there is. CAS/FSR1/etc all shipped with fantastic GLSL versions using 16-bit packed math (I wrote those), all which at the time got fantastic code generation using AMD's drivers.
## Post 5 (2022-11-29 22:32:10) — reply to Post 4
@NOTimothyLottes What GLSL extension did you use?
## Post 6 (2022-11-29 22:33:35) — reply to Post 5
@NOTimothyLottes Oh wait, you're saying you wrote the fp16 math manually?
## Post 7 (2022-11-30 03:42:22) — reply to Post 6
@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/ffx-fsr/ffx_fsr1.h - There are different 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) functions.
@@ -0,0 +1,118 @@
{
"root_post_id": "1597798161665253376",
"posts": [
{
"post_id": "1597661267845865474",
"author": "Florian Hoenig",
"handle": "rianflo",
"text": "\"The road to 16-bit floats GPU is paved with our blood\"\n:-/\n\nhttps://www.yosoygames.com.ar/wp/2022/01/the-road-to-16-bit-floats-gpu-is-paved-with-our-blood/",
"timestamp": "2022-11-29 18:38:24",
"media_urls": [],
"reply_to_id": null,
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 4,
"view_count": 0
}
},
{
"post_id": "1597717009369735169",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@rianflo Explicit packed 16-bit works on AMD Vulkan Vega and up. I typically get up to 30% improvement on ALU bound stuff. Lots of occupancy wins. I don't use {HLSL, RenderDoc, Reflection, RADV, or VS/PS}. All constants are packed and aliased as UINT, so no coversion overheads.",
"timestamp": "2022-11-29 22:19:53",
"media_urls": [],
"reply_to_id": "1597661267845865474",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 0
}
},
{
"post_id": "1597718146663690240",
"author": "Florian Hoenig",
"handle": "rianflo",
"text": "@NOTimothyLottes Oh I know the benefits. Just no simple clear way to write it in GLSL for vulkan.",
"timestamp": "2022-11-29 22:24:24",
"media_urls": [],
"reply_to_id": "1597717009369735169",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 0
}
},
{
"post_id": "1597718560511385600",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@rianflo Sure there is. CAS/FSR1/etc all shipped with fantastic GLSL versions using 16-bit packed math (I wrote those), all which at the time got fantastic code generation using AMD's drivers.",
"timestamp": "2022-11-29 22:26:03",
"media_urls": [],
"reply_to_id": "1597718146663690240",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 0
}
},
{
"post_id": "1597720097753542656",
"author": "Florian Hoenig",
"handle": "rianflo",
"text": "@NOTimothyLottes What GLSL extension did you use?",
"timestamp": "2022-11-29 22:32:10",
"media_urls": [],
"reply_to_id": "1597718560511385600",
"quote_of_id": null,
"metrics": {
"reply_count": 2,
"repost_count": 0,
"like_count": 0,
"view_count": 0
}
},
{
"post_id": "1597720454000541696",
"author": "Florian Hoenig",
"handle": "rianflo",
"text": "@NOTimothyLottes Oh wait, you're saying you wrote the fp16 math manually?",
"timestamp": "2022-11-29 22:33:35",
"media_urls": [],
"reply_to_id": "1597720097753542656",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 0
}
},
{
"post_id": "1597798161665253376",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/ffx-fsr/ffx_fsr1.h - There are different 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) functions.",
"timestamp": "2022-11-30 03:42:22",
"media_urls": [],
"reply_to_id": "1597720454000541696",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 0
}
}
],
"source_url": "https://x.com/NOTimothyLottes/status/1597798161665253376"
}