P4 to Git Change 1279251 by gandryey@gera-w8 on 2016/06/13 17:47:42

SWDEV-86035 - Add PAL backend to OpenCL
	- Remove ciPlus_, since OCL on PAL supports CI+ only
	- Remove singleHeap_
	- Update WaveLimiter

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#346 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#97 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.hpp#3 edit
这个提交包含在:
foreman 于 2016-06-13 17:53:13 -04:00 提交
1 父节点 c2aa3ca6f8
当前提交 bc84416db0
10 个文件已更改
+176 -124

没有与搜索条件相匹配的文件

+7 -21
查看文件
@@ -600,9 +600,10 @@ DmaBlitManager::copyBufferRect(
bytesPerElement = bytesPerElement >> 1;
}
// 19 bit limit in HW in SI and 16 bit limit in CI+(we adjust the ElementSize to 4bytes but the packet still has 14bits)
size_t pitchLimit = dev().settings().ciPlus_ ? (0x3FFF * bytesPerElement) | 0xF : 0x7FFFF;
size_t sizeLimit = dev().settings().ciPlus_ ? (0x3FFF * bytesPerElement) | 0xF : 0x3FFF;
// 19 bit limit in HW in SI and 16 bit limit in CI+
// (we adjust the ElementSize to 4bytes but the packet still has 14bits)
size_t pitchLimit = (0x3FFF * bytesPerElement) | 0xF;
size_t sizeLimit = (0x3FFF * bytesPerElement) | 0xF;
if (!optimalElementSize ||
(srcRect.rowPitch_ > pitchLimit) ||
@@ -2419,24 +2420,9 @@ KernelBlitManager::copyBuffer(
size.c[0] /= CopyBuffAlignment[i];
}
else {
if (dev().settings().ciPlus_) {
remain = size[0] % 4;
size.c[0] /= 4;
size.c[0] += 1;
}
else {
// Check if offsets are aligned
aligned = ((srcOrigin[0] % sizeof(uint32_t)) == 0);
aligned &= ((dstOrigin[0] % sizeof(uint32_t)) == 0);
if (aligned) {
remain = size[0] % 4;
size.c[0] /= 4;
size.c[0] += 1;
}
else {
remain = 8;
}
}
remain = size[0] % 4;
size.c[0] /= 4;
size.c[0] += 1;
}
// Program the dispatch dimensions