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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user