mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
Create method adjustWalkOrder
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b3814e41b4
commit
b2021498e2
@@ -103,6 +103,8 @@ struct EncodeDispatchKernel {
|
||||
static void adjustTimestampPacket(WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
|
||||
static void setupPostSyncMocs(WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
static void adjustWalkOrder(WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder);
|
||||
};
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
@@ -504,4 +504,7 @@ inline void EncodeMiArbCheck<Family>::adjust(MI_ARB_CHECK &miArbCheck) {
|
||||
template <typename Family>
|
||||
void EncodeDispatchKernel<Family>::setupPostSyncMocs(WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment) {}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeDispatchKernel<Family>::adjustWalkOrder(WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder) {}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -444,6 +444,7 @@ void EncodeDispatchKernel<Family>::encodeThreadData(WALKER_TYPE &walkerCmd,
|
||||
|
||||
walkerCmd.setGenerateLocalId(1);
|
||||
walkerCmd.setWalkOrder(requiredWorkGroupOrder);
|
||||
adjustWalkOrder(walkerCmd, requiredWorkGroupOrder);
|
||||
}
|
||||
if (inlineDataProgrammingRequired == true) {
|
||||
walkerCmd.setEmitInlineParameter(1);
|
||||
@@ -743,4 +744,7 @@ inline void EncodeStoreMMIO<Family>::appendFlags(MI_STORE_REGISTER_MEM *storeReg
|
||||
storeRegMem->setWorkloadPartitionIdOffsetEnable(workloadPartition);
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeDispatchKernel<Family>::adjustWalkOrder(WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder) {}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -17,9 +17,11 @@ constexpr uint32_t walkOrderPossibilties = 6u;
|
||||
constexpr uint8_t X = 0;
|
||||
constexpr uint8_t Y = 1;
|
||||
constexpr uint8_t Z = 2;
|
||||
constexpr std::array<uint8_t, 3> compatibleDimensionOrders[walkOrderPossibilties] = {{X, Y, Z}, // 0 1 2
|
||||
constexpr std::array<uint8_t, 3> linearWalk = {X, Y, Z};
|
||||
constexpr std::array<uint8_t, 3> yOrderWalk = {Y, X, Z};
|
||||
constexpr std::array<uint8_t, 3> compatibleDimensionOrders[walkOrderPossibilties] = {linearWalk, // 0 1 2
|
||||
{X, Z, Y}, // 0 2 1
|
||||
{Y, X, Z}, // 1 0 2
|
||||
yOrderWalk, // 1 0 2
|
||||
{Z, X, Y}, // 1 2 0
|
||||
{Y, Z, X}, // 2 0 1
|
||||
{Z, Y, X}}; // 2 1 0
|
||||
|
||||
Reference in New Issue
Block a user