Add state properties for state base address command

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz 2022-11-22 17:17:04 +00:00 committed by Compute-Runtime-Automation
parent 30a20236f0
commit cd17c1e9d2
36 changed files with 417 additions and 66 deletions

View File

@ -91,4 +91,35 @@ struct PipelineSelectProperties {
bool propertiesSupportLoaded = false;
};
struct StateBaseAddressPropertiesSupport {
bool globalAtomics = false;
bool statelessMocs = false;
bool bindingTablePoolBaseAddress = false;
};
struct StateBaseAddressProperties {
StreamProperty64 bindingTablePoolBaseAddress{};
StreamProperty64 surfaceStateBaseAddress{};
StreamProperty64 dynamicStateBaseAddress{};
StreamProperty64 indirectObjectBaseAddress{};
StreamPropertySizeT surfaceStateSize{};
StreamPropertySizeT dynamicStateSize{};
StreamPropertySizeT indirectObjectSize{};
StreamProperty globalAtomics{};
StreamProperty statelessMocs{};
void setProperties(bool globalAtomics, int32_t statelessMocs, int64_t bindingTablePoolBaseAddress,
int64_t surfaceStateBaseAddress, size_t surfaceStateSize,
int64_t dynamicStateBaseAddress, size_t dynamicStateSize,
int64_t indirectObjectBaseAddress, size_t indirectObjectSize, const HardwareInfo &hwInfo);
void setProperties(const StateBaseAddressProperties &properties);
bool isDirty() const;
protected:
void clearIsDirty();
StateBaseAddressPropertiesSupport stateBaseAddressPropertiesSupport = {};
bool propertiesSupportLoaded = false;
};
} // namespace NEO

View File

@ -201,3 +201,69 @@ void PipelineSelectProperties::clearIsDirty() {
mediaSamplerDopClockGate.isDirty = false;
systolicMode.isDirty = false;
}
void StateBaseAddressProperties::setProperties(bool globalAtomics, int32_t statelessMocs, int64_t bindingTablePoolBaseAddress,
int64_t surfaceStateBaseAddress, size_t surfaceStateSize,
int64_t dynamicStateBaseAddress, size_t dynamicStateSize,
int64_t indirectObjectBaseAddress, size_t indirectObjectSize, const HardwareInfo &hwInfo) {
if (this->propertiesSupportLoaded == false) {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.fillStateBaseAddressPropertiesSupportStructure(this->stateBaseAddressPropertiesSupport, hwInfo);
this->propertiesSupportLoaded = true;
}
clearIsDirty();
if (this->stateBaseAddressPropertiesSupport.globalAtomics) {
this->globalAtomics.set(globalAtomics);
}
if (this->stateBaseAddressPropertiesSupport.statelessMocs) {
this->statelessMocs.set(statelessMocs);
}
if (this->stateBaseAddressPropertiesSupport.bindingTablePoolBaseAddress) {
this->bindingTablePoolBaseAddress.set(bindingTablePoolBaseAddress);
}
this->surfaceStateBaseAddress.set(surfaceStateBaseAddress);
this->surfaceStateSize.set(surfaceStateSize);
this->dynamicStateBaseAddress.set(dynamicStateBaseAddress);
this->dynamicStateSize.set(dynamicStateSize);
this->indirectObjectBaseAddress.set(indirectObjectBaseAddress);
this->indirectObjectSize.set(indirectObjectSize);
}
void StateBaseAddressProperties::setProperties(const StateBaseAddressProperties &properties) {
clearIsDirty();
globalAtomics.set(properties.globalAtomics.value);
statelessMocs.set(properties.statelessMocs.value);
bindingTablePoolBaseAddress.set(properties.bindingTablePoolBaseAddress.value);
surfaceStateBaseAddress.set(properties.surfaceStateBaseAddress.value);
surfaceStateSize.set(properties.surfaceStateSize.value);
dynamicStateBaseAddress.set(properties.dynamicStateBaseAddress.value);
dynamicStateSize.set(properties.dynamicStateSize.value);
indirectObjectBaseAddress.set(properties.indirectObjectBaseAddress.value);
indirectObjectSize.set(properties.indirectObjectSize.value);
}
bool StateBaseAddressProperties::isDirty() const {
return globalAtomics.isDirty || statelessMocs.isDirty || bindingTablePoolBaseAddress.isDirty ||
surfaceStateBaseAddress.isDirty || surfaceStateSize.isDirty ||
dynamicStateBaseAddress.isDirty || dynamicStateSize.isDirty ||
indirectObjectBaseAddress.isDirty || indirectObjectSize.isDirty;
}
void StateBaseAddressProperties::clearIsDirty() {
globalAtomics.isDirty = false;
statelessMocs.isDirty = false;
bindingTablePoolBaseAddress.isDirty = false;
surfaceStateBaseAddress.isDirty = false;
surfaceStateSize.isDirty = false;
dynamicStateBaseAddress.isDirty = false;
dynamicStateSize.isDirty = false;
indirectObjectBaseAddress.isDirty = false;
indirectObjectSize.isDirty = false;
}

