vkd3d: Flush copy queue in GetCudaSurface.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2022-07-07 15:20:05 +02:00
parent ad15a7eb01
commit f74705b11a
1 changed files with 7 additions and 0 deletions

View File

@ -190,6 +190,13 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_vkd3d_ext_GetCudaSurfaceObject(ID3
return E_INVALIDARG;
device = d3d12_device_from_ID3D12DeviceExt(iface);
if (uav_handle.ptr & VKD3D_RESOURCE_DESC_DEFER_COPY_MASK)
{
INFO("Flushing copy queue in place due to weird GetCudaSurfaceObject call!\n");
vkd3d_descriptor_update_ring_flush(&device->descriptor_update_ring, device);
}
uav_desc = d3d12_desc_decode_va(uav_handle.ptr);
imageViewHandleInfo.imageView = uav_desc.view->info.view->vk_image_view;