From 97851343d43004b9eb82b9fad549561d2d278ae4 Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 5 Aug 2015 16:44:13 -0400
Subject: [PATCH] P4 to Git Change 1177473 by cpaquot@hog-ocl on 2015/08/05
16:07:55
EPR #422059 - [DX11-OpenCL interop][MAYA] OpenCL doesn't update
We need to add a Dx->Flush() before ending the query to make sure the DX driver flushes all the GPU caches.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/8174/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d10.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d11.cpp#17 edit
[ROCm/clr commit: 28f7002255b5e7c37ed6b83a463c7a39ab23f562]
---
projects/clr/opencl/api/opencl/amdocl/cl_d3d10.cpp | 1 +
projects/clr/opencl/api/opencl/amdocl/cl_d3d11.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/projects/clr/opencl/api/opencl/amdocl/cl_d3d10.cpp b/projects/clr/opencl/api/opencl/amdocl/cl_d3d10.cpp
index 389a0d88b6..634472596d 100644
--- a/projects/clr/opencl/api/opencl/amdocl/cl_d3d10.cpp
+++ b/projects/clr/opencl/api/opencl/amdocl/cl_d3d10.cpp
@@ -1458,6 +1458,7 @@ D3D10Object::copyOrigToShared()
pD3D10ResOrig_, subRes_, NULL);
// Flush D3D queues and make sure D3D stuff is finished
+ d3dDev->Flush();
pQuery_->End();
BOOL data;
while(S_OK != pQuery_->GetData(&data, sizeof(BOOL), 0) && data != TRUE)
diff --git a/projects/clr/opencl/api/opencl/amdocl/cl_d3d11.cpp b/projects/clr/opencl/api/opencl/amdocl/cl_d3d11.cpp
index d0970004e2..aceef1cdfa 100644
--- a/projects/clr/opencl/api/opencl/amdocl/cl_d3d11.cpp
+++ b/projects/clr/opencl/api/opencl/amdocl/cl_d3d11.cpp
@@ -1002,6 +1002,7 @@ D3D11Object::copyOrigToShared()
// Flush D3D queues and make sure D3D stuff is finished
{
ScopedLock sl(resLock_);//protect from multiple
+ pImmediateContext->Flush();
pImmediateContext->End(pQuery_);
BOOL data;
while(S_OK != pImmediateContext->GetData(pQuery_, &data, sizeof(BOOL), 0) && data != TRUE)