2020-10-01 19:31:19 +08:00
|
|
|
/*
|
2024-01-31 21:07:07 +08:00
|
|
|
* Copyright (C) 2020-2024 Intel Corporation
|
2020-10-01 19:31:19 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2022-05-18 03:04:23 +08:00
|
|
|
#pragma once
|
2023-08-20 12:31:48 +08:00
|
|
|
#include "shared/source/debug_settings/debug_settings_manager.h"
|
2023-09-21 22:02:00 +08:00
|
|
|
#include "shared/source/utilities/stackvec.h"
|
2023-08-20 12:31:48 +08:00
|
|
|
|
2021-08-11 02:52:02 +08:00
|
|
|
#include <cstdint>
|
2021-09-16 20:31:00 +08:00
|
|
|
#include <string>
|
2023-08-20 12:31:48 +08:00
|
|
|
#include <vector>
|
2021-08-11 02:52:02 +08:00
|
|
|
|
2020-10-01 19:31:19 +08:00
|
|
|
namespace NEO {
|
2024-09-18 20:38:06 +08:00
|
|
|
class Device;
|
2023-10-19 02:37:50 +08:00
|
|
|
class ReleaseHelper;
|
2024-09-05 23:43:24 +08:00
|
|
|
struct RootDeviceEnvironment;
|
2023-08-20 12:31:48 +08:00
|
|
|
|
2020-10-01 19:31:19 +08:00
|
|
|
struct ApiSpecificConfig {
|
2021-05-14 01:46:01 +08:00
|
|
|
enum ApiType { OCL,
|
|
|
|
L0 };
|
2021-08-03 16:24:06 +08:00
|
|
|
static bool isStatelessCompressionSupported();
|
2024-03-21 00:58:17 +08:00
|
|
|
static bool getGlobalBindlessHeapConfiguration(const ReleaseHelper *releaseHelper);
|
2024-09-18 20:38:06 +08:00
|
|
|
static bool getBindlessMode(const Device &device);
|
2022-09-05 21:17:18 +08:00
|
|
|
static bool isDeviceAllocationCacheEnabled();
|
2024-01-31 21:07:07 +08:00
|
|
|
static bool isHostAllocationCacheEnabled();
|
2024-05-15 21:30:37 +08:00
|
|
|
static bool isDeviceUsmPoolingEnabled();
|
|
|
|
static bool isHostUsmPoolingEnabled();
|
2024-09-05 23:43:24 +08:00
|
|
|
static bool isGlobalStatelessEnabled(const RootDeviceEnvironment &rootDeviceEnvironment);
|
2021-05-14 01:46:01 +08:00
|
|
|
static ApiType getApiType();
|
2021-09-16 20:31:00 +08:00
|
|
|
static std::string getName();
|
2021-08-11 02:52:02 +08:00
|
|
|
static uint64_t getReducedMaxAllocSize(uint64_t maxAllocSize);
|
2021-09-23 06:03:07 +08:00
|
|
|
static const char *getRegistryPath();
|
2023-08-20 12:31:48 +08:00
|
|
|
static void initPrefixes();
|
2023-09-21 22:02:00 +08:00
|
|
|
static const StackVec<const char *, 4> &getPrefixStrings();
|
|
|
|
static const StackVec<DebugVarPrefix, 4> &getPrefixTypes();
|
2021-09-16 20:31:00 +08:00
|
|
|
static std::string getAubPrefixForSpecificApi() {
|
|
|
|
return (getName() + "_");
|
|
|
|
}
|
2023-10-16 12:36:51 +08:00
|
|
|
static bool isSharedAllocPrefetchEnabled();
|
2024-02-29 23:03:53 +08:00
|
|
|
static std::string compilerCacheDir();
|
|
|
|
static std::string compilerCacheLocation();
|
|
|
|
static std::string compilerCacheFileExtension();
|
|
|
|
static int64_t compilerCacheDefaultEnabled();
|
2020-10-01 19:31:19 +08:00
|
|
|
};
|
2021-08-11 02:52:02 +08:00
|
|
|
} // namespace NEO
|