You’re calculating framerate percentiles wrong!

I apologize for the click-bait title. But I have your attention now. I was surprised I could barely find information about this online; so I figured I’d have to step forward. If you google about percentile calculation, e.g. 95% percentile, they will tell you to do this: That is, sort […]


Samsung Galaxy A54 Gaming Performance: WHAT THE HECK IS GOING ON?

Disclaimer: If you work at Samsung Developer Relationships and want to ping me, send me an email to info@yosoygames.com.ar So I bought a new Samsung Galaxy A54 (SM – A546E). On paper it was similar to the one I had (a Xiaomi POCO F2 Pro). I later learnt it’s quite […]


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. […]


An Open Letter to ARM / Mali: Please stop doing this

Dear ARM, in charge of the Mali GPU: DO NOT REUSE THE SAME DEVICE ID FOR TWO DIFFERENT GPU MODELS.STOP DOING THAT. In case you don’t understand what I’m talking about, here’s an example: in 3DMark for Android Wild Life, the MC4 model has a score 1483, the MP12 model […]


My Ubuntu Linux boots into a black screen: GUIDE

HELP! My Linux computer was working fine and today after I rebooted, it would not longer boot to a GUI, or it boots to a black screen, or it boots into the terminal, or I have no display acceleration and the best resolution I can do is 1024×768 This guide […]


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 […]


DirectStorage speculations & myths

So, it’s been 2 months since the release of DirectStorage Github repos and no new major updates. I deferred this post for a little while waiting for more updates, but I guess I’ll just have to post it with what has been made available so far. Myths? At least so […]


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. […]


Vulkan: Why some GPUs expose a dozen of identical memory types?

If you browse the capabilities of the GeForce 1080, you’ll notice it exposes 8 memory types on heap 1 If you browse an even older GeForce GTX 680, you’ll notice it exposes 2 memory types on heap 0 and 8 memory types on heap 1, often with propertyFlags = 0 […]


Apple M1 Max GPU: Ferrari or Fiat 600?

So I got a question from a fellow graphics dev, where he was waiting to get his hands on an M1 Max to see how much he can push on it, and his main question was: Should I treat it like a mobile GPU or Desktop GPU? So what does […]