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: 69374d1cd9]
Этот коммит содержится в:
foreman
2015-10-20 18:37:35 -04:00
родитель 512a7c282c
Коммит 9eccbea2e9
+2 -2
Просмотреть файл
@@ -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;
}