From 5e23bfdf9d98815b512abcb38231e35362d44a96 Mon Sep 17 00:00:00 2001 From: foreman Date: Tue, 6 Dec 2016 11:40:16 -0500 Subject: [PATCH] P4 to Git Change 1349980 by cpaquot@hog-ocl on 2016/12/06 11:22:18 SWDEV-107442, SWDEV-108405 - Need to release GPU memory fence before releasing resources When we call submitKernelInternal, we need to release GPU memory fence before release resources used in the kernel otherwise we can page fault. ReviewBoardURL = http://ocltc.amd.com/reviews/r/11955/diff/ Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#5 edit [ROCm/clr commit: 824a34cf547124a64c27ea5e717a952265aed003] --- projects/clr/rocclr/runtime/device/rocm/rocblit.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/projects/clr/rocclr/runtime/device/rocm/rocblit.cpp b/projects/clr/rocclr/runtime/device/rocm/rocblit.cpp index 5e43543890..83c6988a7d 100644 --- a/projects/clr/rocclr/runtime/device/rocm/rocblit.cpp +++ b/projects/clr/rocclr/runtime/device/rocm/rocblit.cpp @@ -1257,6 +1257,9 @@ KernelBlitManager::copyImageToBuffer( address parameters = kernels_[blitType]->parameters().capture(dev_); bool result = gpu().submitKernelInternal(ndrange, *kernels_[blitType], parameters, NULL); + + gpu().releaseGpuMemoryFence(); + kernels_[blitType]->parameters().release(const_cast
(parameters), dev_); @@ -1372,6 +1375,9 @@ bool KernelBlitManager::copyBufferToImage(device::Memory& srcMemory, address parameters = kernels_[blitType]->parameters().capture(dev_); bool result = gpu().submitKernelInternal(ndrange, *kernels_[blitType], parameters, NULL); + + gpu().releaseGpuMemoryFence(); + kernels_[blitType]->parameters().release(const_cast
(parameters), dev_);