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