Refactor direct submission

Related-To: NEO-4338

Change-Id: Ic858a9324e5f892532d39c98a4029df9d2a64e46
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2020-03-26 20:13:10 +01:00
committed by sys_ocldev
parent 5caa8bc28d
commit 49d3c39fae
34 changed files with 568 additions and 469 deletions

View File

@@ -7,6 +7,9 @@
#pragma once
#include "shared/source/command_stream/command_stream_receiver.h"
#include "shared/source/direct_submission/direct_submission_hw.h"
#include "shared/source/direct_submission/dispatchers/blitter_dispatcher.h"
#include "shared/source/direct_submission/dispatchers/render_dispatcher.h"
#include "shared/source/execution_environment/execution_environment.h"
#include "shared/source/helpers/dirty_state_helpers.h"
#include "shared/source/helpers/hw_cmds.h"
@@ -15,8 +18,6 @@
namespace NEO {
template <typename GfxFamily>
class DeviceCommandStreamReceiver;
template <typename GfxFamily>
class DirectSubmissionHw;
template <typename GfxFamily>
class CommandStreamReceiverHw : public CommandStreamReceiver {
@@ -87,6 +88,10 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
return directSubmission.get() != nullptr;
}
bool isBlitterDirectSubmissionEnabled() const override {
return blitterDirectSubmission.get() != nullptr;
}
protected:
void programPreemption(LinearStream &csr, DispatchFlags &dispatchFlags);
void programL3(LinearStream &csr, DispatchFlags &dispatchFlags, uint32_t &newL3Config);
@@ -123,7 +128,8 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
CsrSizeRequestFlags csrSizeRequestFlags = {};
std::unique_ptr<DirectSubmissionHw<GfxFamily>> directSubmission;
std::unique_ptr<DirectSubmissionHw<GfxFamily, RenderDispatcher<GfxFamily>>> directSubmission;
std::unique_ptr<DirectSubmissionHw<GfxFamily, BlitterDispatcher<GfxFamily>>> blitterDirectSubmission;
};
} // namespace NEO