Graphics


Vulkan “But WHY?” FAQ

Vulkan isn’t newbie friendly. But something that I get asked a lot are questions that aren’t answered anywhere or is hard to find (i.e. typically in the form of “why are things done this way?”) unless you are familiar with previous APIs (i.e. D3D11 & Metal) and existing HW limitations. […]


Vulkan integration between multiple libraries (e.g. Qt + OgreNext)

So I’ve been working into integrating Qt Quick (QML) and OgreNext when using the Vulkan RenderSystem for use in Gazebo. Note that I’m talking about Qt Quick. The ‘stable’ Qt Widgets interface (which uses QVulkanWindow) doesn’t have this problem because it’s too simple. There are various ways to perform an […]


The road to 16-bit floats GPU is paved with our blood

Ok that was a flashy clickbait-y title! What? You didn’t like it? I’m proud of that one! So I recently tried to implement 16-bit floats into our shaders. I knew it was untested. What I was not prepared is… how untested everything is! We use macros like #define midf min16float. […]


Radeon RX 6800 XT and Linux

So I got Radeon 6800 XT working on Ubuntu 18.04.5 LTS but it wasn’t hassle free, given the card is too new To get it working, you’ll need the following: Mainline kernel 5.11+ or newer (5.13+ recommended) Newer firmware Kisak PPA Optionally 5.13 patch for Full RGB option (discussion) Update: […]


RenderDoc ‘Ref All Resources’ + Vulkan + Memory Aliasing = Beware

By default RenderDoc only downloads resources used by the frame being captured. Resources not used during that frame are not saved. Unless ‘Ref. All Resources’ is enabled, that is. I recently fixed a bug in Ogre where Ref. All Resources would randomly corrupt GPU memory after capture; both in my […]