SWDEV-460948 - Changes to alloc, set, capture under single function.

Change-Id: I7b2d40e99e812b97c53535c5e63c41ad64a8f543
This commit is contained in:
kjayapra-amd
2024-05-15 20:27:08 -04:00
committed by Karthik Jayaprakash
parent b8c2ac4de4
commit 892071aeb2
6 changed files with 156 additions and 30 deletions
+21
View File
@@ -643,6 +643,27 @@ bool MigrateMemObjectsCommand::validateMemory() {
return true;
}
// =================================================================================================
int32_t NDRangeKernelCommand::AllocCaptureSetValidate(void** kernelParams, address kernArgs) {
const amd::Device& device = queue()->device();
// Validate the kernel before submission
if (!queue()->device().validateKernel(kernel(), queue()->vdev(), cooperativeGroups())) {
return CL_OUT_OF_RESOURCES;
}
parameters_ = kernel().parameters().alloc(*queue()->vdev());
if (parameters_ == nullptr) {
LogError("Cannot allocate memory for parameters_");
return CL_OUT_OF_RESOURCES;
}
if (!kernel().parameters().captureAndSet(kernelParams, kernArgs, parameters_)) {
LogError("Cannot capture and set the kernel parameters");
return CL_OUT_OF_RESOURCES;
}
return CL_SUCCESS;
}
int32_t NDRangeKernelCommand::captureAndValidate() {
const amd::Device& device = queue()->device();
// Validate the kernel before submission