mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
add pipeline select hw properties support flags
Related-To: NEO-5019 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
3ec0ceb2bf
commit
647661e701
@@ -68,4 +68,26 @@ struct FrontEndProperties {
|
|||||||
bool propertiesSupportLoaded = false;
|
bool propertiesSupportLoaded = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct PipelineSelectPropertiesSupport {
|
||||||
|
bool modeSelected = false;
|
||||||
|
bool mediaSamplerDopClockGate = false;
|
||||||
|
bool systolicMode = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PipelineSelectProperties {
|
||||||
|
StreamProperty modeSelected{};
|
||||||
|
StreamProperty mediaSamplerDopClockGate{};
|
||||||
|
StreamProperty systolicMode{};
|
||||||
|
|
||||||
|
void setProperties(bool modeSelected, bool mediaSamplerDopClockGate, bool systolicMode, const HardwareInfo &hwInfo);
|
||||||
|
void setProperties(const PipelineSelectProperties &properties);
|
||||||
|
bool isDirty() const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void clearIsDirty();
|
||||||
|
|
||||||
|
PipelineSelectPropertiesSupport pipelineSelectPropertiesSupport = {};
|
||||||
|
bool propertiesSupportLoaded = false;
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ void FrontEndProperties::setProperties(bool isCooperativeKernel, bool disableEUF
|
|||||||
this->disableEUFusion.set(disableEUFusion);
|
this->disableEUFusion.set(disableEUFusion);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frontEndPropertiesSupport.disableOverdispatch) {
|
if (this->frontEndPropertiesSupport.disableOverdispatch) {
|
||||||
this->disableOverdispatch.set(disableOverdispatch);
|
this->disableOverdispatch.set(disableOverdispatch);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,3 +160,43 @@ void FrontEndProperties::clearIsDirty() {
|
|||||||
singleSliceDispatchCcsMode.isDirty = false;
|
singleSliceDispatchCcsMode.isDirty = false;
|
||||||
computeDispatchAllWalkerEnable.isDirty = false;
|
computeDispatchAllWalkerEnable.isDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PipelineSelectProperties::setProperties(bool modeSelected, bool mediaSamplerDopClockGate, bool systolicMode, const HardwareInfo &hwInfo) {
|
||||||
|
if (this->propertiesSupportLoaded == false) {
|
||||||
|
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||||
|
hwInfoConfig.fillPipelineSelectPropertiesSupportStructure(this->pipelineSelectPropertiesSupport, hwInfo);
|
||||||
|
this->propertiesSupportLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
clearIsDirty();
|
||||||
|
|
||||||
|
if (this->pipelineSelectPropertiesSupport.modeSelected) {
|
||||||
|
this->modeSelected.set(modeSelected);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this->pipelineSelectPropertiesSupport.mediaSamplerDopClockGate) {
|
||||||
|
this->mediaSamplerDopClockGate.set(mediaSamplerDopClockGate);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this->pipelineSelectPropertiesSupport.systolicMode) {
|
||||||
|
this->systolicMode.set(systolicMode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PipelineSelectProperties::setProperties(const PipelineSelectProperties &properties) {
|
||||||
|
clearIsDirty();
|
||||||
|
|
||||||
|
modeSelected.set(properties.modeSelected.value);
|
||||||
|
mediaSamplerDopClockGate.set(properties.mediaSamplerDopClockGate.value);
|
||||||
|
systolicMode.set(properties.systolicMode.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PipelineSelectProperties::isDirty() const {
|
||||||
|
return modeSelected.isDirty || mediaSamplerDopClockGate.isDirty || systolicMode.isDirty;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PipelineSelectProperties::clearIsDirty() {
|
||||||
|
modeSelected.isDirty = false;
|
||||||
|
mediaSamplerDopClockGate.isDirty = false;
|
||||||
|
systolicMode.isDirty = false;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2021 Intel Corporation
|
* Copyright (C) 2021-2022 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -17,6 +17,7 @@ namespace NEO {
|
|||||||
struct StreamProperties {
|
struct StreamProperties {
|
||||||
StateComputeModeProperties stateComputeMode{};
|
StateComputeModeProperties stateComputeMode{};
|
||||||
FrontEndProperties frontEndState{};
|
FrontEndProperties frontEndState{};
|
||||||
|
PipelineSelectProperties pipelineSelect{};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -49,7 +49,9 @@ struct Gen11 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = true;
|
||||||
|
static constexpr bool systolicMode = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -24,6 +24,12 @@ struct ADLP : public Gen12LpFamily {
|
|||||||
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
|
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
|
||||||
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
|
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
|
||||||
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
|
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
|
||||||
|
|
||||||
|
struct PipelineSelectStateSupport {
|
||||||
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = true;
|
||||||
|
static constexpr bool systolicMode = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class AdlpHwConfig : public ADLP {
|
class AdlpHwConfig : public ADLP {
|
||||||
|
|||||||
@@ -52,7 +52,9 @@ struct Gen12Lp {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = true;
|
||||||
|
static constexpr bool systolicMode = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -51,7 +51,9 @@ struct Gen8 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = false;
|
||||||
|
static constexpr bool systolicMode = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -50,7 +50,9 @@ struct Gen9 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = true;
|
||||||
|
static constexpr bool systolicMode = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -19,15 +19,16 @@ enum PRODUCT_CONFIG : uint32_t;
|
|||||||
|
|
||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
struct HardwareInfo;
|
|
||||||
struct FrontEndPropertiesSupport;
|
struct FrontEndPropertiesSupport;
|
||||||
|
struct HardwareInfo;
|
||||||
|
struct PipelineSelectArgs;
|
||||||
|
struct PipelineSelectPropertiesSupport;
|
||||||
struct StateComputeModeProperties;
|
struct StateComputeModeProperties;
|
||||||
struct StateComputeModePropertiesSupport;
|
struct StateComputeModePropertiesSupport;
|
||||||
struct PipelineSelectArgs;
|
|
||||||
class OSInterface;
|
|
||||||
class HwInfoConfig;
|
class HwInfoConfig;
|
||||||
class GraphicsAllocation;
|
class GraphicsAllocation;
|
||||||
class MemoryManager;
|
class MemoryManager;
|
||||||
|
class OSInterface;
|
||||||
enum class DriverModelType;
|
enum class DriverModelType;
|
||||||
|
|
||||||
extern HwInfoConfig *hwInfoConfigFactory[IGFX_MAX_PRODUCT];
|
extern HwInfoConfig *hwInfoConfigFactory[IGFX_MAX_PRODUCT];
|
||||||
@@ -160,8 +161,13 @@ class HwInfoConfig {
|
|||||||
virtual bool getPreemptionDbgPropertyStateSipSupport() const = 0;
|
virtual bool getPreemptionDbgPropertyStateSipSupport() const = 0;
|
||||||
virtual bool getPreemptionDbgPropertyCsrSurfaceSupport() const = 0;
|
virtual bool getPreemptionDbgPropertyCsrSurfaceSupport() const = 0;
|
||||||
|
|
||||||
|
virtual bool getPipelineSelectPropertyModeSelectedSupport() const = 0;
|
||||||
|
virtual bool getPipelineSelectPropertyMediaSamplerDopClockGateSupport() const = 0;
|
||||||
|
virtual bool getPipelineSelectPropertySystolicModeSupport() const = 0;
|
||||||
|
|
||||||
virtual void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) = 0;
|
virtual void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) = 0;
|
||||||
virtual void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) = 0;
|
virtual void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) = 0;
|
||||||
|
virtual void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) = 0;
|
||||||
|
|
||||||
MOCKABLE_VIRTUAL ~HwInfoConfig() = default;
|
MOCKABLE_VIRTUAL ~HwInfoConfig() = default;
|
||||||
|
|
||||||
@@ -291,6 +297,10 @@ class HwInfoConfigHw : public HwInfoConfig {
|
|||||||
bool getPreemptionDbgPropertyStateSipSupport() const override;
|
bool getPreemptionDbgPropertyStateSipSupport() const override;
|
||||||
bool getPreemptionDbgPropertyCsrSurfaceSupport() const override;
|
bool getPreemptionDbgPropertyCsrSurfaceSupport() const override;
|
||||||
|
|
||||||
|
bool getPipelineSelectPropertyModeSelectedSupport() const override;
|
||||||
|
bool getPipelineSelectPropertyMediaSamplerDopClockGateSupport() const override;
|
||||||
|
bool getPipelineSelectPropertySystolicModeSupport() const override;
|
||||||
|
|
||||||
void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) override;
|
void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) override;
|
||||||
void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
|
void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
|
||||||
|
|
||||||
@@ -304,6 +314,7 @@ class HwInfoConfigHw : public HwInfoConfig {
|
|||||||
bool getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo);
|
bool getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo);
|
||||||
LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const override;
|
LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const override;
|
||||||
void fillScmPropertiesSupportStructureBase(StateComputeModePropertiesSupport &propertiesSupport) override;
|
void fillScmPropertiesSupportStructureBase(StateComputeModePropertiesSupport &propertiesSupport) override;
|
||||||
|
void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <PRODUCT_FAMILY gfxProduct>
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
|||||||
@@ -624,4 +624,29 @@ void HwInfoConfigHw<gfxProduct>::fillFrontEndPropertiesSupportStructure(FrontEnd
|
|||||||
propertiesSupport.singleSliceDispatchCcsMode = getFrontEndPropertySingleSliceDispatchCcsModeSupport();
|
propertiesSupport.singleSliceDispatchCcsMode = getFrontEndPropertySingleSliceDispatchCcsModeSupport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool HwInfoConfigHw<gfxProduct>::getPipelineSelectPropertyModeSelectedSupport() const {
|
||||||
|
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;
|
||||||
|
return GfxProduct::PipelineSelectStateSupport::modeSelected;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool HwInfoConfigHw<gfxProduct>::getPipelineSelectPropertyMediaSamplerDopClockGateSupport() const {
|
||||||
|
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;
|
||||||
|
return GfxProduct::PipelineSelectStateSupport::mediaSamplerDopClockGate;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
bool HwInfoConfigHw<gfxProduct>::getPipelineSelectPropertySystolicModeSupport() const {
|
||||||
|
using GfxProduct = typename HwMapper<gfxProduct>::GfxProduct;
|
||||||
|
return GfxProduct::PipelineSelectStateSupport::systolicMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <PRODUCT_FAMILY gfxProduct>
|
||||||
|
void HwInfoConfigHw<gfxProduct>::fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) {
|
||||||
|
propertiesSupport.modeSelected = getPipelineSelectPropertyModeSelectedSupport();
|
||||||
|
propertiesSupport.mediaSamplerDopClockGate = getPipelineSelectPropertyMediaSamplerDopClockGateSupport();
|
||||||
|
propertiesSupport.systolicMode = getPipelineSelectPropertySystolicModeSupport();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -58,7 +58,9 @@ struct XeHpCore {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = true;
|
||||||
|
static constexpr bool systolicMode = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -52,7 +52,9 @@ struct PVC : public XeHpcCoreFamily {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = false;
|
||||||
|
static constexpr bool systolicMode = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -58,7 +58,9 @@ struct XeHpgCore {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = true;
|
static constexpr bool modeSelected = true;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = false;
|
||||||
|
static constexpr bool systolicMode = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -438,7 +438,9 @@ struct UnknownProduct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct PipelineSelectStateSupport {
|
struct PipelineSelectStateSupport {
|
||||||
static constexpr bool commandSupport = false;
|
static constexpr bool modeSelected = false;
|
||||||
|
static constexpr bool mediaSamplerDopClockGate = false;
|
||||||
|
static constexpr bool systolicMode = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PreemptionDebugSupport {
|
struct PreemptionDebugSupport {
|
||||||
|
|||||||
@@ -31,4 +31,12 @@ std::vector<StreamProperty *> getAllFrontEndProperties(FrontEndProperties &prope
|
|||||||
return allProperties;
|
return allProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<StreamProperty *> getAllPipelineSelectProperties(PipelineSelectProperties &properties) {
|
||||||
|
std::vector<StreamProperty *> allProperties;
|
||||||
|
allProperties.push_back(&properties.modeSelected);
|
||||||
|
allProperties.push_back(&properties.mediaSamplerDopClockGate);
|
||||||
|
allProperties.push_back(&properties.systolicMode);
|
||||||
|
return allProperties;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -22,6 +22,11 @@ struct MockFrontEndProperties : public FrontEndProperties {
|
|||||||
using FrontEndProperties::propertiesSupportLoaded;
|
using FrontEndProperties::propertiesSupportLoaded;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct MockPipelineSelectProperties : public PipelineSelectProperties {
|
||||||
|
using PipelineSelectProperties::pipelineSelectPropertiesSupport;
|
||||||
|
using PipelineSelectProperties::propertiesSupportLoaded;
|
||||||
|
};
|
||||||
|
|
||||||
TEST(StreamPropertiesTests, whenPropertyValueIsChangedThenProperStateIsSet) {
|
TEST(StreamPropertiesTests, whenPropertyValueIsChangedThenProperStateIsSet) {
|
||||||
NEO::StreamProperty streamProperty;
|
NEO::StreamProperty streamProperty;
|
||||||
|
|
||||||
@@ -191,13 +196,17 @@ void verifyIsDirty() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(StreamPropertiesTests, givenVariousStatesOfStateComputeModePropertiesWhenIsDirtyIsQueriedThenCorrectValueIsReturned) {
|
TEST(StreamPropertiesTests, givenVariousStatesOfStateComputeModePropertiesWhenIsDirtyIsQueriedThenCorrectValueIsReturned) {
|
||||||
verifyIsDirty<StateComputeModeProperties, &getAllStateComputeModeProperties>();
|
verifyIsDirty<StateComputeModeProperties, getAllStateComputeModeProperties>();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(StreamPropertiesTests, givenVariousStatesOfFrontEndPropertiesWhenIsDirtyIsQueriedThenCorrectValueIsReturned) {
|
TEST(StreamPropertiesTests, givenVariousStatesOfFrontEndPropertiesWhenIsDirtyIsQueriedThenCorrectValueIsReturned) {
|
||||||
verifyIsDirty<FrontEndProperties, getAllFrontEndProperties>();
|
verifyIsDirty<FrontEndProperties, getAllFrontEndProperties>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(StreamPropertiesTests, givenVariousStatesOfPipelineSelectPropertiesWhenIsDirtyIsQueriedThenCorrectValueIsReturned) {
|
||||||
|
verifyIsDirty<PipelineSelectProperties, getAllPipelineSelectProperties>();
|
||||||
|
}
|
||||||
|
|
||||||
template <typename PropertiesT, getAllPropertiesFunctionPtr<PropertiesT> getAllProperties>
|
template <typename PropertiesT, getAllPropertiesFunctionPtr<PropertiesT> getAllProperties>
|
||||||
void verifySettingPropertiesFromOtherStruct() {
|
void verifySettingPropertiesFromOtherStruct() {
|
||||||
PropertiesT propertiesDestination;
|
PropertiesT propertiesDestination;
|
||||||
@@ -242,6 +251,10 @@ TEST(StreamPropertiesTests, givenOtherFrontEndPropertiesStructWhenSetPropertiesI
|
|||||||
verifySettingPropertiesFromOtherStruct<FrontEndProperties, getAllFrontEndProperties>();
|
verifySettingPropertiesFromOtherStruct<FrontEndProperties, getAllFrontEndProperties>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(StreamPropertiesTests, givenOtherPipelineSelectPropertiesStructWhenSetPropertiesIsCalledThenCorrectValuesAreSet) {
|
||||||
|
verifySettingPropertiesFromOtherStruct<PipelineSelectProperties, getAllPipelineSelectProperties>();
|
||||||
|
}
|
||||||
|
|
||||||
TEST(StreamPropertiesTests, givenSingleDispatchCcsFrontEndPropertyWhenSettingPropertyAndCheckIfSupportedThenExpectCorrectState) {
|
TEST(StreamPropertiesTests, givenSingleDispatchCcsFrontEndPropertyWhenSettingPropertyAndCheckIfSupportedThenExpectCorrectState) {
|
||||||
FrontEndPropertiesSupport fePropertiesSupport{};
|
FrontEndPropertiesSupport fePropertiesSupport{};
|
||||||
auto &hwInfoConfig = *HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
|
auto &hwInfoConfig = *HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
|
||||||
@@ -269,3 +282,56 @@ TEST(StreamPropertiesTests, givenSingleDispatchCcsFrontEndPropertyWhenSettingPro
|
|||||||
EXPECT_TRUE(feProperties.singleSliceDispatchCcsMode.isDirty);
|
EXPECT_TRUE(feProperties.singleSliceDispatchCcsMode.isDirty);
|
||||||
EXPECT_EQ(engineInstancedDevice, feProperties.singleSliceDispatchCcsMode.value);
|
EXPECT_EQ(engineInstancedDevice, feProperties.singleSliceDispatchCcsMode.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(StreamPropertiesTests, whenSettingPipelineSelectPropertiesThenCorrectValueIsSet) {
|
||||||
|
StreamProperties properties;
|
||||||
|
|
||||||
|
PipelineSelectPropertiesSupport pipelineSelectPropertiesSupport = {};
|
||||||
|
auto hwInfoConfig = HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
|
||||||
|
hwInfoConfig->fillPipelineSelectPropertiesSupportStructure(pipelineSelectPropertiesSupport, *defaultHwInfo);
|
||||||
|
|
||||||
|
for (auto modeSelected : ::testing::Bool()) {
|
||||||
|
for (auto mediaSamplerDopClockGate : ::testing::Bool()) {
|
||||||
|
for (auto systolicMode : ::testing::Bool()) {
|
||||||
|
properties.pipelineSelect.setProperties(modeSelected, mediaSamplerDopClockGate, systolicMode, *defaultHwInfo);
|
||||||
|
|
||||||
|
if (pipelineSelectPropertiesSupport.modeSelected) {
|
||||||
|
EXPECT_EQ(modeSelected, properties.pipelineSelect.modeSelected.value);
|
||||||
|
} else {
|
||||||
|
EXPECT_EQ(-1, properties.pipelineSelect.modeSelected.value);
|
||||||
|
}
|
||||||
|
if (pipelineSelectPropertiesSupport.mediaSamplerDopClockGate) {
|
||||||
|
EXPECT_EQ(mediaSamplerDopClockGate, properties.pipelineSelect.mediaSamplerDopClockGate.value);
|
||||||
|
} else {
|
||||||
|
EXPECT_EQ(-1, properties.pipelineSelect.mediaSamplerDopClockGate.value);
|
||||||
|
}
|
||||||
|
if (pipelineSelectPropertiesSupport.systolicMode) {
|
||||||
|
EXPECT_EQ(systolicMode, properties.pipelineSelect.systolicMode.value);
|
||||||
|
} else {
|
||||||
|
EXPECT_EQ(-1, properties.pipelineSelect.systolicMode.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(StreamPropertiesTests, givenModeSelectPipelineSelectPropertyNotSupportedWhenSettingPropertyAndCheckIfDirtyThenExpectCleanState) {
|
||||||
|
MockPipelineSelectProperties pipeProperties{};
|
||||||
|
pipeProperties.propertiesSupportLoaded = true;
|
||||||
|
pipeProperties.pipelineSelectPropertiesSupport.modeSelected = false;
|
||||||
|
pipeProperties.pipelineSelectPropertiesSupport.mediaSamplerDopClockGate = true;
|
||||||
|
pipeProperties.pipelineSelectPropertiesSupport.systolicMode = true;
|
||||||
|
|
||||||
|
constexpr bool constState = false;
|
||||||
|
bool changingState = false;
|
||||||
|
pipeProperties.setProperties(changingState, constState, constState, *defaultHwInfo);
|
||||||
|
|
||||||
|
// expect dirty as media and systolic changes from initial registered
|
||||||
|
EXPECT_TRUE(pipeProperties.isDirty());
|
||||||
|
|
||||||
|
changingState = !changingState;
|
||||||
|
pipeProperties.setProperties(changingState, constState, constState, *defaultHwInfo);
|
||||||
|
|
||||||
|
// expect clean as changed modeSelected is not supported
|
||||||
|
EXPECT_FALSE(pipeProperties.isDirty());
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2021 Intel Corporation
|
* Copyright (C) 2021-2022 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -12,10 +12,12 @@
|
|||||||
namespace NEO {
|
namespace NEO {
|
||||||
|
|
||||||
struct FrontEndProperties;
|
struct FrontEndProperties;
|
||||||
|
struct PipelineSelectProperties;
|
||||||
struct StateComputeModeProperties;
|
struct StateComputeModeProperties;
|
||||||
struct StreamProperty;
|
struct StreamProperty;
|
||||||
|
|
||||||
std::vector<StreamProperty *> getAllStateComputeModeProperties(StateComputeModeProperties &properties);
|
std::vector<StreamProperty *> getAllStateComputeModeProperties(StateComputeModeProperties &properties);
|
||||||
std::vector<StreamProperty *> getAllFrontEndProperties(FrontEndProperties &properties);
|
std::vector<StreamProperty *> getAllFrontEndProperties(FrontEndProperties &properties);
|
||||||
|
std::vector<StreamProperty *> getAllPipelineSelectProperties(PipelineSelectProperties &properties);
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|||||||
@@ -106,4 +106,8 @@ EHLTEST_F(EhlHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,4 +133,8 @@ ICLLPTEST_F(IcllpHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupport
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,4 +125,8 @@ LKFTEST_F(LkfHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,4 +108,8 @@ ADLNTEST_F(AdlnHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportTh
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,4 +108,8 @@ ADLPTEST_F(AdlpHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportTh
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,4 +108,8 @@ ADLSTEST_F(AdlsHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportTh
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -174,4 +174,8 @@ DG1TEST_F(Dg1HwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,4 +118,8 @@ RKLTEST_F(RklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,4 +46,8 @@ TGLLPTEST_F(HwInfoConfigTestTgllp, givenHwInfoConfigWhenGetCommandsStreamPropert
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,4 +126,8 @@ BDWTEST_F(BdwHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,4 +132,8 @@ BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,4 +139,8 @@ CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,4 +122,8 @@ GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,4 +146,8 @@ KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,4 +146,8 @@ SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThen
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -532,3 +532,14 @@ HWTEST_F(HwInfoConfigTest, WhenFillingFrontEndPropertiesSupportThenExpectUseCorr
|
|||||||
EXPECT_EQ(hwInfoConfig->getFrontEndPropertyDisableOverDispatchSupport(), frontEndPropertiesSupport.disableOverdispatch);
|
EXPECT_EQ(hwInfoConfig->getFrontEndPropertyDisableOverDispatchSupport(), frontEndPropertiesSupport.disableOverdispatch);
|
||||||
EXPECT_EQ(hwInfoConfig->getFrontEndPropertySingleSliceDispatchCcsModeSupport(), frontEndPropertiesSupport.singleSliceDispatchCcsMode);
|
EXPECT_EQ(hwInfoConfig->getFrontEndPropertySingleSliceDispatchCcsModeSupport(), frontEndPropertiesSupport.singleSliceDispatchCcsMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HWTEST_F(HwInfoConfigTest, WhenFillingPipelineSelectPropertiesSupportThenExpectUseCorrectGetters) {
|
||||||
|
PipelineSelectPropertiesSupport pipelineSelectPropertiesSupport = {};
|
||||||
|
|
||||||
|
auto hwInfoConfig = HwInfoConfig::get(pInHwInfo.platform.eProductFamily);
|
||||||
|
|
||||||
|
hwInfoConfig->fillPipelineSelectPropertiesSupportStructure(pipelineSelectPropertiesSupport, pInHwInfo);
|
||||||
|
EXPECT_EQ(hwInfoConfig->getPipelineSelectPropertyModeSelectedSupport(), pipelineSelectPropertiesSupport.modeSelected);
|
||||||
|
EXPECT_EQ(hwInfoConfig->getPipelineSelectPropertyMediaSamplerDopClockGateSupport(), pipelineSelectPropertiesSupport.mediaSamplerDopClockGate);
|
||||||
|
EXPECT_EQ(hwInfoConfig->getPipelineSelectPropertySystolicModeSupport(), pipelineSelectPropertiesSupport.systolicMode);
|
||||||
|
}
|
||||||
|
|||||||
@@ -46,4 +46,8 @@ XEHPTEST_F(HwInfoConfigTestXeHpSdv, givenHwInfoConfigWhenGetCommandsStreamProper
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,4 +116,8 @@ PVCTEST_F(PVCHwInfoConfig, givenHwInfoConfigWhenGetCommandsStreamPropertiesSuppo
|
|||||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,4 +96,8 @@ DG2TEST_F(TestDg2HwInfoConfig, givenHwInfoConfigWhenGetCommandsStreamPropertiesS
|
|||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport());
|
||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport());
|
||||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport());
|
||||||
|
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport());
|
||||||
|
EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport());
|
||||||
|
EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user