mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
Refactor(ocl): refactor OCL Kernel and MultiDeviceKernel class 1/n
- For static create() method for Kernel and MultiDeviceKernel force errcodeRet parameter to be passed via reference (instead of a pointer) - Move part of kernel's creation logic to initialize() method Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
01d03aa5b6
commit
7be2ac84d3
@@ -91,7 +91,7 @@ class Kernel : public ReferenceTrackedObject<Kernel> {
|
||||
const void *argVal);
|
||||
|
||||
template <typename kernel_t = Kernel, typename program_t = Program>
|
||||
static kernel_t *create(program_t *program, const KernelInfo &kernelInfo, ClDevice &clDevice, cl_int *errcodeRet) {
|
||||
static kernel_t *create(program_t *program, const KernelInfo &kernelInfo, ClDevice &clDevice, cl_int &errcodeRet) {
|
||||
cl_int retVal;
|
||||
kernel_t *pKernel = nullptr;
|
||||
|
||||
@@ -102,20 +102,7 @@ class Kernel : public ReferenceTrackedObject<Kernel> {
|
||||
delete pKernel;
|
||||
pKernel = nullptr;
|
||||
}
|
||||
|
||||
if (pKernel) {
|
||||
auto localMemSize = static_cast<uint32_t>(clDevice.getDevice().getDeviceInfo().localMemSize);
|
||||
auto slmTotalSize = pKernel->getSlmTotalSize();
|
||||
|
||||
if (slmTotalSize > 0 && localMemSize < slmTotalSize) {
|
||||
PRINT_DEBUG_STRING(NEO::DebugManager.flags.PrintDebugMessages.get(), stderr, "Size of SLM (%u) larger than available (%u)\n", slmTotalSize, localMemSize);
|
||||
retVal = CL_OUT_OF_RESOURCES;
|
||||
}
|
||||
}
|
||||
|
||||
if (errcodeRet) {
|
||||
*errcodeRet = retVal;
|
||||
}
|
||||
errcodeRet = retVal;
|
||||
|
||||
if (fileLoggerInstance().enabled()) {
|
||||
std::string source;
|
||||
|
||||
Reference in New Issue
Block a user