Simplify checkAndActivateAubSubCapture method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
parent
51b169e9a8
commit
d348526941
|
@ -900,7 +900,7 @@ void CommandQueue::overrideEngine(aub_stream::EngineType engineType, EngineUsage
|
|||
|
||||
void CommandQueue::aubCaptureHook(bool &blocking, bool &clearAllDependencies, const MultiDispatchInfo &multiDispatchInfo) {
|
||||
if (DebugManager.flags.AUBDumpSubCaptureMode.get()) {
|
||||
auto status = getGpgpuCommandStreamReceiver().checkAndActivateAubSubCapture(multiDispatchInfo);
|
||||
auto status = getGpgpuCommandStreamReceiver().checkAndActivateAubSubCapture(multiDispatchInfo.peekMainKernel()->getDescriptor().kernelMetadata.kernelName);
|
||||
if (!status.isActive) {
|
||||
// make each enqueue blocking when subcapture is not active to split batch buffer
|
||||
blocking = true;
|
||||
|
|
|
@ -56,7 +56,7 @@ class AUBCommandStreamReceiverHw : public CommandStreamReceiverSimulatedHw<GfxFa
|
|||
void expectMMIO(uint32_t mmioRegister, uint32_t expectedValue);
|
||||
bool expectMemory(const void *gfxAddress, const void *srcAddress, size_t length, uint32_t compareOperation) override;
|
||||
|
||||
AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) override;
|
||||
AubSubCaptureStatus checkAndActivateAubSubCapture(const std::string &kernelName) override;
|
||||
void addAubComment(const char *message) override;
|
||||
|
||||
// Family specific version
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
#include "shared/source/os_interface/os_context.h"
|
||||
|
||||
#include "opencl/source/command_stream/aub_command_stream_receiver_hw.h"
|
||||
#include "opencl/source/helpers/dispatch_info.h"
|
||||
#include "opencl/source/helpers/hardware_context_controller.h"
|
||||
#include "opencl/source/helpers/neo_driver_version.h"
|
||||
#include "opencl/source/os_interface/ocl_reg_path.h"
|
||||
|
@ -783,8 +782,7 @@ void AUBCommandStreamReceiverHw<GfxFamily>::dumpAllocation(GraphicsAllocation &g
|
|||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
AubSubCaptureStatus AUBCommandStreamReceiverHw<GfxFamily>::checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) {
|
||||
auto &kernelName = dispatchInfo.peekMainKernel()->getKernelInfo().kernelDescriptor.kernelMetadata.kernelName;
|
||||
AubSubCaptureStatus AUBCommandStreamReceiverHw<GfxFamily>::checkAndActivateAubSubCapture(const std::string &kernelName) {
|
||||
auto status = subCaptureManager->checkAndActivateSubCapture(kernelName);
|
||||
if (status.isActive) {
|
||||
auto &subCaptureFile = subCaptureManager->getSubCaptureFileName(kernelName);
|
||||
|
|
|
@ -29,7 +29,7 @@ class CommandStreamReceiverWithAUBDump : public BaseCSR {
|
|||
bool flush(BatchBuffer &batchBuffer, ResidencyContainer &allocationsForResidency) override;
|
||||
void makeNonResident(GraphicsAllocation &gfxAllocation) override;
|
||||
|
||||
AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) override;
|
||||
AubSubCaptureStatus checkAndActivateAubSubCapture(const std::string &kernelName) override;
|
||||
void setupContext(OsContext &osContext) override;
|
||||
|
||||
CommandStreamReceiverType getType() override {
|
||||
|
|
|
@ -52,10 +52,10 @@ void CommandStreamReceiverWithAUBDump<BaseCSR>::makeNonResident(GraphicsAllocati
|
|||
}
|
||||
|
||||
template <typename BaseCSR>
|
||||
AubSubCaptureStatus CommandStreamReceiverWithAUBDump<BaseCSR>::checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) {
|
||||
auto status = BaseCSR::checkAndActivateAubSubCapture(dispatchInfo);
|
||||
AubSubCaptureStatus CommandStreamReceiverWithAUBDump<BaseCSR>::checkAndActivateAubSubCapture(const std::string &kernelName) {
|
||||
auto status = BaseCSR::checkAndActivateAubSubCapture(kernelName);
|
||||
if (aubCSR) {
|
||||
status = aubCSR->checkAndActivateAubSubCapture(dispatchInfo);
|
||||
status = aubCSR->checkAndActivateAubSubCapture(kernelName);
|
||||
}
|
||||
BaseCSR::programForAubSubCapture(status.wasActiveInPreviousEnqueue, status.isActive);
|
||||
return status;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -28,9 +28,6 @@ namespace NEO {
|
|||
typedef std::vector<char> BuiltinResourceT;
|
||||
|
||||
class Device;
|
||||
class Kernel;
|
||||
struct KernelInfo;
|
||||
struct MultiDispatchInfo;
|
||||
class Program;
|
||||
class SipKernel;
|
||||
class MemoryManager;
|
||||
|
|
|
@ -382,7 +382,7 @@ ResidencyContainer &CommandStreamReceiver::getEvictionAllocations() {
|
|||
return this->evictionAllocations;
|
||||
}
|
||||
|
||||
AubSubCaptureStatus CommandStreamReceiver::checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) { return {false, false}; }
|
||||
AubSubCaptureStatus CommandStreamReceiver::checkAndActivateAubSubCapture(const std::string &kernelName) { return {false, false}; }
|
||||
|
||||
void CommandStreamReceiver::addAubComment(const char *comment) {}
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ class CommandStreamReceiver {
|
|||
void overwriteFlatBatchBufferHelper(FlatBatchBufferHelper *newHelper) { flatBatchBufferHelper.reset(newHelper); }
|
||||
|
||||
MOCKABLE_VIRTUAL void initProgrammingFlags();
|
||||
virtual AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo);
|
||||
virtual AubSubCaptureStatus checkAndActivateAubSubCapture(const std::string &kernelName);
|
||||
void programForAubSubCapture(bool wasActiveInPreviousEnqueue, bool isActive);
|
||||
virtual void addAubComment(const char *comment);
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ class TbxCommandStreamReceiverHw : public CommandStreamReceiverSimulatedHw<GfxFa
|
|||
void writeMMIO(uint32_t offset, uint32_t value) override;
|
||||
bool expectMemory(const void *gfxAddress, const void *srcAddress, size_t length, uint32_t compareOperation) override;
|
||||
|
||||
AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) override;
|
||||
AubSubCaptureStatus checkAndActivateAubSubCapture(const std::string &kernelName) override;
|
||||
|
||||
// Family specific version
|
||||
MOCKABLE_VIRTUAL void submitBatchBufferTbx(uint64_t batchBufferGpuAddress, const void *batchBuffer, size_t batchBufferSize, uint32_t memoryBank, uint64_t entryBits, bool overrideRingHead);
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include "shared/source/os_interface/os_context.h"
|
||||
|
||||
#include "opencl/source/command_stream/command_stream_receiver_with_aub_dump.h"
|
||||
#include "opencl/source/helpers/dispatch_info.h"
|
||||
#include "opencl/source/helpers/hardware_context_controller.h"
|
||||
#include "opencl/source/os_interface/ocl_reg_path.h"
|
||||
|
||||
|
@ -557,12 +556,11 @@ bool TbxCommandStreamReceiverHw<GfxFamily>::getpollNotEqualValueForPollForComple
|
|||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
AubSubCaptureStatus TbxCommandStreamReceiverHw<GfxFamily>::checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) {
|
||||
AubSubCaptureStatus TbxCommandStreamReceiverHw<GfxFamily>::checkAndActivateAubSubCapture(const std::string &kernelName) {
|
||||
if (!subCaptureManager) {
|
||||
return {false, false};
|
||||
}
|
||||
|
||||
std::string kernelName = (dispatchInfo.empty() ? "" : dispatchInfo.peekMainKernel()->getKernelInfo().kernelDescriptor.kernelMetadata.kernelName);
|
||||
auto status = subCaptureManager->checkAndActivateSubCapture(kernelName);
|
||||
if (status.isActive && !status.wasActiveInPreviousEnqueue) {
|
||||
dumpTbxNonWritable = true;
|
||||
|
|
|
@ -47,7 +47,6 @@ void printDebugString(bool showDebugLogs, Args &&...args) {
|
|||
|
||||
class Kernel;
|
||||
class GraphicsAllocation;
|
||||
struct MultiDispatchInfo;
|
||||
class SettingsReader;
|
||||
|
||||
template <typename T>
|
||||
|
|
Loading…
Reference in New Issue