Nikolay Sivov (@nsivov) commented about dlls/d2d1/factory.c:
ID2D1Device1 **device)
-{
- FIXME("iface %p, dxgi_device %p, device %p stub!\n", iface, dxgi_device, device);
- return E_NOTIMPL;
-}
-static HRESULT STDMETHODCALLTYPE d2d_factory_ID2D1Factory3_CreateDevice(ID2D1Factory3 *iface, IDXGIDevice *dxgi_device,
ID2D1Device2 **device)
-{
- FIXME("iface %p, dxgi_device %p, device %p stub!\n", iface, dxgi_device, device);
- return E_NOTIMPL;
-}
static const struct ID2D1Factory3Vtbl d2d_factory_vtbl =
Let's not rearrange function order, I would add a new function d2d_device_create() that takes dxgi device and returns "struct d2d_device *", you can use that function in all CreateDevice methods, keeping their own trace messages without duplicating them in debug output.