refactor: unify naming for l3 flush after post sync

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2025-09-10 06:25:01 +00:00
committed by Compute-Runtime-Automation
parent 36ded38589
commit 56415ddac7
20 changed files with 36 additions and 34 deletions

View File

@@ -601,7 +601,7 @@ struct CommandList : _ze_command_list_handle_t {
bool scratchAddressPatchingEnabled = false; bool scratchAddressPatchingEnabled = false;
bool taskCountUpdateFenceRequired = false; bool taskCountUpdateFenceRequired = false;
bool statelessBuiltinsEnabled = false; bool statelessBuiltinsEnabled = false;
bool l3FlushAfterPostSyncRequired = false; bool l3FlushAfterPostSyncEnabled = false;
bool textureCacheFlushPending = false; bool textureCacheFlushPending = false;
bool closedCmdList = false; bool closedCmdList = false;
bool isWalkerWithProfilingEnqueued = false; bool isWalkerWithProfilingEnqueued = false;

View File

@@ -262,8 +262,8 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::initialize(Device *device, NEO
this->defaultPipelinedThreadArbitrationPolicy = gfxCoreHelper.getDefaultThreadArbitrationPolicy(); this->defaultPipelinedThreadArbitrationPolicy = gfxCoreHelper.getDefaultThreadArbitrationPolicy();
this->implicitSynchronizedDispatchForCooperativeKernelsAllowed = l0GfxCoreHelper.implicitSynchronizedDispatchForCooperativeKernelsAllowed(); this->implicitSynchronizedDispatchForCooperativeKernelsAllowed = l0GfxCoreHelper.implicitSynchronizedDispatchForCooperativeKernelsAllowed();
this->maxLocalSubRegionSize = productHelper.getMaxLocalSubRegionSize(hwInfo); this->maxLocalSubRegionSize = productHelper.getMaxLocalSubRegionSize(hwInfo);
this->l3FlushAfterPostSyncRequired = productHelper.isL3FlushAfterPostSyncRequired(heaplessModeEnabled); this->l3FlushAfterPostSyncEnabled = productHelper.isL3FlushAfterPostSyncSupported(heaplessModeEnabled);
this->compactL3FlushEventPacket = L0GfxCoreHelper::useCompactL3FlushEventPacket(hwInfo, this->l3FlushAfterPostSyncRequired); this->compactL3FlushEventPacket = L0GfxCoreHelper::useCompactL3FlushEventPacket(hwInfo, this->l3FlushAfterPostSyncEnabled);
this->useAdditionalBlitProperties = productHelper.useAdditionalBlitProperties(); this->useAdditionalBlitProperties = productHelper.useAdditionalBlitProperties();
this->isPostImageWriteFlushRequired = releaseHelper ? releaseHelper->isPostImageWriteFlushRequired() : false; this->isPostImageWriteFlushRequired = releaseHelper ? releaseHelper->isPostImageWriteFlushRequired() : false;
this->shouldRegisterEnqueuedWalkerWithProfiling = this->device->getNEODevice()->getProductHelper().shouldRegisterEnqueuedWalkerWithProfiling(); this->shouldRegisterEnqueuedWalkerWithProfiling = this->device->getNEODevice()->getProductHelper().shouldRegisterEnqueuedWalkerWithProfiling();
@@ -3177,7 +3177,7 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendWaitOnEvents(uint32_t nu
if (isCopyOnly(copyOffloadOperation)) { if (isCopyOnly(copyOffloadOperation)) {
NEO::MiFlushArgs args{this->dummyBlitWa}; NEO::MiFlushArgs args{this->dummyBlitWa};
encodeMiFlush(0, 0, args); encodeMiFlush(0, 0, args);
} else if (!this->l3FlushAfterPostSyncRequired) { } else if (!this->l3FlushAfterPostSyncEnabled) {
NEO::PipeControlArgs args; NEO::PipeControlArgs args;
args.dcFlushEnable = true; args.dcFlushEnable = true;
args.textureCacheInvalidationEnable = this->consumeTextureCacheFlushPending(); args.textureCacheInvalidationEnable = this->consumeTextureCacheFlushPending();

View File

@@ -212,9 +212,9 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendLaunchKernelWithParams(K
!launchParams.isKernelSplitOperation; !launchParams.isKernelSplitOperation;
l3FlushInPipeControlEnable = getDcFlushRequired(flushRequired) && l3FlushInPipeControlEnable = getDcFlushRequired(flushRequired) &&
!this->l3FlushAfterPostSyncRequired; !this->l3FlushAfterPostSyncEnabled;
isFlushL3AfterPostSync = isHostSignalScopeEvent && this->l3FlushAfterPostSyncRequired && !launchParams.isKernelSplitOperation; isFlushL3AfterPostSync = isHostSignalScopeEvent && this->l3FlushAfterPostSyncEnabled && !launchParams.isKernelSplitOperation;
interruptEvent = event->isInterruptModeEnabled(); interruptEvent = event->isInterruptModeEnabled();
} }

View File

@@ -55,7 +55,7 @@ uint32_t L0GfxCoreHelperHw<Family>::getEventBaseMaxPacketCount(const NEO::RootDe
auto &productHelper = rootDeviceEnvironment.getProductHelper(); auto &productHelper = rootDeviceEnvironment.getProductHelper();
auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo(); auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo();
auto heaplessEnabled = compilerProductHelper.isHeaplessModeEnabled(hwInfo); auto heaplessEnabled = compilerProductHelper.isHeaplessModeEnabled(hwInfo);
bool flushL3AfterPostSync = productHelper.isL3FlushAfterPostSyncRequired(heaplessEnabled); bool flushL3AfterPostSync = productHelper.isL3FlushAfterPostSyncSupported(heaplessEnabled);
uint32_t basePackets = getEventMaxKernelCount(hwInfo); uint32_t basePackets = getEventMaxKernelCount(hwInfo);
if (NEO::MemorySynchronizationCommands<Family>::getDcFlushEnable(true, rootDeviceEnvironment) && !flushL3AfterPostSync) { if (NEO::MemorySynchronizationCommands<Family>::getDcFlushEnable(true, rootDeviceEnvironment) && !flushL3AfterPostSync) {

View File

@@ -107,7 +107,7 @@ struct WhiteBox<::L0::CommandListCoreFamily<gfxCoreFamily>>
using BaseClass::isSyncModeQueue; using BaseClass::isSyncModeQueue;
using BaseClass::isTbxMode; using BaseClass::isTbxMode;
using BaseClass::isTimestampEventForMultiTile; using BaseClass::isTimestampEventForMultiTile;
using BaseClass::l3FlushAfterPostSyncRequired; using BaseClass::l3FlushAfterPostSyncEnabled;
using BaseClass::latestOperationRequiredNonWalkerInOrderCmdsChaining; using BaseClass::latestOperationRequiredNonWalkerInOrderCmdsChaining;
using BaseClass::maxFillPatternSizeForCopyEngine; using BaseClass::maxFillPatternSizeForCopyEngine;
using BaseClass::obtainKernelPreemptionMode; using BaseClass::obtainKernelPreemptionMode;
@@ -324,7 +324,7 @@ struct WhiteBox<::L0::CommandListImp> : public ::L0::CommandListImp {
using BaseClass::interruptEvents; using BaseClass::interruptEvents;
using BaseClass::isSyncModeQueue; using BaseClass::isSyncModeQueue;
using BaseClass::isTbxMode; using BaseClass::isTbxMode;
using BaseClass::l3FlushAfterPostSyncRequired; using BaseClass::l3FlushAfterPostSyncEnabled;
using BaseClass::minimalSizeForBcsSplit; using BaseClass::minimalSizeForBcsSplit;
using BaseClass::partitionCount; using BaseClass::partitionCount;
using BaseClass::pipelineSelectStateTracking; using BaseClass::pipelineSelectStateTracking;

View File

@@ -884,7 +884,9 @@ HWTEST_F(HostPointerManagerCommandListTest, givenCommandListWhenMemoryFillWithSi
auto pc = genCmdCast<PIPE_CONTROL *>(*cmdList.rbegin()); auto pc = genCmdCast<PIPE_CONTROL *>(*cmdList.rbegin());
if (!device->getProductHelper().isL3FlushAfterPostSyncRequired(device->getCompilerProductHelper().isHeaplessModeEnabled(*defaultHwInfo)) && NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment())) { auto l3FlushAfterPostSupported = device->getProductHelper().isL3FlushAfterPostSyncSupported(device->getCompilerProductHelper().isHeaplessModeEnabled(*defaultHwInfo));
if (!l3FlushAfterPostSupported && NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment())) {
EXPECT_NE(nullptr, pc); EXPECT_NE(nullptr, pc);
EXPECT_TRUE(pc->getDcFlushEnable()); EXPECT_TRUE(pc->getDcFlushEnable());
} else { } else {

View File

@@ -709,7 +709,7 @@ HWTEST_F(CommandListCreate, givenCommandListWhenAppendWaitEventsWithDcFlushThenP
auto whiteBoxCmdList = static_cast<CommandList *>(commandList.get()); auto whiteBoxCmdList = static_cast<CommandList *>(commandList.get());
if (NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !whiteBoxCmdList->l3FlushAfterPostSyncRequired) { if (NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !whiteBoxCmdList->l3FlushAfterPostSyncEnabled) {
itor--; itor--;
EXPECT_NE(nullptr, genCmdCast<PIPE_CONTROL *>(*itor)); EXPECT_NE(nullptr, genCmdCast<PIPE_CONTROL *>(*itor));
} else { } else {
@@ -741,7 +741,7 @@ HWTEST_F(CommandListCreate, givenAsyncCmdQueueAndImmediateCommandListWhenAppendW
EXPECT_NE(nullptr, whiteBoxCmdList->cmdQImmediate); EXPECT_NE(nullptr, whiteBoxCmdList->cmdQImmediate);
size_t expectedUsed = 2 * NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() + sizeof(MI_BATCH_BUFFER_END); size_t expectedUsed = 2 * NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() + sizeof(MI_BATCH_BUFFER_END);
if (NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !whiteBoxCmdList->l3FlushAfterPostSyncRequired) { if (NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !whiteBoxCmdList->l3FlushAfterPostSyncEnabled) {
expectedUsed += sizeof(PIPE_CONTROL); expectedUsed += sizeof(PIPE_CONTROL);
} }
expectedUsed = alignUp(expectedUsed, 64); expectedUsed = alignUp(expectedUsed, 64);

View File

@@ -558,7 +558,7 @@ HWTEST_F(CommandListAppendWaitOnEvent, givenEventWithWaitScopeFlagDeviceWhenAppe
auto whiteBoxCmdList = static_cast<CommandList *>(commandList.get()); auto whiteBoxCmdList = static_cast<CommandList *>(commandList.get());
if (NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !whiteBoxCmdList->l3FlushAfterPostSyncRequired) { if (NEO::MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !whiteBoxCmdList->l3FlushAfterPostSyncEnabled) {
itor--; itor--;
auto cmd = genCmdCast<PIPE_CONTROL *>(*itor); auto cmd = genCmdCast<PIPE_CONTROL *>(*itor);
@@ -755,7 +755,7 @@ HWTEST_F(CommandListAppendWaitOnSecondaryBatchBufferEvent, givenCommandBufferIsE
commandList->getCmdContainer().getCommandStream()->getSpace(consumeSpace); commandList->getCmdContainer().getCommandStream()->getSpace(consumeSpace);
size_t expectedConsumedSpace = NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait(); size_t expectedConsumedSpace = NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait();
if (MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !commandList->l3FlushAfterPostSyncRequired) { if (MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !commandList->l3FlushAfterPostSyncEnabled) {
expectedConsumedSpace += sizeof(PIPE_CONTROL); expectedConsumedSpace += sizeof(PIPE_CONTROL);
} }
@@ -787,7 +787,7 @@ HWTEST_F(CommandListAppendWaitOnSecondaryBatchBufferEvent, givenCommandBufferIsE
usedSpaceAfter)); usedSpaceAfter));
auto itorPC = find<PIPE_CONTROL *>(cmdList.begin(), cmdList.end()); auto itorPC = find<PIPE_CONTROL *>(cmdList.begin(), cmdList.end());
if (MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !commandList->l3FlushAfterPostSyncRequired) { if (MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getNEODevice()->getRootDeviceEnvironment()) && !commandList->l3FlushAfterPostSyncEnabled) {
ASSERT_NE(cmdList.end(), itorPC); ASSERT_NE(cmdList.end(), itorPC);
{ {
auto cmd = genCmdCast<PIPE_CONTROL *>(*itorPC); auto cmd = genCmdCast<PIPE_CONTROL *>(*itorPC);

View File

@@ -4412,8 +4412,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, InOrderCmdListTests, givenInOrderModeWhenProgrammin
EXPECT_EQ(0u, postSync.getImmediateData()); EXPECT_EQ(0u, postSync.getImmediateData());
} }
auto l3FlushAfterPostSyncRequired = this->neoDevice->getProductHelper().isL3FlushAfterPostSyncRequired(true); auto l3FlushAfterPostSyncEnabled = this->neoDevice->getProductHelper().isL3FlushAfterPostSyncSupported(true);
if (l3FlushAfterPostSyncRequired) { if (l3FlushAfterPostSyncEnabled) {
EXPECT_NE(0u, postSync.getDestinationAddress()); EXPECT_NE(0u, postSync.getDestinationAddress());
} else { } else {
EXPECT_EQ(0u, postSync.getDestinationAddress()); EXPECT_EQ(0u, postSync.getDestinationAddress());

View File

@@ -1096,7 +1096,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE,
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL; using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
auto &productHelper = this->neoDevice->getProductHelper(); auto &productHelper = this->neoDevice->getProductHelper();
if (productHelper.isL3FlushAfterPostSyncRequired(true)) { if (productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }
@@ -1146,7 +1146,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE,
using MI_STORE_REGISTER_MEM = typename FamilyType::MI_STORE_REGISTER_MEM; using MI_STORE_REGISTER_MEM = typename FamilyType::MI_STORE_REGISTER_MEM;
auto &productHelper = this->neoDevice->getProductHelper(); auto &productHelper = this->neoDevice->getProductHelper();
if (productHelper.isL3FlushAfterPostSyncRequired(true)) { if (productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }
auto mockBaseCmdList = static_cast<L0::ult::MockCommandList *>(this->mutableCommandList.get()->base); auto mockBaseCmdList = static_cast<L0::ult::MockCommandList *>(this->mutableCommandList.get()->base);
@@ -2007,7 +2007,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE,
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM; using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT; using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
auto &productHelper = this->neoDevice->getProductHelper(); auto &productHelper = this->neoDevice->getProductHelper();
if (productHelper.isL3FlushAfterPostSyncRequired(true)) { if (productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }
@@ -2096,7 +2096,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE,
using MI_STORE_REGISTER_MEM = typename FamilyType::MI_STORE_REGISTER_MEM; using MI_STORE_REGISTER_MEM = typename FamilyType::MI_STORE_REGISTER_MEM;
auto &productHelper = this->neoDevice->getProductHelper(); auto &productHelper = this->neoDevice->getProductHelper();
if (productHelper.isL3FlushAfterPostSyncRequired(true)) { if (productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }

View File

@@ -136,7 +136,7 @@ CommandQueue::CommandQueue(Context *context, ClDevice *device, const cl_queue_pr
this->heaplessModeEnabled = compilerProductHelper.isHeaplessModeEnabled(hwInfo); this->heaplessModeEnabled = compilerProductHelper.isHeaplessModeEnabled(hwInfo);
this->heaplessStateInitEnabled = compilerProductHelper.isHeaplessStateInitEnabled(this->heaplessModeEnabled); this->heaplessStateInitEnabled = compilerProductHelper.isHeaplessStateInitEnabled(this->heaplessModeEnabled);
this->isForceStateless = compilerProductHelper.isForceToStatelessRequired(); this->isForceStateless = compilerProductHelper.isForceToStatelessRequired();
this->l3FlushAfterPostSyncEnabled = productHelper.isL3FlushAfterPostSyncRequired(this->heaplessModeEnabled); this->l3FlushAfterPostSyncEnabled = productHelper.isL3FlushAfterPostSyncSupported(this->heaplessModeEnabled);
this->shouldRegisterEnqueuedWalkerWithProfiling = productHelper.shouldRegisterEnqueuedWalkerWithProfiling(); this->shouldRegisterEnqueuedWalkerWithProfiling = productHelper.shouldRegisterEnqueuedWalkerWithProfiling();
} }
} }
@@ -1361,7 +1361,7 @@ bool CommandQueue::isWaitForTimestampsEnabled() const {
auto enabled = CommandQueue::isTimestampWaitEnabled(); auto enabled = CommandQueue::isTimestampWaitEnabled();
enabled &= productHelper.isTimestampWaitSupportedForQueues(this->heaplessModeEnabled); enabled &= productHelper.isTimestampWaitSupportedForQueues(this->heaplessModeEnabled);
if (productHelper.isL3FlushAfterPostSyncRequired(this->heaplessModeEnabled)) { if (productHelper.isL3FlushAfterPostSyncSupported(this->heaplessModeEnabled)) {
enabled &= true; enabled &= true;
} else { } else {
enabled &= !productHelper.isDcFlushAllowed(); enabled &= !productHelper.isDcFlushAllowed();

View File

@@ -101,7 +101,7 @@ inline void HardwareInterface<GfxFamily>::programWalker(
if constexpr (heaplessModeEnabled) { if constexpr (heaplessModeEnabled) {
auto &productHelper = rootDeviceEnvironment.getHelper<ProductHelper>(); auto &productHelper = rootDeviceEnvironment.getHelper<ProductHelper>();
if (productHelper.isL3FlushAfterPostSyncRequired(true)) { if (productHelper.isL3FlushAfterPostSyncSupported(true)) {
GpgpuWalkerHelper<GfxFamily>::setupTimestampPacketFlushL3(walkerCmd, GpgpuWalkerHelper<GfxFamily>::setupTimestampPacketFlushL3(walkerCmd,
commandQueue, commandQueue,
FlushL3Args{.containsPrintBuffer = kernel.hasPrintfOutput(), FlushL3Args{.containsPrintBuffer = kernel.hasPrintfOutput(),

View File

@@ -201,7 +201,7 @@ TEST(CommandQueue, givenEnableTimestampWaitWhenCheckIsTimestampWaitEnabledThenRe
auto enabled = productHelper.isTimestampWaitSupportedForQueues(heaplessEnabled); auto enabled = productHelper.isTimestampWaitSupportedForQueues(heaplessEnabled);
if (productHelper.isL3FlushAfterPostSyncRequired(heaplessEnabled)) { if (productHelper.isL3FlushAfterPostSyncSupported(heaplessEnabled)) {
enabled &= true; enabled &= true;
} else { } else {
enabled &= !productHelper.isDcFlushAllowed(); enabled &= !productHelper.isDcFlushAllowed();

View File

@@ -581,7 +581,7 @@ HWTEST_F(EnqueueHandlerTest, givenEnableL3FlushAfterPostSyncWithSignalingEventWh
debugManager.flags.EnableL3FlushAfterPostSync.set(1); debugManager.flags.EnableL3FlushAfterPostSync.set(1);
auto &productHelper = pClDevice->getDevice().getProductHelper(); auto &productHelper = pClDevice->getDevice().getProductHelper();
if (!productHelper.isL3FlushAfterPostSyncRequired(true)) { if (!productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }
@@ -614,7 +614,7 @@ HWTEST_F(EnqueueHandlerTest, givenL3FlushDeferredIfNeededWhenEnqueueWithoutKerne
debugManager.flags.EnableL3FlushAfterPostSync.set(1); debugManager.flags.EnableL3FlushAfterPostSync.set(1);
auto &productHelper = pClDevice->getDevice().getProductHelper(); auto &productHelper = pClDevice->getDevice().getProductHelper();
if (!productHelper.isL3FlushAfterPostSyncRequired(true)) { if (!productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }

View File

@@ -106,7 +106,7 @@ HWTEST_F(FinishTest, givenL3FlushAfterPostSyncEnabledWhenFlushTagUpdateIsCalledT
debugManager.flags.EnableL3FlushAfterPostSync.set(true); debugManager.flags.EnableL3FlushAfterPostSync.set(true);
auto &productHelper = pClDevice->getDevice().getProductHelper(); auto &productHelper = pClDevice->getDevice().getProductHelper();
if (!productHelper.isL3FlushAfterPostSyncRequired(true)) { if (!productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }
@@ -150,7 +150,7 @@ HWTEST_F(FinishTest, givenL3FlushDeferredIfNeededAndL3FlushAfterPostSyncEnabledW
debugManager.flags.EnableL3FlushAfterPostSync.set(true); debugManager.flags.EnableL3FlushAfterPostSync.set(true);
auto &productHelper = pClDevice->getDevice().getProductHelper(); auto &productHelper = pClDevice->getDevice().getProductHelper();
if (!productHelper.isL3FlushAfterPostSyncRequired(true)) { if (!productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }

View File

@@ -1326,7 +1326,7 @@ inline bool CommandStreamReceiverHw<GfxFamily>::isUpdateTagFromWaitEnabled() {
auto enabled = gfxCoreHelper.isUpdateTaskCountFromWaitSupported(); auto enabled = gfxCoreHelper.isUpdateTaskCountFromWaitSupported();
if (productHelper.isL3FlushAfterPostSyncRequired(this->heaplessModeEnabled) && ApiSpecificConfig::isUpdateTagFromWaitEnabledForHeapless()) { if (productHelper.isL3FlushAfterPostSyncSupported(this->heaplessModeEnabled) && ApiSpecificConfig::isUpdateTagFromWaitEnabledForHeapless()) {
enabled &= true; enabled &= true;
} else { } else {
enabled &= this->isAnyDirectSubmissionEnabled(); enabled &= this->isAnyDirectSubmissionEnabled();

View File

@@ -264,7 +264,7 @@ class ProductHelper {
virtual uint64_t getSharedSystemPatIndex() const = 0; virtual uint64_t getSharedSystemPatIndex() const = 0;
virtual uint32_t getGmmResourceUsageOverride(uint32_t usageType) const = 0; virtual uint32_t getGmmResourceUsageOverride(uint32_t usageType) const = 0;
virtual bool isSharingWith3dOrMediaAllowed() const = 0; virtual bool isSharingWith3dOrMediaAllowed() const = 0;
virtual bool isL3FlushAfterPostSyncRequired(bool heaplessEnabled) const = 0; virtual bool isL3FlushAfterPostSyncSupported(bool heaplessEnabled) const = 0;
virtual void overrideDirectSubmissionTimeouts(uint64_t &timeoutUs, uint64_t &maxTimeoutUs) const = 0; virtual void overrideDirectSubmissionTimeouts(uint64_t &timeoutUs, uint64_t &maxTimeoutUs) const = 0;
virtual bool isMisalignedUserPtr2WayCoherent() const = 0; virtual bool isMisalignedUserPtr2WayCoherent() const = 0;
virtual bool isSvmHeapReservationSupported() const = 0; virtual bool isSvmHeapReservationSupported() const = 0;

View File

@@ -965,7 +965,7 @@ bool ProductHelperHw<gfxProduct>::isEvictionIfNecessaryFlagSupported() const {
} }
template <PRODUCT_FAMILY gfxProduct> template <PRODUCT_FAMILY gfxProduct>
bool ProductHelperHw<gfxProduct>::isL3FlushAfterPostSyncRequired(bool heaplessEnabled) const { bool ProductHelperHw<gfxProduct>::isL3FlushAfterPostSyncSupported(bool heaplessEnabled) const {
return false; return false;
} }

View File

@@ -201,7 +201,7 @@ class ProductHelperHw : public ProductHelper {
uint64_t getSharedSystemPatIndex() const override; uint64_t getSharedSystemPatIndex() const override;
uint32_t getGmmResourceUsageOverride(uint32_t usageType) const override; uint32_t getGmmResourceUsageOverride(uint32_t usageType) const override;
bool isSharingWith3dOrMediaAllowed() const override; bool isSharingWith3dOrMediaAllowed() const override;
bool isL3FlushAfterPostSyncRequired(bool heaplessEnabled) const override; bool isL3FlushAfterPostSyncSupported(bool heaplessEnabled) const override;
void overrideDirectSubmissionTimeouts(uint64_t &timeoutUs, uint64_t &maxTimeoutUs) const override; void overrideDirectSubmissionTimeouts(uint64_t &timeoutUs, uint64_t &maxTimeoutUs) const override;
bool isMisalignedUserPtr2WayCoherent() const override; bool isMisalignedUserPtr2WayCoherent() const override;
bool isSvmHeapReservationSupported() const override; bool isSvmHeapReservationSupported() const override;

View File

@@ -107,7 +107,7 @@ struct DrmCommandStreamMultiTileMemExecTestWithCsr : public DrmCommandStreamMult
HWCMDTEST_TEMPLATED_F(IGFX_XE_HP_CORE, DrmCommandStreamMultiTileMemExecTestWithCsr, GivenDrmSupportsCompletionFenceAndVmBindWhenCallingCsrExecThenMultipleTagAllocationIsPassed) { HWCMDTEST_TEMPLATED_F(IGFX_XE_HP_CORE, DrmCommandStreamMultiTileMemExecTestWithCsr, GivenDrmSupportsCompletionFenceAndVmBindWhenCallingCsrExecThenMultipleTagAllocationIsPassed) {
auto &productHelper = device->getProductHelper(); auto &productHelper = device->getProductHelper();
if (productHelper.isL3FlushAfterPostSyncRequired(true)) { if (productHelper.isL3FlushAfterPostSyncSupported(true)) {
GTEST_SKIP(); GTEST_SKIP();
} }