About me
I’m a graphics programmer, specializing in low-level OpenGL / DirectX, and other GPU-related development.
Professional
I currently work at Collabora, as a Principal Engineer in the graphics team. Most of my work currently evolve around Mesa.
Previously, I worked at Fusetools, leading the development of the compiler for the Uno-language (a dialect of C#), as well as fuselibs, which is the core of the UI engine.
I’ve also previously worked at Hue AS (now Bluware), building big-scale data visualization software for the Oil and Gas industry.
Before that, I was one of the first employees at Falanx Microsystems (later aquired by ARM), where I worked on the ARM Mali line of GPUs, with an emphasis on the OpenGL ES drivers.
You can read more about my professional career on my LinkedIn profile.
Talks
I regularly go to tech-conferences and present talks about various graphics related topics. Here’s some of them!
- XDC 2024: Panfrost Update - Together with Boris Brezillon
- XDC 2022: Implementing the Graphics Pipeline on Compute
- XDC 2022: Post OpenGL: casual graphics development
- FOSDEM 2020: Zink Update: The last year in OpenGL on Vulkan
- FOSDEM 2020: Modernizing mesa3d.org: Let’s bring mesa3d.org past web 1.0
- XDC 2019: Zink: OpenGL on Vulkan - slides
- Siggraph 2019: Zink: OpenGL on Vulkan - slides - Part of the Khronos BoF
- Siggraph 2019: Creating Programming meets Explicit APIs
- FOSDEM 2019: Zink: OpenGL on Vulkan
- XDC 2018: Zink: OpenGL on Vulkan - slides - Lightning talk
- FOSDEM 2014: Grate: Liberating NVIDIA’s Tegra GPU
- Siggraph 2008: Demoscene Panel - Part of a panel discussion about the demoscene, hosted by Kevin Mack
- Assembly 2006: Cutting corners, not polygons - No recording or slides available
Linux Format
I have sometimes had my writings published in Linux Format. Here’s a few cases:
- Issue 12/2024: Arm Wrestle
- Issue 09/2023: Imagining Zink
- Issue 06/2020: DirectX & Mesa
- Issue 01/2019: Say Hello to Zink!
Demoscene
I’m also actively contributing to Demoscene productions, in particular under the label Excess. The other currently active half of Excess is Bent “gloom” Stamnes.
I’ve made a lot of demos, and some other notable labels I’ve released under are:
The videos on the top of the home-page showcase some of these demos.
I’ve also been involved in organizational work in the demoscene, for instance:
- Being an organizer of the creative competitions at The Gathering in 2001 and 2002.
- Being a Creative Mentor at The Gathering 2012.
- Organizing Kindergarden in 2003 through 2007.
- Taking part in the Meteoriks jury in 2018 and 2019.
- Being an organizer of the competitions at Evoke 2019 and Black Valley.
Links
You can find the source code of most of my works on GitHub. Here’s some highlighted projects, though:
- Rocket: This is a sychronization tool for demoscene productions. It’s written in C/C++, using Qt for the user interface.
- Grate: This is a reverse-engineered driver for the NVIDIA Tegra 2 GPU. It’s developed in cooperation with Thierry “tagr” Reding and Dmitry “digetx” Osipenko.
- Pimpmobile: This is a MOD/XM music playback engine for the Nintendo Game Boy Advance. It’s developed in cooperation with Jørn Nystad.
- Very Last Engine Ever: This is the source code of most of my demos. It’s an aging code-base that uses DirectX 9 for rendering.
- Even Laster Engine: This is a rather hacky, but new demo-engine which is the basis for my recent demos. It uses Vulkan 1.0 for rendering.