mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Unify programming of atomic command
Change-Id: I13afdb44fb83beaa8673eb6456d2a8edcb6ac047 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
5386f8be86
commit
2717fcae54
@ -5,6 +5,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/command_container/command_encoder.h"
|
||||
#include "shared/source/gen9/hw_cmds.h"
|
||||
|
||||
#include "opencl/source/device_queue/device_queue_hw.h"
|
||||
@ -38,14 +39,11 @@ void DeviceQueueHw<Family>::addArbCheckCmdWa() {
|
||||
|
||||
template <>
|
||||
void DeviceQueueHw<Family>::addMiAtomicCmdWa(uint64_t atomicOpPlaceholder) {
|
||||
auto miAtomic = slbCS.getSpaceForCmd<Family::MI_ATOMIC>();
|
||||
*miAtomic = Family::cmdInitAtomic;
|
||||
miAtomic->setAtomicOpcode(Family::MI_ATOMIC::ATOMIC_OPCODES::ATOMIC_8B_INCREMENT);
|
||||
miAtomic->setReturnDataControl(0x1);
|
||||
miAtomic->setCsStall(0x1);
|
||||
miAtomic->setDataSize(Family::MI_ATOMIC::DATA_SIZE::DATA_SIZE_QWORD);
|
||||
miAtomic->setMemoryAddress(static_cast<uint32_t>(atomicOpPlaceholder & 0x0000FFFFFFFFULL));
|
||||
miAtomic->setMemoryAddressHigh(static_cast<uint32_t>((atomicOpPlaceholder >> 32) & 0x0000FFFFFFFFULL));
|
||||
EncodeAtomic<Family>::programMiAtomic(slbCS,
|
||||
atomicOpPlaceholder,
|
||||
Family::MI_ATOMIC::ATOMIC_OPCODES::ATOMIC_8B_INCREMENT,
|
||||
Family::MI_ATOMIC::DATA_SIZE::DATA_SIZE_QWORD,
|
||||
0x1u, 0x1u);
|
||||
}
|
||||
|
||||
template <>
|
||||
|
Reference in New Issue
Block a user