2022-05-13 19:49:25 +08:00
|
|
|
/*
|
2024-05-17 21:28:41 +08:00
|
|
|
* Copyright (C) 2022-2024 Intel Corporation
|
2022-05-13 19:49:25 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
namespace NEO {
|
2023-03-22 20:04:09 +08:00
|
|
|
struct KernelDescriptor;
|
2022-05-13 19:49:25 +08:00
|
|
|
struct KernelInfo;
|
2023-01-24 00:24:42 +08:00
|
|
|
struct RootDeviceEnvironment;
|
2022-05-13 19:49:25 +08:00
|
|
|
|
|
|
|
namespace AddressingModeHelper {
|
2023-01-24 00:24:42 +08:00
|
|
|
bool failBuildProgramWithStatefulAccess(const RootDeviceEnvironment &rootDeviceEnvironment);
|
2023-03-22 20:04:09 +08:00
|
|
|
bool containsStatefulAccess(const KernelDescriptor &kernelDescriptor, bool skipLastExplicitArg);
|
2023-03-10 00:27:52 +08:00
|
|
|
bool containsStatefulAccess(const std::vector<KernelInfo *> &kernelInfos, bool skipLastExplicitArg);
|
2024-05-17 21:28:41 +08:00
|
|
|
bool containsBindlessKernel(const std::vector<KernelInfo *> &kernelInfos);
|
2022-05-13 19:49:25 +08:00
|
|
|
|
|
|
|
} // namespace AddressingModeHelper
|
|
|
|
} // namespace NEO
|