mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +08:00
refactor: pass WG count to helper method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
42bf58a800
commit
9c2acfe5b2
@@ -55,7 +55,7 @@ template <typename GfxFamily>
|
||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL<GfxFamily>::POST_SYNC_OPERATION;
|
||||
|
||||
template <typename GfxFamily, typename WalkerType>
|
||||
void appendWalkerFields(WalkerType &walkerCmd, uint32_t tileCount);
|
||||
void appendWalkerFields(WalkerType &walkerCmd, uint32_t tileCount, uint32_t workgroupCount);
|
||||
|
||||
template <typename Command>
|
||||
Command *putCommand(void *&inputAddress, uint32_t &totalBytesProgrammed) {
|
||||
@@ -509,7 +509,7 @@ void *programPartitionedWalker(void *&inputAddress, uint32_t &totalBytesProgramm
|
||||
|
||||
inputWalker->setWorkloadPartitionEnable(true);
|
||||
|
||||
auto workgroupCount = 0u;
|
||||
uint32_t workgroupCount = 0;
|
||||
if (partitionType == WalkerType::PARTITION_TYPE::PARTITION_TYPE_X) {
|
||||
workgroupCount = inputWalker->getThreadGroupIdXDimension();
|
||||
} else if (partitionType == WalkerType::PARTITION_TYPE::PARTITION_TYPE_Y) {
|
||||
@@ -523,9 +523,9 @@ void *programPartitionedWalker(void *&inputAddress, uint32_t &totalBytesProgramm
|
||||
} else {
|
||||
inputWalker->setPartitionSize(Math::divideAndRoundUp(workgroupCount, partitionCount));
|
||||
}
|
||||
}
|
||||
|
||||
appendWalkerFields<GfxFamily, WalkerType>(*inputWalker, tileCount);
|
||||
appendWalkerFields<GfxFamily, WalkerType>(*inputWalker, tileCount, workgroupCount);
|
||||
}
|
||||
|
||||
*computeWalker = *inputWalker;
|
||||
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
|
||||
namespace WalkerPartition {
|
||||
template <typename GfxFamily, typename WalkerType>
|
||||
void appendWalkerFields(WalkerType &walkerCmd, uint32_t tileCount) {
|
||||
void appendWalkerFields(WalkerType &walkerCmd, uint32_t tileCount, uint32_t workgroupCount) {
|
||||
}
|
||||
} // namespace WalkerPartition
|
||||
|
||||
@@ -26,4 +26,4 @@ template void ImplicitScalingDispatch<Family>::dispatchCommands<DefaultWalkerTyp
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<DefaultWalkerType>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
} // namespace NEO
|
||||
|
||||
template void WalkerPartition::appendWalkerFields<NEO::Family, NEO::DefaultWalkerType>(NEO::DefaultWalkerType &walkerCmd, uint32_t tileCount);
|
||||
template void WalkerPartition::appendWalkerFields<NEO::Family, NEO::DefaultWalkerType>(NEO::DefaultWalkerType &walkerCmd, uint32_t tileCount, uint32_t workgroupCount);
|
||||
|
||||
@@ -39,4 +39,4 @@ template void ImplicitScalingDispatch<Family>::dispatchCommands<DefaultWalkerTyp
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<DefaultWalkerType>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
} // namespace NEO
|
||||
|
||||
template void WalkerPartition::appendWalkerFields<NEO::Family, NEO::DefaultWalkerType>(NEO::DefaultWalkerType &walkerCmd, uint32_t tileCount);
|
||||
template void WalkerPartition::appendWalkerFields<NEO::Family, NEO::DefaultWalkerType>(NEO::DefaultWalkerType &walkerCmd, uint32_t tileCount, uint32_t workgroupCount);
|
||||
|
||||
@@ -26,4 +26,4 @@ template void ImplicitScalingDispatch<Family>::dispatchCommands<DefaultWalkerTyp
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<DefaultWalkerType>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
} // namespace NEO
|
||||
|
||||
template void WalkerPartition::appendWalkerFields<NEO::Family, NEO::DefaultWalkerType>(NEO::DefaultWalkerType &walkerCmd, uint32_t tileCount);
|
||||
template void WalkerPartition::appendWalkerFields<NEO::Family, NEO::DefaultWalkerType>(NEO::DefaultWalkerType &walkerCmd, uint32_t tileCount, uint32_t workgroupCount);
|
||||
|
||||
Reference in New Issue
Block a user