John Parsaie
parsaie.bsky.social
John Parsaie
@parsaie.bsky.social
Chain swapping GPU hang detective @ Qualcomm | Ex-Unity (opinions mine)
Reposted by John Parsaie
New blog post! In "Billions of triangles in minutes" we'll walk through hierarchical cluster level of detail generation of, well, billions of triangles in minutes. Reposts welcome!

zeux.io/2025/09/30/b...
September 30, 2025 at 5:40 PM
Reposted by John Parsaie
RenderDoc v1.40 is now available! This version includes support for VK_EXT_descriptor_buffer, and vulkan 1.4, as well as some other bug fixes an quality of life improvements.

Full release notes: github.com/baldurk/rend...

Binary builds: renderdoc.org/builds
September 5, 2025 at 4:09 PM
Finally snapped: made a Vulkan layer that auto-labels objects with a stack trace at creation time. Now the validation layer can just tell me what I forgot to release on vkDestroyDevice :)
August 27, 2025 at 6:02 AM
Reposted by John Parsaie
#SIGGRAPH2025 Advances talks slides sharing: "Strand-based hair and fur rendering in Indiana Jones and the Great Circle" by Sergei Kulikov from Machine games is now online advances.realtimerendering.com/s2025/index....
August 26, 2025 at 5:09 AM
Reposted by John Parsaie
Reposted by John Parsaie
As the date for the 20th anniversary of Advances is coming, I realized some content was missing.
Posted 2007 and 2008 courses online - check them out!

advances.realtimerendering.com
August 9, 2025 at 9:15 AM
Reposted by John Parsaie
Probably the most important Vulkan update since dynamic rendering is live!

docs.vulkan.org/features/lat...
VK_KHR_unified_image_layouts :: Vulkan Documentation Project
docs.vulkan.org
June 9, 2025 at 10:37 PM
Reposted by John Parsaie
I just published my new article:
The Secrets of Floating-Point Numbers
asawicki.info/articles/sec...
The Secrets of Floating-Point Numbers
asawicki.info
May 28, 2025 at 2:56 PM
My next hobby path tracer will require an internet connection and draw random samples from www.random.org/decimal-frac... (/s)
RANDOM.ORG - Decimal Fraction Generator
This page allows you to generate random decimal fractions using true randomness, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs.
www.random.org
March 29, 2025 at 7:05 PM
"Thus one nit is one lux per steradian is one candela per square meter is on lumen per square meter per steradian. Got it?" - Jim Kajiya

(Annual reread of PBRT Radiometry chapter because I keep forgetting)
March 29, 2025 at 5:13 PM
Reposted by John Parsaie
TIL that because the FFmpeg project has gained so much experience in hand-writing assembly code to provide huge speedups, they now are putting together a series of lessons for learning assembly:

Vibe coding is fun and all, but this is probably a better use of time!

github.com/FFmpeg/asm-l...
GitHub - FFmpeg/asm-lessons: FFMPEG Assembly Language Lessons
FFMPEG Assembly Language Lessons. Contribute to FFmpeg/asm-lessons development by creating an account on GitHub.
github.com
March 24, 2025 at 6:24 AM
Reposted by John Parsaie
This rocks
February 13, 2025 at 4:49 PM
Reposted by John Parsaie
This is the amount of shader ISA code the compiler produces for a single atan2(). Avoid using it for time critical code.
January 10, 2025 at 4:51 PM
Well, it wound up taking nearly the rest of my holiday, but I finished adding multi-pass support to my image quality reference tool's ShaderToy input mode.
January 3, 2025 at 6:32 PM
Reposted by John Parsaie
Debugging multi-pass support at the moment, exposed an option to write the HLSL to disk with spirv-cross. We normally go straight from SPIR-V to DXIL for the cross compilation but it can be helpful to look at the intermediate HLSL to sort out some issues.
December 28, 2024 at 12:53 AM
Publicly available graphics debugging tools are getting very good. However, I have not found any like GPUView, which allow viewing sw/hw queues from ETL traces. Sadly the UI is very poor. The Superluminal devs are probably in the best position to make a modern version of GPUView.
December 25, 2024 at 11:52 PM
This live visualization of queued CPU/GPU/Present timelines in this Intel demo app is neat:

www.intel.com/content/www/...
Sample Application for Direct3D 12 Flip Model Swap Chains
D3D12 supports only flip model swap chains. This article helps you understand the parameters in a flip model swap chain, links to an application that lets you play with these parameters, and points yo...
www.intel.com
December 25, 2024 at 11:45 PM
Working on a D3D12 app for studying implementations of upscalers, AA, frame gen, presentation models, or anything else that can affect image clarity. Got a bit side tracked with adding a shadertoy input mode (GLSL -> SPIRV -> DXIL cross-compile chain). Will also add an OpenUSD viewer.
December 24, 2024 at 7:41 PM
Reposted by John Parsaie
the @thekhronosgroup.fosstodon.org.ap.brid.gy didn't posted it yet so I will:
The shading language Slang move from being under nvidia to Khronos.
www.khronos.org/news/press/k...
Khronos Group Launches Slang Initiative, Hosting Open Source Compiler Contributed by NVIDIA
The Khronos Group has announced the launch of the new Slang™…
www.khronos.org
November 21, 2024 at 4:17 PM
hell on earth does exist, and its name is bitlocker recovery mode in a corporate monolith
November 18, 2024 at 3:07 PM
clangd sorting my header files alphabetically— a great betrayal
November 18, 2024 at 6:25 AM
Is anyone aware of an open source tool for the analysis of reference upscaler implementations on the market? If not, would you find it useful to have one?
November 15, 2024 at 5:50 PM
Reposted by John Parsaie
Some details about the great strand hair tech used in Dragon Age: Veilguard. A 6.5ms budget for hair rendering is very impressive! www.ea.com/technology//...
Bringing Locks to Life With Strand Hair Technology in Dragon Age: The Veilguard
See how Frostbite and BioWare took Strand Hair tech to the next level, simulating up to 50,000 individual strands for over 100 hairstyles in Dragon Age: The Veilguard.
www.ea.com
November 13, 2024 at 5:30 PM