Simplify checkAndActivateAubSubCapture method

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2021-09-22 19:25:21 +00:00
committed by Compute-Runtime-Automation
parent 51b169e9a8
commit d348526941
15 changed files with 40 additions and 108 deletions

View File

@@ -899,14 +899,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
Kernel *kernel = kernelInternals.mockKernel;
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernel);
ASSERT_FALSE(aubCsr->isFileOpen());
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(aubCsr->isFileOpen());
}
@@ -922,14 +917,12 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
std::string fileName = aubCsr->subCaptureManager->getSubCaptureFileName(kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName);
std::string kernelName = "";
std::string fileName = aubCsr->subCaptureManager->getSubCaptureFileName(kernelName);
aubCsr->initFile(fileName);
ASSERT_TRUE(aubCsr->isFileOpen());
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture(kernelName);
EXPECT_TRUE(aubCsr->isFileOpen());
EXPECT_STREQ(fileName.c_str(), aubCsr->getFileName().c_str());
@@ -948,16 +941,12 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setToggleFileName(newFileName);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
std::string fileName = "file_name.aub";
aubCsr->initFile(fileName);
ASSERT_TRUE(aubCsr->isFileOpen());
ASSERT_STREQ(fileName.c_str(), aubCsr->getFileName().c_str());
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(aubCsr->isFileOpen());
EXPECT_STRNE(fileName.c_str(), aubCsr->getFileName().c_str());
@@ -977,15 +966,11 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setToggleFileName(newFileName);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
std::string fileName = "file_name.aub";
aubCsr->initFile(fileName);
ASSERT_STREQ(fileName.c_str(), aubCsr->getFileName().c_str());
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
ASSERT_STREQ(newFileName.c_str(), aubCsr->getFileName().c_str());
EXPECT_EQ(nullptr, aubCsr->engineInfo.pLRCA);
@@ -1004,11 +989,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(aubCsr->dumpAubNonWritable);
}
@@ -1024,11 +1005,10 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
std::string kernelName = "";
aubCsr->initFile(aubCsr->subCaptureManager->getSubCaptureFileName(kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName));
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->initFile(aubCsr->subCaptureManager->getSubCaptureFileName(kernelName));
aubCsr->checkAndActivateAubSubCapture(kernelName);
EXPECT_FALSE(aubCsr->dumpAubNonWritable);
}
@@ -1044,12 +1024,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setSubCaptureToggleActive(false);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
Kernel *kernel = kernelInternals.mockKernel;
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_FALSE(aubCsr->subCaptureManager->isSubCaptureEnabled());
}
@@ -1065,11 +1040,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled());
}
@@ -1085,10 +1056,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon
subCaptureManagerMock->setSubCaptureToggleActive(false);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("");
EXPECT_FALSE(aubCsr->flushBatchedSubmissionsCalled);
EXPECT_FALSE(aubCsr->initProgrammingFlagsCalled);
@@ -1105,10 +1073,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("");
EXPECT_FALSE(aubCsr->flushBatchedSubmissionsCalled);
EXPECT_FALSE(aubCsr->initProgrammingFlagsCalled);
@@ -1125,11 +1090,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon
subCaptureManagerMock->setSubCaptureToggleActive(true);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_FALSE(aubCsr->flushBatchedSubmissionsCalled);
EXPECT_TRUE(aubCsr->initProgrammingFlagsCalled);
@@ -1146,11 +1107,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon
subCaptureManagerMock->setSubCaptureToggleActive(false);
aubCsr->subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(subCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernelInternals.mockKernel);
aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo);
aubCsr->checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(aubCsr->flushBatchedSubmissionsCalled);
EXPECT_FALSE(aubCsr->initProgrammingFlagsCalled);

View File

