```diff static inline HRESULT d3d12_device_query_interface(struct d3d12_device *device, REFIID iid, void **object) { - return ID3D12Device_QueryInterface(&device->ID3D12Device_iface, iid, object); + return ID3D12Device_QueryInterface(&device->ID3D12Device1_iface, iid, object); }
static inline ULONG d3d12_device_add_ref(struct d3d12_device *device) { - return ID3D12Device_AddRef(&device->ID3D12Device_iface); + return ID3D12Device_AddRef(&device->ID3D12Device1_iface); }
static inline ULONG d3d12_device_release(struct d3d12_device *device) { - return ID3D12Device_Release(&device->ID3D12Device_iface); + return ID3D12Device_Release(&device->ID3D12Device1_iface); }
static inline unsigned int d3d12_device_get_descriptor_handle_increment_size(struct d3d12_device *device, D3D12_DESCRIPTOR_HEAP_TYPE descriptor_type) { - return ID3D12Device_GetDescriptorHandleIncrementSize(&device->ID3D12Device_iface, descriptor_type); + return ID3D12Device_GetDescriptorHandleIncrementSize(&device->ID3D12Device1_iface, descriptor_type); } ```
We should use the ID3D12Device1 variants here. I was slightly surprised the compiler didn't catch that; looks like we don't enable WIDL_C_INLINE_WRAPPERS. IIRC that was because it was slightly broken with older versions of MinGW-64, but perhaps we can revisit that. -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/279#note_40153