mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-10 12:53:42 +08:00
Refactor of pipeline select programming
Adding new interface to cooperate with hw context state Simplify programming removing unnecessary functions Code optimization that stop using expensive call and instead stores configuration parameter Related-To: NEO-5019 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
2b13f8af6d
commit
218a98f7f7
@ -542,27 +542,22 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, RenderSurfaceStateXeHPAndLaterTests, givenSpecificP
|
||||
|
||||
using PipelineSelectTest = ::testing::Test;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, PipelineSelectTest, whenCallingIsSystolicPipelineSelectModeChangedThenReturnCorrectValue) {
|
||||
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
||||
bool oldPipelineSelectSystolicMode = true;
|
||||
bool newPipelineSelectSystolicMode = false;
|
||||
|
||||
auto result = PreambleHelper<FamilyType>::isSystolicPipelineSelectModeChanged(oldPipelineSelectSystolicMode, newPipelineSelectSystolicMode, *defaultHwInfo);
|
||||
EXPECT_TRUE(result);
|
||||
}
|
||||
|
||||
HWTEST2_F(PipelineSelectTest, WhenProgramPipelineSelectThenProperMaskIsSet, IsWithinXeGfxFamily) {
|
||||
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
||||
PIPELINE_SELECT cmd = FamilyType::cmdInitPipelineSelect;
|
||||
LinearStream pipelineSelectStream(&cmd, sizeof(cmd));
|
||||
PreambleHelper<FamilyType>::programPipelineSelect(&pipelineSelectStream, {}, *defaultHwInfo);
|
||||
|
||||
PipelineSelectArgs pipelineArgs = {};
|
||||
pipelineArgs.systolicPipelineSelectSupport = PreambleHelper<FamilyType>::isSystolicModeConfigurable(*defaultHwInfo);
|
||||
|
||||
PreambleHelper<FamilyType>::programPipelineSelect(&pipelineSelectStream, pipelineArgs, *defaultHwInfo);
|
||||
|
||||
auto expectedMask = pipelineSelectEnablePipelineSelectMaskBits;
|
||||
if constexpr (FamilyType::isUsingMediaSamplerDopClockGate) {
|
||||
expectedMask |= pipelineSelectMediaSamplerDopClockGateMaskBits;
|
||||
}
|
||||
|
||||
if (PreambleHelper<FamilyType>::isSystolicModeConfigurable(*defaultHwInfo)) {
|
||||
if (pipelineArgs.systolicPipelineSelectSupport) {
|
||||
expectedMask |= pipelineSelectSystolicModeEnableMaskBits;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user