mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-11 16:45:25 +08:00
Cleaned up files: level_zero/tools/test/unit_tests/sources/sysman/windows/mock_sysman_fixture.h shared/test/common/os_interface/windows/wddm_fixture.h shared/test/unit_test/command_stream/compute_mode_tests.h shared/test/unit_test/encoders/walker_partition_fixture_xehp_and_later.h shared/test/unit_test/fixtures/preemption_fixture.h shared/test/unit_test/helpers/blit_commands_helper_tests.inl shared/test/unit_test/helpers/simd_helper_tests.inl Related-To: NEO-5548 Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
151 lines
6.5 KiB
C++
151 lines
6.5 KiB
C++
/*
|
|
* Copyright (C) 2019-2023 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#include "shared/test/common/test_macros/hw_test.h"
|
|
#include "shared/test/unit_test/command_stream/compute_mode_tests.h"
|
|
|
|
HWTEST2_F(ComputeModeRequirements, givenCsrRequestFlagsWithSharedHandlesWhenCommandSizeIsCalculatedThenCorrectCommandSizeIsReturned, IsTGLLP) {
|
|
setUpImpl<FamilyType>();
|
|
using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE;
|
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
|
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
|
|
|
auto cmdsSize = sizeof(STATE_COMPUTE_MODE) + 3 * sizeof(PIPE_CONTROL) + 2 * sizeof(PIPELINE_SELECT);
|
|
char buff[1024];
|
|
LinearStream stream(buff, 1024);
|
|
|
|
overrideComputeModeRequest<FamilyType>(false, false, true);
|
|
|
|
EXPECT_FALSE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(0u, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(false, true, true);
|
|
|
|
EXPECT_FALSE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(0u, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(true, true, true);
|
|
|
|
auto retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(true, false, true);
|
|
|
|
retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(false, false, true, true, 127u);
|
|
|
|
retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
}
|
|
|
|
HWTEST2_F(ComputeModeRequirements, givenCsrRequestFlagsWithoutSharedHandlesWhenCommandSizeIsCalculatedThenCorrectCommandSizeIsReturned, IsTGLLP) {
|
|
setUpImpl<FamilyType>();
|
|
using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE;
|
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
|
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
|
|
|
auto cmdsSize = sizeof(STATE_COMPUTE_MODE) + 2 * sizeof(PIPE_CONTROL) + 2 * sizeof(PIPELINE_SELECT);
|
|
char buff[1024];
|
|
LinearStream stream(buff, 1024);
|
|
|
|
overrideComputeModeRequest<FamilyType>(false, false, false);
|
|
|
|
EXPECT_FALSE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(0u, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(true, true, false);
|
|
|
|
auto retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(true, false, false);
|
|
|
|
retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(false, false, false, true, 127u);
|
|
|
|
retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
}
|
|
|
|
HWTEST2_F(ComputeModeRequirements, givenCsrRequestOnEngineCCSWhenCommandSizeIsCalculatedThenCorrectCommandSizeIsReturned, IsTGLLP) {
|
|
auto hwInfo = *defaultHwInfo;
|
|
hwInfo.featureTable.flags.ftrCCSNode = true;
|
|
hwInfo.capabilityTable.defaultEngineType = aub_stream::ENGINE_CCS;
|
|
|
|
setUpImpl<FamilyType>(&hwInfo);
|
|
using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE;
|
|
|
|
auto cmdsSize = sizeof(STATE_COMPUTE_MODE);
|
|
char buff[1024];
|
|
LinearStream stream(buff, 1024);
|
|
|
|
overrideComputeModeRequest<FamilyType>(false, false, false);
|
|
|
|
EXPECT_FALSE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(0u, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(true, true, false);
|
|
|
|
auto retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(true, false, false);
|
|
|
|
retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
|
|
stream.replaceBuffer(buff, 1024);
|
|
overrideComputeModeRequest<FamilyType>(false, false, false, true, 127u);
|
|
|
|
retSize = getCsrHw<FamilyType>()->getCmdSizeForComputeMode();
|
|
EXPECT_TRUE(getCsrHw<FamilyType>()->streamProperties.stateComputeMode.isDirty());
|
|
EXPECT_EQ(cmdsSize, retSize);
|
|
getCsrHw<FamilyType>()->programComputeMode(stream, flags, *defaultHwInfo);
|
|
EXPECT_EQ(cmdsSize, stream.getUsed());
|
|
}
|