P4 to Git Change 1363842 by asalmanp@asalmanp-opencl-stg on 2017/01/19 11:35:19

SWDEV-107075 - [OCL][VG10] Conformance RQ Mipmaps tests are failing. Adding a temporary workaround for Vega10 to disable sDMA transfers for MemToImage and ImageToMem for 1Darray image format for now and use Kernles instead until the failures can be root-caused and fixed.
	GPU_DISABLE_SDMA_IMG_MEM_IMG environment variable was also added to quickly enable back the sDMA for testing and continuing the current failure investigation.

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/12194/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#8 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#265 edit


[ROCm/clr commit: 7403de545e]
Cette révision appartient à :
foreman
2017-01-19 11:45:14 -05:00
Parent ef14e9e0df
révision 741f1509ed
4 fichiers modifiés avec 20 ajouts et 4 suppressions
+6 -1
Voir le fichier
@@ -1258,18 +1258,22 @@ Resource::partialMemCopyTo(
calSize[2] = size[2];
uint64_t gpuMemoryOffset, gpuMemoryRowPitch, imageOffsetx;
bool img1Darray = false;
if (desc().buffer_ && !dstResource.desc().buffer_) {
imageOffsetx = calDstOrigin[0] % dstResource.elementSize();
gpuMemoryOffset = calSrcOrigin[0] + offset();
gpuMemoryRowPitch = (calSrcOrigin[1]) ? calSrcOrigin[1] :
calSize[0] * dstResource.elementSize();
img1Darray = (dstResource.desc().topology_ == CL_MEM_OBJECT_IMAGE1D_ARRAY);
}
else if (!desc().buffer_ && dstResource.desc().buffer_) {
imageOffsetx = calSrcOrigin[0] % elementSize();
gpuMemoryOffset = calDstOrigin[0] + dstResource.offset();
gpuMemoryRowPitch = (calDstOrigin[1]) ? calDstOrigin[1] :
calSize[0] * elementSize();
img1Darray = (desc().topology_ == CL_MEM_OBJECT_IMAGE1D_ARRAY);
}
if ((desc().buffer_ && !dstResource.desc().buffer_) ||
@@ -1281,7 +1285,8 @@ Resource::partialMemCopyTo(
// another DRM restriciton... SI has 4 pixels
(gpuMemoryOffset % 4 != 0) ||
(dev().settings().sdamPageFaultWar_ &&
(imageOffsetx != 0))) {
(imageOffsetx != 0)) ||
(dev().settings().disableSdmaMemoryToImage_ && img1Darray)) {
return false;
}