Sorry for the long silence. A couple of nits above, but generally that looks fine to me. My understanding is that we could in principle have a client that calls Microsoft's d3d9on12.dll instead of returning our d3d9, is that right? The games just go through `Direct3DCreate9On12` but then only use the D3D9 interface?