This repository contains a shim of d3d12.dll which makes GPU profilers usable to inspect WebGPU workloads running on Chrome for Windows. If you would like to know more about why this thing exists and how it solves the problem at hand, please read my blog post Shimming d3d12.dll for fun and profit
⚠ Before anything else, please remember that this is a hacky solution and that you should not browse the open web with that DLL attached. It should only be used for a GPU profiling session and removed afterwards. It also conflicts with PIX, so you should remove it before attempting to take a capture. I would recommend adding that DLL to a specific flavor of Chrome ( Dev, Canary, etc. ) that you would only use for GPU profiling.
A comprehensive explanation on how to use this dll is provided in the following article on my blog : GPU profiling for WebGPU workloads on Windows with Chrome
d3d12.dll
from this repository.
\Google\Chrome\Application
folder.WinPixEventRuntime.dll
from the release section of that repository.
\Google\Chrome\Application\<Version Number>
folder.--no-sandbox --disable-gpu-sandbox --disable-gpu-watchdog --disable-direct-composition --enable-dawn-features=emit_hlsl_debug_symbols,disable_symbol_renaming
git clone https://github.com/frguthmann/d3d12_webgpu_shim.git
cd d3d12_webgpu_shim
cmake ./
Then open the Visual Studio solution, build it and follow the How to use instructions.
I would like to thank Marco Castorina and Ray Dey without whom this hack probably wouldn't exist :).