/* * Copyright (C) 2017-2020 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "core/execution_environment/execution_environment.h" #include "runtime/command_stream/aub_command_stream_receiver_hw.h" #include "runtime/memory_manager/os_agnostic_memory_manager.h" #include "unit_tests/mocks/mock_experimental_command_buffer.h" namespace NEO { template class UltAubCommandStreamReceiver : public AUBCommandStreamReceiverHw, public NonCopyableOrMovableClass { using BaseClass = AUBCommandStreamReceiverHw; public: using BaseClass::osContext; UltAubCommandStreamReceiver(const std::string &fileName, bool standalone, ExecutionEnvironment &executionEnvironment, uint32_t rootDeviceIndex) : BaseClass(fileName, standalone, executionEnvironment, rootDeviceIndex) { } UltAubCommandStreamReceiver(ExecutionEnvironment &executionEnvironment, uint32_t rootDeviceIndex) : BaseClass("aubfile", true, executionEnvironment, rootDeviceIndex) { } static CommandStreamReceiver *create(bool withAubDump, ExecutionEnvironment &executionEnvironment, uint32_t rootDeviceIndex) { auto csr = new UltAubCommandStreamReceiver("aubfile", true, executionEnvironment, rootDeviceIndex); if (!csr->subCaptureManager->isSubCaptureMode()) { csr->openFile("aubfile"); } return csr; } uint32_t blitBuffer(const BlitPropertiesContainer &blitPropertiesContainer, bool blocking) override { blitBufferCalled++; return BaseClass::blitBuffer(blitPropertiesContainer, blocking); } uint32_t blitBufferCalled = 0; }; } // namespace NEO