mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-11 00:10:58 +08:00
Create diagnostic and debug modes of Direct Submission
Change-Id: I703fdcd96bd064d20e36426d3f59538d1f672a41 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
89043d85d0
commit
73ed2a7797
@@ -35,6 +35,7 @@ struct HardwareParse {
|
||||
void TearDown() {
|
||||
cmdList.clear();
|
||||
lriList.clear();
|
||||
pipeControlList.clear();
|
||||
}
|
||||
|
||||
template <typename CmdType>
|
||||
@@ -190,6 +191,7 @@ struct HardwareParse {
|
||||
size_t sizeUsed = 0u;
|
||||
GenCmdList cmdList;
|
||||
GenCmdList lriList;
|
||||
GenCmdList pipeControlList;
|
||||
GenCmdList::iterator itorMediaInterfaceDescriptorLoad;
|
||||
GenCmdList::iterator itorMediaVfeState;
|
||||
GenCmdList::iterator itorPipelineSelect;
|
||||
@@ -206,6 +208,8 @@ struct HardwareParse {
|
||||
void *cmdWalker = nullptr;
|
||||
void *cmdBBStartAfterWalker = nullptr;
|
||||
void *cmdGpgpuCsrBaseAddress = nullptr;
|
||||
|
||||
bool parsePipeControl = false;
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -11,14 +11,15 @@ namespace NEO {
|
||||
|
||||
template <typename FamilyType>
|
||||
void HardwareParse::findHardwareCommands(IndirectHeap *dsh) {
|
||||
typedef typename FamilyType::GPGPU_WALKER GPGPU_WALKER;
|
||||
typedef typename FamilyType::PIPELINE_SELECT PIPELINE_SELECT;
|
||||
typedef typename FamilyType::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
|
||||
typedef typename FamilyType::MEDIA_INTERFACE_DESCRIPTOR_LOAD MEDIA_INTERFACE_DESCRIPTOR_LOAD;
|
||||
typedef typename FamilyType::MEDIA_VFE_STATE MEDIA_VFE_STATE;
|
||||
typedef typename FamilyType::INTERFACE_DESCRIPTOR_DATA INTERFACE_DESCRIPTOR_DATA;
|
||||
typedef typename FamilyType::MI_BATCH_BUFFER_START MI_BATCH_BUFFER_START;
|
||||
typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM;
|
||||
using GPGPU_WALKER = typename FamilyType::GPGPU_WALKER;
|
||||
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename FamilyType::MEDIA_INTERFACE_DESCRIPTOR_LOAD;
|
||||
using MEDIA_VFE_STATE = typename FamilyType::MEDIA_VFE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_LOAD_REGISTER_IMM = typename FamilyType::MI_LOAD_REGISTER_IMM;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
|
||||
itorWalker = find<GPGPU_WALKER *>(cmdList.begin(), cmdList.end());
|
||||
if (itorWalker != cmdList.end()) {
|
||||
@@ -35,6 +36,14 @@ void HardwareParse::findHardwareCommands(IndirectHeap *dsh) {
|
||||
lriList.push_back(*it);
|
||||
}
|
||||
}
|
||||
if (parsePipeControl) {
|
||||
for (auto it = cmdList.begin(); it != cmdList.end(); it++) {
|
||||
auto pipeControl = genCmdCast<PIPE_CONTROL *>(*it);
|
||||
if (pipeControl) {
|
||||
pipeControlList.push_back(*it);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MEDIA_INTERFACE_DESCRIPTOR_LOAD *cmdMIDL = nullptr;
|
||||
itorMediaInterfaceDescriptorLoad = find<MEDIA_INTERFACE_DESCRIPTOR_LOAD *>(cmdList.begin(), itorWalker);
|
||||
|
||||
@@ -134,4 +134,7 @@ EnableDirectSubmission = -1
|
||||
DirectSubmissionBufferPlacement = -1
|
||||
DirectSubmissionSemaphorePlacement = -1
|
||||
DirectSubmissionDisableCpuCacheFlush = -1
|
||||
WddmResidencyLogger = 0
|
||||
WddmResidencyLogger = 0
|
||||
DirectSubmissionEnableDebugBuffer = 0
|
||||
DirectSubmissionDisableCacheFlush = 0
|
||||
DirectSubmissionDisableMonitorFence = 0
|
||||
Reference in New Issue
Block a user