/* * Copyright (C) 2018-2019 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "runtime/command_stream/command_stream_receiver_with_aub_dump.h" #include "runtime/command_stream/aub_command_stream_receiver.h" namespace OCLRT { extern CommandStreamReceiverCreateFunc commandStreamReceiverFactory[2 * IGFX_MAX_CORE]; template CommandStreamReceiverWithAUBDump::CommandStreamReceiverWithAUBDump(const HardwareInfo &hwInfoIn, ExecutionEnvironment &executionEnvironment) : BaseCSR(hwInfoIn, executionEnvironment) { aubCSR = AUBCommandStreamReceiver::create(hwInfoIn, "aubfile", false, executionEnvironment); } template CommandStreamReceiverWithAUBDump::~CommandStreamReceiverWithAUBDump() { delete aubCSR; } template FlushStamp CommandStreamReceiverWithAUBDump::flush(BatchBuffer &batchBuffer, ResidencyContainer &allocationsForResidency) { if (aubCSR) { aubCSR->flush(batchBuffer, allocationsForResidency); } FlushStamp flushStamp = BaseCSR::flush(batchBuffer, allocationsForResidency); return flushStamp; } template void CommandStreamReceiverWithAUBDump::makeNonResident(GraphicsAllocation &gfxAllocation) { auto residencyTaskCount = gfxAllocation.getResidencyTaskCount(this->osContext->getContextId()); BaseCSR::makeNonResident(gfxAllocation); gfxAllocation.updateResidencyTaskCount(residencyTaskCount, this->osContext->getContextId()); if (aubCSR) { aubCSR->makeNonResident(gfxAllocation); } } template void CommandStreamReceiverWithAUBDump::activateAubSubCapture(const MultiDispatchInfo &dispatchInfo) { BaseCSR::activateAubSubCapture(dispatchInfo); if (aubCSR) { aubCSR->activateAubSubCapture(dispatchInfo); } } template void CommandStreamReceiverWithAUBDump::setupContext(OsContext &osContext) { BaseCSR::setupContext(osContext); if (aubCSR) { aubCSR->setupContext(osContext); } } } // namespace OCLRT