View File

@ -15,6 +15,7 @@ struct StreamProperties {
StateComputeModeProperties stateComputeMode{};
FrontEndProperties frontEndState{};
PipelineSelectProperties pipelineSelect{};
StateBaseAddressProperties stateBaseAddress{};
};
} // namespace NEO

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2021 Intel Corporation
* Copyright (C) 2021-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@ -8,18 +8,28 @@
#pragma once
#include <cstdint>
#include <stddef.h>
namespace NEO {
struct StreamProperty {
int32_t value = -1;
template <typename Type>
struct StreamPropertyType {
static constexpr Type initValue = static_cast<Type>(-1);
Type value = initValue;
bool isDirty = false;
void set(int32_t newValue) {
if ((value != newValue) && (newValue != -1)) {
void set(Type newValue) {
if ((value != newValue) && (newValue != initValue)) {
value = newValue;
isDirty = true;
}
}
};
using StreamProperty32 = StreamPropertyType<int32_t>;
using StreamProperty64 = StreamPropertyType<int64_t>;
using StreamPropertySizeT = StreamPropertyType<size_t>;
using StreamProperty = StreamProperty32;
} // namespace NEO

View File

@ -47,6 +47,7 @@ struct Gen11 {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = false;
};
struct PipelineSelectStateSupport {

View File

@ -49,6 +49,7 @@ struct Gen12Lp {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = false;
};
struct PipelineSelectStateSupport {

View File

@ -49,6 +49,7 @@ struct Gen8 {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = false;
};
struct PipelineSelectStateSupport {

View File

@ -48,6 +48,7 @@ struct Gen9 {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = false;
};
struct PipelineSelectStateSupport {

View File

@ -29,6 +29,7 @@ struct FrontEndPropertiesSupport;
struct HardwareInfo;
struct PipelineSelectArgs;
struct PipelineSelectPropertiesSupport;
struct StateBaseAddressPropertiesSupport;
struct StateComputeModeProperties;
struct StateComputeModePropertiesSupport;
class HwInfoConfig;
@ -163,8 +164,9 @@ class HwInfoConfig {
virtual bool getScmPropertyLargeGrfModeSupport() const = 0;
virtual bool getScmPropertyDevicePreemptionModeSupport() const = 0;
virtual bool getSbaPropertyGlobalAtomicsSupport() const = 0;
virtual bool getSbaPropertyStatelessMocsSupport() const = 0;
virtual bool getStateBaseAddressPropertyGlobalAtomicsSupport() const = 0;
virtual bool getStateBaseAddressPropertyStatelessMocsSupport() const = 0;
virtual bool getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport() const = 0;
virtual bool getPreemptionDbgPropertyPreemptionModeSupport() const = 0;
virtual bool getPreemptionDbgPropertyStateSipSupport() const = 0;
@ -177,6 +179,7 @@ class HwInfoConfig {
virtual void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) = 0;
virtual void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) = 0;
virtual void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) = 0;
virtual void fillStateBaseAddressPropertiesSupportStructure(StateBaseAddressPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) = 0;
MOCKABLE_VIRTUAL ~HwInfoConfig() = default;
@ -301,8 +304,9 @@ class HwInfoConfigHw : public HwInfoConfig {
bool getScmPropertyLargeGrfModeSupport() const override;
bool getScmPropertyDevicePreemptionModeSupport() const override;
bool getSbaPropertyGlobalAtomicsSupport() const override;
bool getSbaPropertyStatelessMocsSupport() const override;
bool getStateBaseAddressPropertyGlobalAtomicsSupport() const override;
bool getStateBaseAddressPropertyStatelessMocsSupport() const override;
bool getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport() const override;
bool getPreemptionDbgPropertyPreemptionModeSupport() const override;
bool getPreemptionDbgPropertyStateSipSupport() const override;
@ -314,6 +318,8 @@ class HwInfoConfigHw : public HwInfoConfig {
void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) override;
void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
void fillStateBaseAddressPropertiesSupportStructure(StateBaseAddressPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
protected:
HwInfoConfigHw() = default;
@ -325,7 +331,6 @@ class HwInfoConfigHw : public HwInfoConfig {
bool getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo);
LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const override;
void fillScmPropertiesSupportStructureBase(StateComputeModePropertiesSupport &propertiesSupport) override;
void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
};
template <PRODUCT_FAMILY gfxProduct>

View File

@ -568,17 +568,30 @@ bool HwInfoConfigHw<gfxProduct>::getScmPropertyDevicePreemptionModeSupport() con
}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::getSbaPropertyGlobalAtomicsSupport() const {
bool HwInfoConfigHw<gfxProduct>::getStateBaseAddressPropertyGlobalAtomicsSupport() const {
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;
return GfxProduct::StateBaseAddressStateSupport::globalAtomics;
}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::getSbaPropertyStatelessMocsSupport() const {
bool HwInfoConfigHw<gfxProduct>::getStateBaseAddressPropertyStatelessMocsSupport() const {
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;
return GfxProduct::StateBaseAddressStateSupport::statelessMocs;
}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport() const {
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;
return GfxProduct::StateBaseAddressStateSupport::bindingTablePoolBaseAddress;
}
template <PRODUCT_FAMILY gfxProduct>
void HwInfoConfigHw<gfxProduct>::fillStateBaseAddressPropertiesSupportStructure(StateBaseAddressPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) {
propertiesSupport.globalAtomics = getStateBaseAddressPropertyGlobalAtomicsSupport();
propertiesSupport.statelessMocs = getStateBaseAddressPropertyStatelessMocsSupport();
propertiesSupport.bindingTablePoolBaseAddress = getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport();
}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::getPreemptionDbgPropertyPreemptionModeSupport() const {
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;

View File

@ -55,6 +55,7 @@ struct XeHpCore {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = true;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = true;
};
struct PipelineSelectStateSupport {

View File

@ -46,23 +46,6 @@ struct PVC : public XeHpcCoreFamily {
static constexpr bool devicePreemptionMode = false;
};
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
};
struct PipelineSelectStateSupport {
static constexpr bool modeSelected = true;
static constexpr bool mediaSamplerDopClockGate = false;
static constexpr bool systolicMode = true;
};
struct PreemptionDebugSupport {
static constexpr bool preemptionMode = true;
static constexpr bool stateSip = true;
static constexpr bool csrSurface = false;
};
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);

View File

@ -34,6 +34,24 @@ struct XeHpcCore {
static constexpr bool isUsingMiMemFence = true;
static constexpr bool isUsingMiSetPredicate = true;
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = true;
};
struct PipelineSelectStateSupport {
static constexpr bool modeSelected = true;
static constexpr bool mediaSamplerDopClockGate = false;
static constexpr bool systolicMode = true;
};
struct PreemptionDebugSupport {
static constexpr bool preemptionMode = true;
static constexpr bool stateSip = true;
static constexpr bool csrSurface = false;
};
struct DataPortBindlessSurfaceExtendedMessageDescriptor {
union {
struct {

View File

@ -55,6 +55,7 @@ struct XeHpgCore {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = true;
static constexpr bool bindingTablePoolBaseAddress = true;
};
struct PipelineSelectStateSupport {

View File

@ -422,6 +422,7 @@ struct UnknownProduct {
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = false;
static constexpr bool bindingTablePoolBaseAddress = false;
};
struct PipelineSelectStateSupport {

View File

@ -27,6 +27,11 @@ struct MockPipelineSelectProperties : public PipelineSelectProperties {
using PipelineSelectProperties::propertiesSupportLoaded;
};
struct MockStateBaseAddressProperties : public StateBaseAddressProperties {
using StateBaseAddressProperties::propertiesSupportLoaded;
using StateBaseAddressProperties::stateBaseAddressPropertiesSupport;
};
TEST(StreamPropertiesTests, whenPropertyValueIsChangedThenProperStateIsSet) {
NEO::StreamProperty streamProperty;
@ -335,3 +340,181 @@ TEST(StreamPropertiesTests, givenModeSelectPipelineSelectPropertyNotSupportedWhe
// expect clean as changed modeSelected is not supported
EXPECT_FALSE(pipeProperties.isDirty());
}
TEST(StreamPropertiesTests, givenStateBaseAddressSupportFlagStateWhenSettingPropertyAndCheckIfDirtyThenExpectCleanStateForNotSupportedAndDirtyForSupported) {
MockStateBaseAddressProperties sbaProperties{};
sbaProperties.propertiesSupportLoaded = true;
sbaProperties.stateBaseAddressPropertiesSupport.globalAtomics = false;
sbaProperties.stateBaseAddressPropertiesSupport.statelessMocs = false;
sbaProperties.stateBaseAddressPropertiesSupport.bindingTablePoolBaseAddress = false;
sbaProperties.setProperties(true, 1, 1, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_FALSE(sbaProperties.isDirty());
EXPECT_EQ(-1, sbaProperties.globalAtomics.value);
EXPECT_EQ(-1, sbaProperties.statelessMocs.value);
EXPECT_EQ(-1, sbaProperties.bindingTablePoolBaseAddress.value);
sbaProperties.stateBaseAddressPropertiesSupport.globalAtomics = true;
sbaProperties.setProperties(true, 1, 0, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_TRUE(sbaProperties.globalAtomics.isDirty);
EXPECT_FALSE(sbaProperties.statelessMocs.isDirty);
EXPECT_FALSE(sbaProperties.bindingTablePoolBaseAddress.isDirty);
EXPECT_EQ(1, sbaProperties.globalAtomics.value);
EXPECT_EQ(-1, sbaProperties.statelessMocs.value);
EXPECT_EQ(-1, sbaProperties.bindingTablePoolBaseAddress.value);
sbaProperties.stateBaseAddressPropertiesSupport.globalAtomics = false;
sbaProperties.stateBaseAddressPropertiesSupport.statelessMocs = true;
sbaProperties.setProperties(false, 1, 1, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_FALSE(sbaProperties.globalAtomics.isDirty);
EXPECT_TRUE(sbaProperties.statelessMocs.isDirty);
EXPECT_FALSE(sbaProperties.bindingTablePoolBaseAddress.isDirty);
EXPECT_EQ(1, sbaProperties.globalAtomics.value);
EXPECT_EQ(1, sbaProperties.statelessMocs.value);
EXPECT_EQ(-1, sbaProperties.bindingTablePoolBaseAddress.value);
sbaProperties.stateBaseAddressPropertiesSupport.statelessMocs = false;
sbaProperties.stateBaseAddressPropertiesSupport.bindingTablePoolBaseAddress = true;
sbaProperties.setProperties(true, 2, 2, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_FALSE(sbaProperties.globalAtomics.isDirty);
EXPECT_FALSE(sbaProperties.statelessMocs.isDirty);
EXPECT_TRUE(sbaProperties.bindingTablePoolBaseAddress.isDirty);
EXPECT_EQ(1, sbaProperties.globalAtomics.value);
EXPECT_EQ(1, sbaProperties.statelessMocs.value);
EXPECT_EQ(2, sbaProperties.bindingTablePoolBaseAddress.value);
sbaProperties.stateBaseAddressPropertiesSupport.globalAtomics = true;
sbaProperties.stateBaseAddressPropertiesSupport.statelessMocs = true;
sbaProperties.setProperties(true, 1, 2, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_FALSE(sbaProperties.isDirty());
sbaProperties.setProperties(false, 0, 3, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(0, sbaProperties.globalAtomics.value);
EXPECT_EQ(0, sbaProperties.statelessMocs.value);
EXPECT_EQ(3, sbaProperties.bindingTablePoolBaseAddress.value);
MockStateBaseAddressProperties copySbaProperties{};
copySbaProperties.setProperties(sbaProperties);
EXPECT_TRUE(copySbaProperties.isDirty());
EXPECT_EQ(0, copySbaProperties.globalAtomics.value);
EXPECT_EQ(0, copySbaProperties.statelessMocs.value);
EXPECT_EQ(3, copySbaProperties.bindingTablePoolBaseAddress.value);
sbaProperties.setProperties(copySbaProperties);
EXPECT_FALSE(sbaProperties.isDirty());
}
TEST(StreamPropertiesTests, givenStateBaseAddressSupportFlagDefaultValueWhenSettingPropertyAndCheckIfDirtyThenExpectValueSetForSupportedAndCleanForNotSupported) {
StateBaseAddressPropertiesSupport sbaPropertiesSupport = {};
auto hwInfoConfig = HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
hwInfoConfig->fillStateBaseAddressPropertiesSupportStructure(sbaPropertiesSupport, *defaultHwInfo);
StateBaseAddressProperties sbaProperties{};
sbaProperties.setProperties(true, 2, 3, -1, -1, -1, -1, -1, -1, *defaultHwInfo);
if (sbaPropertiesSupport.globalAtomics) {
EXPECT_EQ(1, sbaProperties.globalAtomics.value);
} else {
EXPECT_EQ(-1, sbaProperties.globalAtomics.value);
}
if (sbaPropertiesSupport.statelessMocs) {
EXPECT_EQ(2, sbaProperties.statelessMocs.value);
} else {
EXPECT_EQ(-1, sbaProperties.statelessMocs.value);
}
if (sbaPropertiesSupport.bindingTablePoolBaseAddress) {
EXPECT_EQ(3, sbaProperties.bindingTablePoolBaseAddress.value);
} else {
EXPECT_EQ(-1, sbaProperties.bindingTablePoolBaseAddress.value);
}
}
TEST(StreamPropertiesTests, givenStateBaseAddressCommonBaseAddressAndSizeWhenSettingAddressSizePropertiesThenExpectCorrectDirtyFlagAndStateValue) {
MockStateBaseAddressProperties sbaProperties{};
sbaProperties.propertiesSupportLoaded = true;
sbaProperties.stateBaseAddressPropertiesSupport.globalAtomics = false;
sbaProperties.stateBaseAddressPropertiesSupport.statelessMocs = false;
sbaProperties.stateBaseAddressPropertiesSupport.bindingTablePoolBaseAddress = false;
sbaProperties.setProperties(false, -1, -1, 10, -1, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(10, sbaProperties.surfaceStateBaseAddress.value);
EXPECT_TRUE(sbaProperties.surfaceStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.surfaceStateSize.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateSize.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectSize.isDirty);
sbaProperties.setProperties(false, -1, -1, 10, 20, -1, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(20u, sbaProperties.surfaceStateSize.value);
EXPECT_FALSE(sbaProperties.surfaceStateBaseAddress.isDirty);
EXPECT_TRUE(sbaProperties.surfaceStateSize.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateSize.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectSize.isDirty);
sbaProperties.setProperties(false, -1, -1, 10, 20, 30, -1, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(30, sbaProperties.dynamicStateBaseAddress.value);
EXPECT_FALSE(sbaProperties.surfaceStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.surfaceStateSize.isDirty);
EXPECT_TRUE(sbaProperties.dynamicStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateSize.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectSize.isDirty);
sbaProperties.setProperties(false, -1, -1, 10, 20, 30, 40, -1, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(40u, sbaProperties.dynamicStateSize.value);
EXPECT_FALSE(sbaProperties.surfaceStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.surfaceStateSize.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateBaseAddress.isDirty);
EXPECT_TRUE(sbaProperties.dynamicStateSize.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectSize.isDirty);
sbaProperties.setProperties(false, -1, -1, 10, 20, 30, 40, 50, -1, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(50, sbaProperties.indirectObjectBaseAddress.value);
EXPECT_FALSE(sbaProperties.surfaceStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.surfaceStateSize.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateSize.isDirty);
EXPECT_TRUE(sbaProperties.indirectObjectBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectSize.isDirty);
sbaProperties.setProperties(false, -1, -1, 10, 20, 30, 40, 50, 60, *defaultHwInfo);
EXPECT_TRUE(sbaProperties.isDirty());
EXPECT_EQ(60u, sbaProperties.indirectObjectSize.value);
EXPECT_FALSE(sbaProperties.surfaceStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.surfaceStateSize.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateBaseAddress.isDirty);
EXPECT_FALSE(sbaProperties.dynamicStateSize.isDirty);
EXPECT_FALSE(sbaProperties.indirectObjectBaseAddress.isDirty);
EXPECT_TRUE(sbaProperties.indirectObjectSize.isDirty);
sbaProperties.setProperties(false, -1, -1, 10, 20, 30, 40, 50, 60, *defaultHwInfo);
EXPECT_FALSE(sbaProperties.isDirty());
}

View File

@ -7,6 +7,7 @@
#pragma once
#include <cstdint>
#include <vector>
namespace NEO {
@ -14,7 +15,11 @@ namespace NEO {
struct FrontEndProperties;
struct PipelineSelectProperties;
struct StateComputeModeProperties;
struct StreamProperty;
template <typename Type>
struct StreamPropertyType;
using StreamProperty = StreamPropertyType<int32_t>;
std::vector<StreamProperty *> getAllStateComputeModeProperties(StateComputeModeProperties &properties);
std::vector<StreamProperty *> getAllFrontEndProperties(FrontEndProperties &properties);

View File

@ -85,8 +85,9 @@ EHLTEST_F(EhlHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -118,8 +118,9 @@ ICLLPTEST_F(IcllpHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupport
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -104,8 +104,9 @@ LKFTEST_F(LkfHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -94,8 +94,9 @@ ADLNTEST_F(AdlnHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportTh
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -99,8 +99,9 @@ ADLPTEST_F(AdlpHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportTh
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -93,8 +93,9 @@ ADLSTEST_F(AdlsHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportTh
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -160,8 +160,9 @@ DG1TEST_F(Dg1HwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -99,8 +99,9 @@ RKLTEST_F(RklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -48,8 +48,9 @@ TGLLPTEST_F(HwInfoConfigTestTgllp, givenHwInfoConfigWhenGetCommandsStreamPropert
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -113,8 +113,9 @@ BDWTEST_F(BdwHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -107,8 +107,9 @@ BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -122,8 +122,9 @@ CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -107,8 +107,9 @@ GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -127,8 +127,9 @@ KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -128,8 +128,9 @@ SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -547,3 +547,14 @@ HWTEST_F(HwInfoConfigTest, WhenFillingPipelineSelectPropertiesSupportThenExpectU
EXPECT_EQ(hwInfoConfig->getPipelineSelectPropertyMediaSamplerDopClockGateSupport(), pipelineSelectPropertiesSupport.mediaSamplerDopClockGate);
EXPECT_EQ(hwInfoConfig->isSystolicModeConfigurable(pInHwInfo), pipelineSelectPropertiesSupport.systolicMode);
}
HWTEST_F(HwInfoConfigTest, WhenFillingStateBaseAddressPropertiesSupportThenExpectUseCorrectGetters) {
StateBaseAddressPropertiesSupport stateBaseAddressPropertiesSupport = {};
auto hwInfoConfig = HwInfoConfig::get(pInHwInfo.platform.eProductFamily);
hwInfoConfig->fillStateBaseAddressPropertiesSupportStructure(stateBaseAddressPropertiesSupport, pInHwInfo);
EXPECT_EQ(hwInfoConfig->getStateBaseAddressPropertyGlobalAtomicsSupport(), stateBaseAddressPropertiesSupport.globalAtomics);
EXPECT_EQ(hwInfoConfig->getStateBaseAddressPropertyStatelessMocsSupport(), stateBaseAddressPropertiesSupport.statelessMocs);
EXPECT_EQ(hwInfoConfig->getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport(), stateBaseAddressPropertiesSupport.bindingTablePoolBaseAddress);
}

View File

@ -41,8 +41,9 @@ XEHPTEST_F(HwInfoConfigTestXeHpSdv, givenHwInfoConfigWhenGetCommandsStreamProper
EXPECT_TRUE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -114,8 +114,9 @@ PVCTEST_F(PvcHwInfoConfig, givenHwInfoConfigWhenGetCommandsStreamPropertiesSuppo
EXPECT_TRUE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());

View File

@ -82,8 +82,9 @@ DG2TEST_F(TestDg2HwInfoConfig, givenHwInfoConfigWhenGetCommandsStreamPropertiesS
EXPECT_TRUE(hwInfoConfig.getScmPropertyLargeGrfModeSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());