mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
fix: program partition offset for secondary csr
Related-To: HSD-18039998563 Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
08cc1a6286
commit
7a56424c2c
@@ -116,7 +116,6 @@ ze_result_t CommandQueueHw<gfxCoreFamily>::executeCommandLists(
|
|||||||
if (this->isCopyOnlyCommandQueue) {
|
if (this->isCopyOnlyCommandQueue) {
|
||||||
ret = this->executeCommandListsCopyOnly(ctx, numCommandLists, phCommandLists, hFence, parentImmediateCommandlistLinearStream);
|
ret = this->executeCommandListsCopyOnly(ctx, numCommandLists, phCommandLists, hFence, parentImmediateCommandlistLinearStream);
|
||||||
} else if (this->heaplessStateInitEnabled) {
|
} else if (this->heaplessStateInitEnabled) {
|
||||||
ctx.globalInit = false;
|
|
||||||
ret = this->executeCommandListsRegularHeapless(ctx, numCommandLists, phCommandLists, hFence, parentImmediateCommandlistLinearStream);
|
ret = this->executeCommandListsRegularHeapless(ctx, numCommandLists, phCommandLists, hFence, parentImmediateCommandlistLinearStream);
|
||||||
} else {
|
} else {
|
||||||
ret = this->executeCommandListsRegular(ctx, numCommandLists, phCommandLists, hFence, parentImmediateCommandlistLinearStream);
|
ret = this->executeCommandListsRegular(ctx, numCommandLists, phCommandLists, hFence, parentImmediateCommandlistLinearStream);
|
||||||
@@ -176,6 +175,8 @@ ze_result_t CommandQueueHw<gfxCoreFamily>::executeCommandListsRegularHeapless(
|
|||||||
|
|
||||||
this->makeCsrTagAllocationResident();
|
this->makeCsrTagAllocationResident();
|
||||||
|
|
||||||
|
this->programActivePartitionConfig(ctx.isProgramActivePartitionConfigRequired, *streamForDispatch);
|
||||||
|
|
||||||
if (instructionCacheFlushRequired) {
|
if (instructionCacheFlushRequired) {
|
||||||
NEO::MemorySynchronizationCommands<GfxFamily>::addInstructionCacheFlush(*streamForDispatch);
|
NEO::MemorySynchronizationCommands<GfxFamily>::addInstructionCacheFlush(*streamForDispatch);
|
||||||
this->csr->setInstructionCacheFlushed();
|
this->csr->setInstructionCacheFlushed();
|
||||||
@@ -253,6 +254,7 @@ size_t CommandQueueHw<gfxCoreFamily>::estimateStreamSizeForExecuteCommandListsRe
|
|||||||
for (uint32_t i = 0; i < numCommandLists; i++) {
|
for (uint32_t i = 0; i < numCommandLists; i++) {
|
||||||
auto cmdList = CommandList::fromHandle(commandListHandles[i]);
|
auto cmdList = CommandList::fromHandle(commandListHandles[i]);
|
||||||
linearStreamSizeEstimate += estimateCommandListSecondaryStart(cmdList);
|
linearStreamSizeEstimate += estimateCommandListSecondaryStart(cmdList);
|
||||||
|
linearStreamSizeEstimate += this->estimateCommandListPrimaryStart(ctx.globalInit);
|
||||||
ctx.spaceForResidency += estimateCommandListResidencySize(cmdList);
|
ctx.spaceForResidency += estimateCommandListResidencySize(cmdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,6 +270,11 @@ size_t CommandQueueHw<gfxCoreFamily>::estimateStreamSizeForExecuteCommandListsRe
|
|||||||
linearStreamSizeEstimate += NEO::MemorySynchronizationCommands<GfxFamily>::getSizeForFullCacheFlush();
|
linearStreamSizeEstimate += NEO::MemorySynchronizationCommands<GfxFamily>::getSizeForFullCacheFlush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto csrHw = reinterpret_cast<NEO::CommandStreamReceiverHw<GfxFamily> *>(this->csr);
|
||||||
|
if (ctx.isProgramActivePartitionConfigRequired) {
|
||||||
|
linearStreamSizeEstimate += csrHw->getCmdSizeForActivePartitionConfig();
|
||||||
|
}
|
||||||
|
|
||||||
return linearStreamSizeEstimate;
|
return linearStreamSizeEstimate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user