SWDEV-268914 - Linux, AMF, tests fail to scale images down

In pitch workaround, we need to copy the image to copy buffer
when application wants to read image to buffer. After this
patch, we unconditionally copy the image data to the copy buffer.

Change-Id: I71b0d19459542dfbb3ca51a2c8a3a81367fa2fb5


[ROCm/clr commit: 5330679473]
This commit is contained in:
Alex Xie
2021-01-29 14:41:21 -05:00
committed by AlexBin Xie
parent 62fee66ff2
commit c490930624
@@ -1226,15 +1226,13 @@ void VirtualGPU::submitReadMemory(amd::ReadMemoryCommand& cmd) {
if (nullptr != imageBuffer->CopyImageBuffer()) {
amd::Memory* memory = imageBuffer->CopyImageBuffer();
devMem = dev().getGpuMemory(memory);
if (nullptr == imageBuffer->owner()->getLastWriter()) {
Memory* buffer = dev().getGpuMemory(imageBuffer->owner()->parent());
amd::Image* image = imageBuffer->owner()->asImage();
amd::Coord3D offs(0);
// Copy memory from the original image buffer into the backing store image
result = blitMgr().copyBufferToImage(*buffer, *devMem, offs,
offs, image->getRegion(), true,
image->getRowPitch(), image->getSlicePitch());
}
Memory* buffer = dev().getGpuMemory(imageBuffer->owner()->parent());
amd::Image* image = imageBuffer->owner()->asImage();
amd::Coord3D offs(0);
// Copy memory from the original image buffer into the backing store image
result = blitMgr().copyBufferToImage(*buffer, *devMem, offs,
offs, image->getRegion(), true,
image->getRowPitch(), image->getSlicePitch());
}
}
if (hostMemory != nullptr) {