SWDEV-324411 - Use blit kernel for copyBufferRect if atomic is not supported
Change-Id: I2e110fd3418117ee9c7ede379244d2c6c4f248b7
[ROCm/clr commit: ed7737564e]
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
مرجع در شماره جدید
Block a user