mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
Refactor direct submission
Related-To: NEO-4338 Change-Id: Ic858a9324e5f892532d39c98a4029df9d2a64e46 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
5caa8bc28d
commit
49d3c39fae
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user