Stefan Dösinger : vkd3d: Forward MakeResident to EnqueueMakeResident.
Module: vkd3d Branch: master Commit: 2935ac5c7edfb19a5f601aa3cfe717c2fb3b872b URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/2935ac5c7edfb19a5f601aa3cfe717... Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Wed Nov 22 20:03:45 2023 +0300 vkd3d: Forward MakeResident to EnqueueMakeResident. --- libs/vkd3d/device.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 8efaab85..5c801ca4 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -3736,10 +3736,19 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandleByName(ID3D12Devic static HRESULT STDMETHODCALLTYPE d3d12_device_MakeResident(ID3D12Device5 *iface, UINT object_count, ID3D12Pageable * const *objects) { - FIXME_ONCE("iface %p, object_count %u, objects %p stub!\n", - iface, object_count, objects); + ID3D12Fence *fence; + HRESULT hr; - return S_OK; + TRACE("iface %p, object_count %u, objects %p.\n", iface, object_count, objects); + + if (FAILED(hr = ID3D12Device5_CreateFence(iface, 0, 0, &IID_ID3D12Fence, (void **)&fence))) + return hr; + + hr = ID3D12Device5_EnqueueMakeResident(iface, 0, object_count, objects, fence, 1); + if (SUCCEEDED(hr)) + ID3D12Fence_SetEventOnCompletion(fence, 1, NULL); + ID3D12Fence_Release(fence); + return hr; } static HRESULT STDMETHODCALLTYPE d3d12_device_Evict(ID3D12Device5 *iface,
participants (1)
-
Alexandre Julliard