2018-01-09 21:08:34 +08:00
|
|
|
/*
|
2021-05-17 02:51:16 +08:00
|
|
|
* Copyright (C) 2019-2021 Intel Corporation
|
2018-01-09 21:08:34 +08:00
|
|
|
*
|
2018-09-18 15:11:08 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2018-01-09 21:08:34 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
2021-10-22 18:01:47 +08:00
|
|
|
#include "shared/source/helpers/hash.h"
|
2020-02-24 05:44:01 +08:00
|
|
|
#include "shared/source/sku_info/sku_info_base.h"
|
2018-01-09 21:08:34 +08:00
|
|
|
|
2020-05-04 22:34:13 +08:00
|
|
|
#include <bitset>
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2020-12-01 17:27:10 +08:00
|
|
|
|
2021-09-25 00:32:20 +08:00
|
|
|
constexpr inline size_t bcsInfoMaskSize = 1u;
|
|
|
|
using BcsInfoMask = std::bitset<bcsInfoMaskSize>;
|
2020-05-04 22:34:13 +08:00
|
|
|
|
|
|
|
struct FeatureTable : FeatureTableBase {
|
2021-08-01 16:25:35 +08:00
|
|
|
BcsInfoMask ftrBcsInfo = 0;
|
2021-10-22 18:01:47 +08:00
|
|
|
|
|
|
|
uint64_t asHash() const {
|
|
|
|
Hash hash;
|
|
|
|
|
|
|
|
hash.update(reinterpret_cast<const char *>(&packed), sizeof(packed));
|
|
|
|
|
|
|
|
return hash.finish();
|
|
|
|
}
|
2020-05-04 22:34:13 +08:00
|
|
|
};
|
2018-01-09 21:08:34 +08:00
|
|
|
|
2021-10-22 18:01:47 +08:00
|
|
|
struct WorkaroundTable : WorkaroundTableBase {
|
|
|
|
uint64_t asHash() const {
|
|
|
|
Hash hash;
|
|
|
|
|
|
|
|
hash.update(reinterpret_cast<const char *>(&packed), sizeof(packed));
|
|
|
|
|
|
|
|
return hash.finish();
|
|
|
|
}
|
|
|
|
};
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|