@@ -70,9 +70,9 @@ struct MyMockCsr : UltCommandStreamReceiver<DEFAULT_TEST_FAMILY_NAME> {
}
}
AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) override {
AubSubCaptureStatus checkAndActivateAubSubCapture(const std::string &kernelName) override {
checkAndActivateAubSubCaptureParameterization.wasCalled = true;
checkAndActivateAubSubCaptureParameterization.receivedDispatchInfo = &dispatchInfo;
checkAndActivateAubSubCaptureParameterization.kernelName = &kernelName;
return {false, false};
}
@@ -101,7 +101,7 @@ struct MyMockCsr : UltCommandStreamReceiver<DEFAULT_TEST_FAMILY_NAME> {
struct CheckAndActivateAubSubCaptureParameterization {
bool wasCalled = false;
const MultiDispatchInfo *receivedDispatchInfo = nullptr;
const std::string *kernelName = nullptr;
} checkAndActivateAubSubCaptureParameterization;
};
@@ -536,17 +536,15 @@ HWTEST_P(CommandStreamReceiverWithAubDumpTest, givenCommandStreamReceiverWithAub
}
HWTEST_P(CommandStreamReceiverWithAubDumpTest, givenCommandStreamReceiverWithAubDumpWhenCheckAndActivateAubSubCaptureIsCalledThenBaseCsrCommandStreamReceiverIsCalled) {
const DispatchInfo dispatchInfo;
MultiDispatchInfo multiDispatchInfo;
multiDispatchInfo.push(dispatchInfo);
csrWithAubDump->checkAndActivateAubSubCapture(multiDispatchInfo);
std::string kernelName = "";
csrWithAubDump->checkAndActivateAubSubCapture(kernelName);
EXPECT_TRUE(csrWithAubDump->checkAndActivateAubSubCaptureParameterization.wasCalled);
EXPECT_EQ(&multiDispatchInfo, csrWithAubDump->checkAndActivateAubSubCaptureParameterization.receivedDispatchInfo);
EXPECT_EQ(&kernelName, csrWithAubDump->checkAndActivateAubSubCaptureParameterization.kernelName);
if (createAubCSR) {
EXPECT_TRUE(csrWithAubDump->getAubMockCsr().checkAndActivateAubSubCaptureParameterization.wasCalled);
EXPECT_EQ(&multiDispatchInfo, csrWithAubDump->getAubMockCsr().checkAndActivateAubSubCaptureParameterization.receivedDispatchInfo);
EXPECT_EQ(&kernelName, csrWithAubDump->getAubMockCsr().checkAndActivateAubSubCaptureParameterization.kernelName);
}
}

View File

@@ -816,13 +816,9 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrInSubCaptureModeWhenCheckAndActivateA
aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle;
tbxCsr.subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(aubSubCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
Kernel *kernel = kernelInternals.mockKernel;
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernel);
EXPECT_FALSE(tbxCsr.dumpTbxNonWritable);
auto status = tbxCsr.checkAndActivateAubSubCapture(multiDispatchInfo);
auto status = tbxCsr.checkAndActivateAubSubCapture("");
EXPECT_FALSE(status.isActive);
EXPECT_FALSE(status.wasActiveInPreviousEnqueue);
@@ -841,14 +837,9 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrInSubCaptureModeWhenCheckAndActivateA
aubSubCaptureManagerMock->setSubCaptureToggleActive(true);
tbxCsr.subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(aubSubCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
Kernel *kernel = kernelInternals.mockKernel;
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernel);
EXPECT_FALSE(tbxCsr.dumpTbxNonWritable);
auto status = tbxCsr.checkAndActivateAubSubCapture(multiDispatchInfo);
auto status = tbxCsr.checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(status.isActive);
EXPECT_FALSE(status.wasActiveInPreviousEnqueue);
@@ -867,14 +858,9 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrInSubCaptureModeWhenCheckAndActivateA
aubSubCaptureManagerMock->setSubCaptureToggleActive(true);
tbxCsr.subCaptureManager = std::unique_ptr<AubSubCaptureManagerMock>(aubSubCaptureManagerMock);
MockKernelWithInternals kernelInternals(*pClDevice);
kernelInternals.kernelInfo.kernelDescriptor.kernelMetadata.kernelName = "kernelName";
Kernel *kernel = kernelInternals.mockKernel;
MockMultiDispatchInfo multiDispatchInfo(pClDevice, kernel);
EXPECT_FALSE(tbxCsr.dumpTbxNonWritable);
auto status = tbxCsr.checkAndActivateAubSubCapture(multiDispatchInfo);
auto status = tbxCsr.checkAndActivateAubSubCapture("kernelName");
EXPECT_TRUE(status.isActive);
EXPECT_TRUE(status.wasActiveInPreviousEnqueue);
@@ -886,8 +872,7 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrInNonSubCaptureModeWhenCheckAndActiva
MockOsContext osContext(0, EngineDescriptorHelper::getDefaultDescriptor(pDevice->getDeviceBitfield()));
tbxCsr.setupContext(osContext);
MultiDispatchInfo dispatchInfo;
auto status = tbxCsr.checkAndActivateAubSubCapture(dispatchInfo);
auto status = tbxCsr.checkAndActivateAubSubCapture("");
EXPECT_FALSE(status.isActive);
EXPECT_FALSE(status.wasActiveInPreviousEnqueue);
}

View File

@@ -208,8 +208,8 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily>, publ
std::map<GraphicsAllocation *, uint32_t> makeResidentAllocations;
bool storeMakeResidentAllocations = false;
AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) override {
auto status = CommandStreamReceiverHw<GfxFamily>::checkAndActivateAubSubCapture(dispatchInfo);
AubSubCaptureStatus checkAndActivateAubSubCapture(const std::string &kernelName) override {
auto status = CommandStreamReceiverHw<GfxFamily>::checkAndActivateAubSubCapture(kernelName);
checkAndActivateAubSubCaptureCalled = true;
return status;
}