GPU and systems software consulting.
Graphics, GPU, C++ and application development.
Graphics
Contributions to Valve projects, 2013 to present

Counter-Strike 2
Contributed to rendering and performance optimization.

Half-Life: Alyx
Contributed shader development, rendering work and performance optimization.

Dota 2
Developed the OpenGL and later the Vulkan render backends for Linux and macOS. Dota 2 was used to bring up the first Vulkan drivers.

Dota Underlords
Developed the OpenGL ES and Vulkan render backends for Android and the iOS renderer for Valve's first Source 2 mobile game.

SteamVR
Added Vulkan and Direct3D 12 support on Windows. Helped bring SteamVR to Linux, including asynchronous reprojection.
Medical imaging and mobile

Mevion Medical Systems
Worked on the image registration application for patient positioning in the Monarch 250 proton therapy system, including integration with X-ray panels, cone beam CT and optical tracking.

Mobius Imaging now Stryker
Developed the CT viewer and user interface for the hand pendant on the Airo CT scanner.

Rhythmia Medical now Boston Scientific
Developed shaders and OpenGL visualization code for a cardiac mapping application.

Qualcomm
Ported Adreno SDK samples to Direct3D 11 and created OpenCL samples for Android.
Services
Performance
CPU and GPU profiling and optimization.
Shaders
Shader development and shader pipelines.
Slang · HLSL · GLSL · SPIR-VGraphics APIs and ports
New platforms and APIs, or fixing existing ones.
Vulkan · Direct3D 12 · OpenGLGPU compute
Moving compute workloads onto the GPU and making them fast.
CUDA · OpenCL · Vulkan computeApplications and UI
Cross-platform desktop applications and user interfaces, including medical device software.
Qt · C++ · Windows · Linux · macOSC++ and systems
Low-level software, architecture and code review.
C · C++ · Windows · Linux · macOSGPU debugging
Postmortem debugging of GPU crashes, hangs and driver issues.
Background
- Khronos. Valve's representative in the Vulkan Working Group. Helped bring up the first Vulkan drivers with Dota 2.
- Shader pipelines. Works on the Source 2 shader pipeline, now built on Slang.
- Speaking. GDC, SIGGRAPH and Steam Dev Days.
- Books. OpenGL ES, OpenCL and OpenGL Shading Language programming guides (Addison-Wesley).
