P4 to Git Change 1344768 by skudchad@skudchad_test_win_opencl2 on 2016/11/22 14:31:30

SWDEV-107226 - [SDI] SDISpeedTest Corruption for OCL GPU to SDI RGBA
	- Single step copy using SDMA to remote SDI buffer seems to be causing corruption. This fix is a workaround to do transfer via a staging buffer and seems to be fixing corruption. The issue is under investigation

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/11882/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#125 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#12 edit
This commit is contained in:
foreman
2016-11-22 14:43:24 -05:00
parent 39e5a8ba13
commit 4d659dfd37
2 changed files with 8 additions and 2 deletions
+4 -1
View File
@@ -1360,7 +1360,10 @@ KernelBlitManager::copyImageToBuffer(
((slicePitch == 0) || (slicePitch == imgSlicePitch))))) {
// First attempt to do this all with DMA,
// but there are restriciton with older hardware
if (dev().settings().imageDMA_) {
// If the dest buffer is external physical(SDI), copy two step as
// single step SDMA is causing corruption and the cause is under investigation
if (dev().settings().imageDMA_ &&
gpuMem(dstMemory).memoryType() != Resource::ExternalPhysical) {
result = DmaBlitManager::copyImageToBuffer(
srcMemory, dstMemory, srcOrigin, dstOrigin,
size, entire, rowPitch, slicePitch);