Welcome to my corner of the internet, containing my personal ramblings on product design, software development, real-time graphics, texture compression, and performance optimization.

Professionally, I am technical product owner for Arm Performance Studio, a suite of performance analysis tools for Arm CPUs and Mali GPUs. I am also maintainer for the Arm ASTC texture compressor, the defacto standard codec for Adaptive Scalable Texture Compression. In addition to my personal blogs here, more of my blogs can be found on community.arm.com

Recent blogs

A SVE backend for astcenc

05 Aug 2024

Recent Arm CPUs have provided a new SIMD instruction set, the Arm Scalable Vector Extension (SVE). SVE makes the ISA independent of vector length, allowing CPUs to provide different performance points without having to invent a new ISA each time.

Read more ...

Vertex packing

21 Jul 2022

This blog started out as one of those interesting Twitter discussions that really needed a bit more space to explain properly. The basic question was relatively simple:

Read more ...

Optimizing astcenc

22 Apr 2022

After two years of incremental improvement the astcenc 3.6 release is around 20 to 25 times faster than the 1.7 release I started with. This blog is a look at some of the techniques I used, and a few that I tried that didn’t work.

Read more ...