2018-01-19 10:00:51 +01:00
|
|
|
/*
|
2019-01-10 09:37:56 +01:00
|
|
|
* Copyright (C) 2018-2019 Intel Corporation
|
2018-01-19 10:00:51 +01:00
|
|
|
*
|
2018-09-18 09:11:08 +02:00
|
|
|
* SPDX-License-Identifier: MIT
|
2018-01-19 10:00:51 +01:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "runtime/command_stream/command_stream_receiver.h"
|
2019-02-27 11:39:32 +01:00
|
|
|
|
2019-02-11 16:49:23 +01:00
|
|
|
#include <memory>
|
2018-01-19 10:00:51 +01:00
|
|
|
|
2019-03-26 11:59:46 +01:00
|
|
|
namespace NEO {
|
2018-01-19 10:00:51 +01:00
|
|
|
|
|
|
|
template <typename BaseCSR>
|
|
|
|
class CommandStreamReceiverWithAUBDump : public BaseCSR {
|
2018-12-03 10:05:36 +01:00
|
|
|
protected:
|
|
|
|
using BaseCSR::osContext;
|
|
|
|
|
2018-01-19 10:00:51 +01:00
|
|
|
public:
|
2019-02-27 10:06:14 +01:00
|
|
|
CommandStreamReceiverWithAUBDump(const std::string &baseName, ExecutionEnvironment &executionEnvironment);
|
2018-01-19 10:00:51 +01:00
|
|
|
|
|
|
|
CommandStreamReceiverWithAUBDump(const CommandStreamReceiverWithAUBDump &) = delete;
|
|
|
|
CommandStreamReceiverWithAUBDump &operator=(const CommandStreamReceiverWithAUBDump &) = delete;
|
|
|
|
|
2018-11-26 14:04:52 +01:00
|
|
|
FlushStamp flush(BatchBuffer &batchBuffer, ResidencyContainer &allocationsForResidency) override;
|
2018-09-27 19:55:09 +02:00
|
|
|
void makeNonResident(GraphicsAllocation &gfxAllocation) override;
|
2018-01-19 10:00:51 +01:00
|
|
|
|
2019-06-03 09:57:27 +02:00
|
|
|
AubSubCaptureStatus checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) override;
|
2019-01-10 09:37:56 +01:00
|
|
|
void setupContext(OsContext &osContext) override;
|
2018-06-12 20:33:03 +02:00
|
|
|
|
2019-02-11 16:49:23 +01:00
|
|
|
std::unique_ptr<CommandStreamReceiver> aubCSR;
|
2018-01-19 10:00:51 +01:00
|
|
|
};
|
|
|
|
|
2019-03-26 11:59:46 +01:00
|
|
|
} // namespace NEO
|