From 9eccbea2e940bfeb5aa687b75aa5679eb41320a2 Mon Sep 17 00:00:00 2001
From: foreman
Date: Tue, 20 Oct 2015 18:37:35 -0400
Subject: [PATCH] P4 to Git Change 1201783 by gandryey@gera-w8 on 2015/10/20
18:03:34
SWDEV-79151 - clenqueuereadImage is slow when using a pinned buffer and a row_picth!0
- Add a check if the provided rowPitch is equal to the actual transfer width. SDMA doesn't support row/slice pitches, thus runtime still has to fall back to compute in other cases
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_memobj.cpp#78 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#120 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.cpp#122 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.hpp#92 edit
[ROCm/clr commit: 69374d1cd9a39dbc5e7e94dc5ef1b83261203b83]
---
projects/clr/opencl/api/opencl/amdocl/cl_memobj.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/clr/opencl/api/opencl/amdocl/cl_memobj.cpp b/projects/clr/opencl/api/opencl/amdocl/cl_memobj.cpp
index 4f870988ef..222a0a3df0 100644
--- a/projects/clr/opencl/api/opencl/amdocl/cl_memobj.cpp
+++ b/projects/clr/opencl/api/opencl/amdocl/cl_memobj.cpp
@@ -2363,7 +2363,7 @@ RUNTIME_ENTRY(cl_int, clEnqueueReadImage, (
}
if (!srcImage->validateRegion(srcOrigin, srcRegion) ||
- !srcImage->isSliceValid(row_pitch, slice_pitch, region[1])) {
+ !srcImage->isRowSliceValid(row_pitch, slice_pitch, region[0], region[1])) {
return CL_INVALID_VALUE;
}
@@ -2561,7 +2561,7 @@ RUNTIME_ENTRY(cl_int, clEnqueueWriteImage, (
}
if (!dstImage->validateRegion(dstOrigin, dstRegion) ||
- !dstImage->isSliceValid(input_row_pitch, input_slice_pitch, region[1])) {
+ !dstImage->isRowSliceValid(input_row_pitch, input_slice_pitch, region[0], region[1])) {
return CL_INVALID_VALUE;
}