3 ms·
> This makes SDF amenable to implementation in GPU hardware, though to date no hardware has been designed specifically to accelerate SDF. This isn't entirely c
by cpgxiii 2y ago
> This makes SDF amenable to implementation in GPU hardware, though to date no hardware has been designed specifically to accelerate SDF.
This isn't entirely correct. Nvidia GPUs can perform interpolation on 3D textures, which is specifically useful for performing finer distance queries on a 3D SDF.
- atq2119 2y agoNot sure why you feel the need to call out Nvidia. Interpolation of 3D textures has been a standard feature in graphics APIs for a very long time. But the author is correct in that this isn't specifically geared towards SDFs.
- cpgxiii 2y agoOther GPUs do have 3D texture support, but Nvidia does specifically use their 3D texture units for SDF interpolation in their simulation work. That's about as close to hardware-for-SDFs and well beyond "whatever hardware was developed for triangle rasterization has been repurposed for SDF by end users" (arguably, 3D texture support _predates_ the modern programmable shader pipeline).
- dogma1138 2y agoAren’t the TMUs on AMD GPUs still cap at FP16 at least for advertised throughput? NVIDIA TMUs historically offered higher precision and about double the throughput as well as supported other edge cases such as sub pixel sampling much more effectively than AMD GPUs and at least recalling some failure states in low level APIs AMD seems to at least do certain things in shaders which were loaded by the driver when certain API functions were called rather than having native instructions for that.
- kimixa 2y agoI don't think so? It's not something I've ever noticed, though have only been working on AMD GPUs since GCN (~12 years ago) I'm not sure the ISA even allows some "low precision internal calculations" mode on image samplers
- dogma1138 2y agoGCN definitely only effectively supported FP16 on the TMUs not sure about RDNA.
- kimixa 2y agoI'm not sure that meshes with my understanding. Do you have any links you can share? Or maybe we're talking past each other - bandwidth and interpolation requirements mean that lower precision does tend to be faster - even on nvidia. unorm8 is often the quoted "texels/second" precision, as to this day rgb888 is the "most common" texture format in games/apps/desktop environments. I think GCN had fp16/int16 at 1/2 that (I think RDNA increased that to 1/1), fp32/int32 at 1/4 and fp64 at 1/8. But that's pretty much the same as nvidia's texture filtering rates, abut I don't think there's a "hard cap" or internal limit of fp16 precision?