SWDEV-324411 - Use blit kernel for copyBufferRect if atomic is not supported

Change-Id: I2e110fd3418117ee9c7ede379244d2c6c4f248b7


[ROCm/clr commit: ed7737564e]
This commit is contained in:
Jason Tang
2022-04-22 15:47:21 -04:00
کامیت شده توسط Jason Tang
والد 1609b1085b
کامیت 7bdbf61a9d
2فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
@@ -1585,8 +1585,8 @@ bool KernelBlitManager::copyBufferRect(device::Memory& srcMemory, device::Memory
bool rejected = false;
// Fall into the ROC path for rejected transfers
if (setup_.disableCopyBufferRect_ ||
srcMemory.isHostMemDirectAccess() || dstMemory.isHostMemDirectAccess()) {
if (dev().info().pcie_atomics_ && (setup_.disableCopyBufferRect_ ||
srcMemory.isHostMemDirectAccess() || dstMemory.isHostMemDirectAccess())) {
result = DmaBlitManager::copyBufferRect(srcMemory, dstMemory, srcRectIn, dstRectIn, sizeIn, entire);
if (result) {
@@ -2781,7 +2781,7 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const
break;
}
case amd::KernelParameterDescriptor::HiddenHostcallBuffer: {
if (roc_device_.info().pcie_atomics_) {
if (dev().info().pcie_atomics_) {
uintptr_t buffer = reinterpret_cast<uintptr_t>(
roc_device_.getOrCreateHostcallBuffer(gpu_queue_, coopGroups, cuMask_));
if (!buffer) {
@@ -2936,8 +2936,8 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const
// Check for group memory overflow
//! @todo Check should be in HSA - here we should have at most an assert
assert(roc_device_.info().localMemSizePerCU_ > 0);
if (ldsUsage > roc_device_.info().localMemSizePerCU_) {
assert(dev().info().localMemSizePerCU_ > 0);
if (ldsUsage > dev().info().localMemSizePerCU_) {
LogError("No local memory available\n");
return false;
}