Files
compute-runtime/shared/source/helpers/api_specific_config.h
Mateusz Hoppe 5a4fa180d6 feature: control bindless compilation mode based on release
- check releaseHelper support when selecting bindless mode, if not
disabled, prefer bindless mode in L0 API
- bindless mode can be forced with DebugVariable: UseBindlessMode

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 10:11:11 +02:00

40 lines
1.1 KiB
C++

/*
* Copyright (C) 2020-2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/debug_settings/debug_settings_manager.h"
#include "shared/source/utilities/stackvec.h"
#include <cstdint>
#include <string>
#include <vector>
namespace NEO {
class ReleaseHelper;
struct ApiSpecificConfig {
enum ApiType { OCL,
L0 };
static bool isStatelessCompressionSupported();
static bool getGlobalBindlessHeapConfiguration();
static bool getBindlessMode(const ReleaseHelper *);
static bool isDeviceAllocationCacheEnabled();
static bool isDynamicPostSyncAllocLayoutEnabled();
static ApiType getApiType();
static std::string getName();
static uint64_t getReducedMaxAllocSize(uint64_t maxAllocSize);
static const char *getRegistryPath();
static void initPrefixes();
static const StackVec<const char *, 4> &getPrefixStrings();
static const StackVec<DebugVarPrefix, 4> &getPrefixTypes();
static std::string getAubPrefixForSpecificApi() {
return (getName() + "_");
}
static bool isSharedAllocPrefetchEnabled();
};
} // namespace NEO