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:
parent
30a20236f0
commit
cd17c1e9d2
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ struct StreamProperties {
|
|||
StateComputeModeProperties stateComputeMode{};
|
||||
FrontEndProperties frontEndState{};
|
||||
PipelineSelectProperties pipelineSelect{};
|
||||
StateBaseAddressProperties stateBaseAddress{};
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue