1313#include " shared/source/direct_submission/direct_submission_hw.h"
1414#include " shared/source/direct_submission/direct_submission_hw_diagnostic_mode.h"
1515#include " shared/source/helpers/flush_stamp.h"
16+ #include " shared/source/helpers/logical_state_helper.h"
1617#include " shared/source/helpers/ptr_math.h"
1718#include " shared/source/memory_manager/allocation_properties.h"
1819#include " shared/source/memory_manager/graphics_allocation.h"
@@ -34,6 +35,7 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
3435 : ringBuffers(RingBufferUse::initialRingBufferCount), osContext(inputParams.osContext), rootDeviceIndex(inputParams.rootDeviceIndex) {
3536 memoryManager = inputParams.memoryManager ;
3637 globalFenceAllocation = inputParams.globalFenceAllocation ;
38+ logicalStateHelper = inputParams.logicalStateHelper ;
3739 hwInfo = inputParams.rootDeviceEnvironment .getHardwareInfo ();
3840 memoryOperationHandler = inputParams.rootDeviceEnvironment .memoryOperationsInterface .get ();
3941
@@ -642,7 +644,11 @@ size_t DirectSubmissionHw<GfxFamily, Dispatcher>::getDiagnosticModeSection() {
642644template <typename GfxFamily, typename Dispatcher>
643645void DirectSubmissionHw<GfxFamily, Dispatcher>::dispatchSystemMemoryFenceAddress() {
644646 UNRECOVERABLE_IF (!this ->globalFenceAllocation );
645- EncodeMemoryFence<GfxFamily>::encodeSystemMemoryFence (ringCommandStream, this ->globalFenceAllocation );
647+ EncodeMemoryFence<GfxFamily>::encodeSystemMemoryFence (ringCommandStream, this ->globalFenceAllocation , this ->logicalStateHelper );
648+
649+ if (logicalStateHelper) {
650+ logicalStateHelper->writeStreamInline (ringCommandStream);
651+ }
646652}
647653
648654template <typename GfxFamily, typename Dispatcher>
0 commit comments