/* * Copyright (C) 2018-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/gen9/hw_cmds.h" #include "shared/source/helpers/hw_helper.h" #include "shared/test/common/cmd_parse/gen_cmd_parse.h" #include "shared/test/common/helpers/hw_helper_tests.h" #include "shared/test/common/test_macros/header/per_product_test_definitions.h" using GfxCoreHelperTestGen9 = GfxCoreHelperTest; GEN9TEST_F(GfxCoreHelperTestGen9, WhenGettingMaxBarriersPerSliceThenCorrectSizeIsReturned) { auto &helper = getHelper(); EXPECT_EQ(32u, helper.getMaxBarrierRegisterPerSlice()); } GEN9TEST_F(GfxCoreHelperTestGen9, givenGen9WhenCallIsPackedSupportedThenReturnFalse) { auto &helper = pDevice->getGfxCoreHelper(); EXPECT_FALSE(helper.packedFormatsSupported()); } GEN9TEST_F(GfxCoreHelperTestGen9, WhenGettingPitchAlignmentForImageThenCorrectValueIsReturned) { auto &gfxCoreHelper = getHelper(); EXPECT_EQ(4u, gfxCoreHelper.getPitchAlignmentForImage(pDevice->getRootDeviceEnvironment())); } GEN9TEST_F(GfxCoreHelperTestGen9, WhenAdjustingDefaultEngineTypeThenEngineTypeIsSet) { auto engineType = hardwareInfo.capabilityTable.defaultEngineType; auto &gfxCoreHelper = getHelper(); gfxCoreHelper.adjustDefaultEngineType(&hardwareInfo); EXPECT_EQ(engineType, hardwareInfo.capabilityTable.defaultEngineType); } GEN9TEST_F(GfxCoreHelperTestGen9, givenDebuggingActiveWhenSipKernelTypeIsQueriedThenDbgCsrLocalTypeIsReturned) { auto &gfxCoreHelper = getHelper(); auto sipType = gfxCoreHelper.getSipKernelType(true); EXPECT_EQ(SipKernelType::DbgCsrLocal, sipType); } GEN9TEST_F(GfxCoreHelperTestGen9, whenGetGpgpuEnginesThenReturnThreeRcsEngines) { auto &gfxCoreHelper = getHelper(); auto gpgpuEngines = gfxCoreHelper.getGpgpuEngineInstances(pDevice->getHardwareInfo()); EXPECT_EQ(3u, gpgpuEngines.size()); EXPECT_EQ(aub_stream::ENGINE_RCS, gpgpuEngines[0].first); EXPECT_EQ(aub_stream::ENGINE_RCS, gpgpuEngines[1].first); EXPECT_EQ(aub_stream::ENGINE_RCS, gpgpuEngines[2].first); EXPECT_EQ(3u, pDevice->allEngines.size()); } GEN9TEST_F(GfxCoreHelperTestGen9, givenGen9WhenCallIsTimestampShiftRequiredThenFalseIsReturned) { auto &gfxCoreHelper = pDevice->getGfxCoreHelper(); EXPECT_FALSE(gfxCoreHelper.isTimestampShiftRequired()); } using MemorySynchronizatiopCommandsTestsGen9 = ::testing::Test; GEN9TEST_F(MemorySynchronizatiopCommandsTestsGen9, WhenProgrammingCacheFlushThenExpectConstantCacheFieldSet) { using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; std::unique_ptr buffer(new uint8_t[128]); LinearStream stream(buffer.get(), 128); MemorySynchronizationCommands::addFullCacheFlush(stream, *defaultHwInfo); PIPE_CONTROL *pipeControl = genCmdCast(buffer.get()); ASSERT_NE(nullptr, pipeControl); EXPECT_TRUE(pipeControl->getConstantCacheInvalidationEnable()); }