feature: Add gfxCoreHelper for StateSip required

Related-to: NEO-12967

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
Brandon Yates
2025-03-04 13:59:54 +00:00
committed by Compute-Runtime-Automation
parent 566e52f72b
commit 64b027f71c
4 changed files with 36 additions and 1 deletions

View File

@@ -10,6 +10,7 @@
#include "shared/source/memory_manager/memory_allocation.h"
#include "shared/test/common/cmd_parse/gen_cmd_parse.h"
#include "shared/test/common/cmd_parse/hw_parse.h"
#include "shared/test/common/helpers/raii_gfx_core_helper.h"
#include "shared/test/common/mocks/mock_csr.h"
#include "shared/test/common/mocks/mock_debugger.h"
#include "shared/test/common/mocks/mock_device.h"
@@ -142,3 +143,21 @@ HWTEST2_F(Xe2MidThreadPreemptionTests, whenProgramStateSipIsCalledThenStateSipCm
PreemptionHelper::programStateSip<FamilyType>(cmdStream, *device, nullptr);
EXPECT_NE(0U, cmdStream.getUsed());
}
HWTEST2_F(Xe2MidThreadPreemptionTests, GivenStateSipNotRequiredWhenProgramStateSipIsCalledThenStateSipIsNotAddedAndSizeIsZero, IsAtLeastXe2HpgCore) {
struct MockGfxCoreHelper : NEO::GfxCoreHelperHw<FamilyType> {
bool isStateSipRequired() const override {
return false;
}
};
RAIIGfxCoreHelperFactory<MockGfxCoreHelper> raii(*this->device->getExecutionEnvironment()->rootDeviceEnvironments[0]);
size_t requiredSize = PreemptionHelper::getRequiredStateSipCmdSize<FamilyType>(*device, false);
EXPECT_EQ(0U, requiredSize);
constexpr auto bufferSize = 128u;
uint64_t buffer[bufferSize];
LinearStream cmdStream{buffer, bufferSize * sizeof(uint64_t)};
PreemptionHelper::programStateSip<FamilyType>(cmdStream, *device, nullptr);
EXPECT_EQ(0U, cmdStream.getUsed());
}