From 824a34cf547124a64c27ea5e717a952265aed003 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 --- rocclr/runtime/device/rocm/rocblit.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rocclr/runtime/device/rocm/rocblit.cpp b/rocclr/runtime/device/rocm/rocblit.cpp index 5e43543890..83c6988a7d 100644 --- a/rocclr/runtime/device/rocm/rocblit.cpp +++ b/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_);