|
8 | 8 | #pragma once
|
9 | 9 |
|
10 | 10 | #include "shared/source/command_container/command_encoder.h"
|
| 11 | +#include "shared/source/command_container/walker_partition_interface.h" |
11 | 12 | #include "shared/source/debug_settings/debug_settings_manager.h"
|
12 | 13 | #include "shared/source/helpers/basic_math.h"
|
13 | 14 | #include "shared/source/helpers/hw_helper.h"
|
|
18 | 19 |
|
19 | 20 | namespace WalkerPartition {
|
20 | 21 |
|
21 |
| -struct WalkerPartitionArgs { |
22 |
| - uint64_t workPartitionAllocationGpuVa = 0; |
23 |
| - uint32_t partitionCount = 0; |
24 |
| - uint32_t tileCount = 0; |
25 |
| - bool emitBatchBufferEnd = false; |
26 |
| - bool secondaryBatchBuffer = false; |
27 |
| - bool synchronizeBeforeExecution = false; |
28 |
| - bool crossTileAtomicSynchronization = false; |
29 |
| - bool semaphoreProgrammingRequired = false; |
30 |
| - bool staticPartitioning = false; |
31 |
| - bool emitSelfCleanup = false; |
32 |
| - bool useAtomicsForSelfCleanup = false; |
33 |
| - bool initializeWparidRegister = false; |
34 |
| - bool emitPipeControlStall = false; |
35 |
| - bool preferredStaticPartitioning = false; |
36 |
| -}; |
37 |
| - |
38 | 22 | template <typename GfxFamily>
|
39 | 23 | using COMPUTE_WALKER = typename GfxFamily::COMPUTE_WALKER;
|
40 | 24 | template <typename GfxFamily>
|
@@ -62,26 +46,6 @@ using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL;
|
62 | 46 | template <typename GfxFamily>
|
63 | 47 | using MI_STORE_DATA_IMM = typename GfxFamily::MI_STORE_DATA_IMM;
|
64 | 48 |
|
65 |
| -constexpr uint32_t wparidCCSOffset = 0x221C; |
66 |
| -constexpr uint32_t addressOffsetCCSOffset = 0x23B4; |
67 |
| -constexpr uint32_t predicationMaskCCSOffset = 0x21FC; |
68 |
| - |
69 |
| -constexpr uint32_t generalPurposeRegister0 = 0x2600; |
70 |
| -constexpr uint32_t generalPurposeRegister1 = 0x2608; |
71 |
| -constexpr uint32_t generalPurposeRegister2 = 0x2610; |
72 |
| -constexpr uint32_t generalPurposeRegister3 = 0x2618; |
73 |
| -constexpr uint32_t generalPurposeRegister4 = 0x2620; |
74 |
| -constexpr uint32_t generalPurposeRegister5 = 0x2628; |
75 |
| -constexpr uint32_t generalPurposeRegister6 = 0x2630; |
76 |
| - |
77 |
| -struct BatchBufferControlData { |
78 |
| - uint32_t partitionCount = 0u; |
79 |
| - uint32_t tileCount = 0u; |
80 |
| - uint32_t inTileCount = 0u; |
81 |
| - uint32_t finalSyncTileCount = 0u; |
82 |
| -}; |
83 |
| -static constexpr inline size_t dynamicPartitioningFieldsForCleanupCount = sizeof(BatchBufferControlData) / sizeof(uint32_t) - 1; |
84 |
| - |
85 | 49 | template <typename Command>
|
86 | 50 | Command *putCommand(void *&inputAddress, uint32_t &totalBytesProgrammed) {
|
87 | 51 | totalBytesProgrammed += sizeof(Command);
|
@@ -631,13 +595,6 @@ void constructDynamicallyPartitionedCommandBuffer(void *cpuPointer,
|
631 | 595 | }
|
632 | 596 | }
|
633 | 597 |
|
634 |
| -struct StaticPartitioningControlSection { |
635 |
| - uint32_t synchronizeBeforeWalkerCounter = 0; |
636 |
| - uint32_t synchronizeAfterWalkerCounter = 0; |
637 |
| - uint32_t finalSyncTileCounter = 0; |
638 |
| -}; |
639 |
| -static constexpr inline size_t staticPartitioningFieldsForCleanupCount = sizeof(StaticPartitioningControlSection) / sizeof(uint32_t) - 1; |
640 |
| - |
641 | 598 | template <typename GfxFamily>
|
642 | 599 | uint64_t computeStaticPartitioningControlSectionOffset(WalkerPartitionArgs &args) {
|
643 | 600 | const auto beforeExecutionSyncAtomicSize = args.synchronizeBeforeExecution
|
|
0 commit comments