diff --git a/include/vkd3d.h b/include/vkd3d.h index b7481877..87b5bdac 100644 --- a/include/vkd3d.h +++ b/include/vkd3d.h @@ -44,6 +44,7 @@ HRESULT vkd3d_create_device(const struct vkd3d_device_create_info *create_info, REFIID riid, void **device); HRESULT vkd3d_create_image_resource(ID3D12Device *device, const D3D12_RESOURCE_DESC *desc, VkImage vk_image, ID3D12Resource **resource); +VkInstance vkd3d_get_vk_instance(ID3D12Device *device); #ifdef __cplusplus } diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 55c753de..3da098b3 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -1150,3 +1150,10 @@ HRESULT d3d12_device_create(const struct vkd3d_device_create_info *create_info, return S_OK; } + +VkInstance vkd3d_get_vk_instance(ID3D12Device *device) +{ + struct d3d12_device *d3d12_device = impl_from_ID3D12Device(device); + + return d3d12_device->vkd3d_instance.vk_instance; +}