mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 22:43:00 +08:00
Introducing kernel descriptor
Change-Id: I4ce6ebf27a81cf14b055817ebfe76d8427e349ab
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
|
||||
set(RUNTIME_SRCS_KERNEL
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/dynamic_kernel_info.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}/get_additional_kernel_info.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/image_transformer.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/image_transformer.h
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
struct DynamicKernelInfo {
|
||||
char *pCrossThreadData;
|
||||
size_t crossThreadDataSize;
|
||||
|
||||
char *pSsh;
|
||||
size_t sshSize;
|
||||
};
|
||||
@@ -348,7 +348,7 @@ cl_int Kernel::initialize() {
|
||||
|
||||
// set the argument handler
|
||||
auto &argInfo = kernelInfo.kernelArgInfo[i];
|
||||
if (argInfo.metadata.addressQualifier == KernelArgMetadata::AddressSpaceQualifier::Local) {
|
||||
if (argInfo.metadata.addressQualifier == KernelArgMetadata::AddrLocal) {
|
||||
kernelArgHandlers[i] = &Kernel::setArgLocal;
|
||||
} else if (argInfo.isAccelerator) {
|
||||
kernelArgHandlers[i] = &Kernel::setArgAccelerator;
|
||||
@@ -528,13 +528,13 @@ cl_int Kernel::getArgInfo(cl_uint argIndx, cl_kernel_arg_info paramName, size_t
|
||||
|
||||
switch (paramName) {
|
||||
case CL_KERNEL_ARG_ADDRESS_QUALIFIER:
|
||||
addressQualifier = asClKernelArgAddressQualifier(argInfo.metadata.addressQualifier);
|
||||
addressQualifier = asClKernelArgAddressQualifier(argInfo.metadata.getAddressQualifier());
|
||||
srcSize = sizeof(addressQualifier);
|
||||
pSrc = &addressQualifier;
|
||||
break;
|
||||
|
||||
case CL_KERNEL_ARG_ACCESS_QUALIFIER:
|
||||
accessQualifier = asClKernelArgAccessQualifier(argInfo.metadata.accessQualifier);
|
||||
accessQualifier = asClKernelArgAccessQualifier(argInfo.metadata.getAccessQualifier());
|
||||
srcSize = sizeof(accessQualifier);
|
||||
pSrc = &accessQualifier;
|
||||
break;
|
||||
@@ -2307,8 +2307,8 @@ cl_int Kernel::checkCorrectImageAccessQualifier(cl_uint argIndex,
|
||||
if (pMemObj) {
|
||||
auto accessQualifier = getKernelInfo().kernelArgInfo[argIndex].metadata.accessQualifier;
|
||||
cl_mem_flags flags = pMemObj->getMemoryPropertiesFlags();
|
||||
if ((accessQualifier == KernelArgMetadata::AccessQualifier::ReadOnly && ((flags | CL_MEM_WRITE_ONLY) == flags)) ||
|
||||
(accessQualifier == KernelArgMetadata::AccessQualifier::WriteOnly && ((flags | CL_MEM_READ_ONLY) == flags))) {
|
||||
if ((accessQualifier == KernelArgMetadata::AccessReadOnly && ((flags | CL_MEM_WRITE_ONLY) == flags)) ||
|
||||
(accessQualifier == KernelArgMetadata::AccessWriteOnly && ((flags | CL_MEM_READ_ONLY) == flags))) {
|
||||
return CL_INVALID_ARG_VALUE;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -18,13 +18,13 @@ constexpr cl_kernel_arg_access_qualifier asClKernelArgAccessQualifier(KernelArgM
|
||||
switch (accessQualifier) {
|
||||
default:
|
||||
return 0U;
|
||||
case AccessQualifier::None:
|
||||
case AccessNone:
|
||||
return CL_KERNEL_ARG_ACCESS_NONE;
|
||||
case AccessQualifier::ReadOnly:
|
||||
case AccessReadOnly:
|
||||
return CL_KERNEL_ARG_ACCESS_READ_ONLY;
|
||||
case AccessQualifier::WriteOnly:
|
||||
case AccessWriteOnly:
|
||||
return CL_KERNEL_ARG_ACCESS_WRITE_ONLY;
|
||||
case AccessQualifier::ReadWrite:
|
||||
case AccessReadWrite:
|
||||
return CL_KERNEL_ARG_ACCESS_READ_WRITE;
|
||||
}
|
||||
}
|
||||
@@ -34,13 +34,13 @@ constexpr cl_kernel_arg_address_qualifier asClKernelArgAddressQualifier(KernelAr
|
||||
switch (addressQualifier) {
|
||||
default:
|
||||
return 0U;
|
||||
case AddressSpaceQualifier::Global:
|
||||
case AddrGlobal:
|
||||
return CL_KERNEL_ARG_ADDRESS_GLOBAL;
|
||||
case AddressSpaceQualifier::Local:
|
||||
case AddrLocal:
|
||||
return CL_KERNEL_ARG_ADDRESS_LOCAL;
|
||||
case AddressSpaceQualifier::Private:
|
||||
case AddrPrivate:
|
||||
return CL_KERNEL_ARG_ADDRESS_PRIVATE;
|
||||
case AddressSpaceQualifier::Constant:
|
||||
case AddrConstant:
|
||||
return CL_KERNEL_ARG_ADDRESS_CONSTANT;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user