mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-23 02:34:04 +08:00
28 lines
650 B
C
28 lines
650 B
C
|
|
/*
|
||
|
|
* Copyright (C) 2025 Intel Corporation
|
||
|
|
*
|
||
|
|
* SPDX-License-Identifier: MIT
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "shared/source/utilities/arrayref.h"
|
||
|
|
|
||
|
|
#include <mutex>
|
||
|
|
#include <vector>
|
||
|
|
|
||
|
|
namespace NEO {
|
||
|
|
|
||
|
|
struct KernelInfo;
|
||
|
|
|
||
|
|
struct MetadataGeneration {
|
||
|
|
void callPopulateZebinExtendedArgsMetadataOnce(const ArrayRef<const uint8_t> refBin, size_t kernelMiscInfoOffset, std::vector<NEO::KernelInfo *> &kernelInfos);
|
||
|
|
void callGenerateDefaultExtendedArgsMetadataOnce(std::vector<NEO::KernelInfo *> &kernelInfos);
|
||
|
|
|
||
|
|
private:
|
||
|
|
std::once_flag extractAndDecodeMetadataOnceFlag;
|
||
|
|
std::once_flag generateDefaultMetadataOnceFlag;
|
||
|
|
};
|
||
|
|
|
||
|
|
} // namespace NEO
|