diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index ed902c70a60..8bf8f0cbcde 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -506,7 +506,15 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_Begin(ID3D11DeviceContext static void STDMETHODCALLTYPE d3d11_immediate_context_End(ID3D11DeviceContext *iface, ID3D11Asynchronous *asynchronous) { - FIXME("iface %p, asynchronous %p stub!\n", iface, asynchronous); + struct d3d_query *query = unsafe_impl_from_ID3D11Asynchronous(asynchronous); + HRESULT hr; + + TRACE("iface %p, asynchronous %p.\n", iface, asynchronous); + + wined3d_mutex_lock(); + if (FAILED(hr = wined3d_query_issue(query->wined3d_query, WINED3DISSUE_END))) + ERR("Failed to issue query, hr %#x.\n", hr); + wined3d_mutex_unlock(); } static HRESULT STDMETHODCALLTYPE d3d11_immediate_context_GetData(ID3D11DeviceContext *iface,