mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-29 17:13:29 +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
@@ -424,18 +424,34 @@ size_t EncodeSempahore<Family>::getSizeMiSemaphoreWait() {
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeAtomic<Family>::programMiAtomic(MI_ATOMIC *atomic, uint64_t writeAddress,
|
||||
void EncodeAtomic<Family>::programMiAtomic(MI_ATOMIC *atomic,
|
||||
uint64_t writeAddress,
|
||||
ATOMIC_OPCODES opcode,
|
||||
DATA_SIZE dataSize) {
|
||||
DATA_SIZE dataSize,
|
||||
uint32_t returnDataControl,
|
||||
uint32_t csStall) {
|
||||
MI_ATOMIC cmd = Family::cmdInitAtomic;
|
||||
cmd.setAtomicOpcode(opcode);
|
||||
cmd.setDataSize(dataSize);
|
||||
cmd.setMemoryAddress(static_cast<uint32_t>(writeAddress & 0x0000FFFFFFFFULL));
|
||||
cmd.setMemoryAddressHigh(static_cast<uint32_t>(writeAddress >> 32));
|
||||
cmd.setReturnDataControl(returnDataControl);
|
||||
cmd.setCsStall(csStall);
|
||||
|
||||
*atomic = cmd;
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void EncodeAtomic<GfxFamily>::programMiAtomic(LinearStream &commandStream,
|
||||
uint64_t writeAddress,
|
||||
ATOMIC_OPCODES opcode,
|
||||
DATA_SIZE dataSize,
|
||||
uint32_t returnDataControl,
|
||||
uint32_t csStall) {
|
||||
auto miAtomic = commandStream.getSpaceForCmd<MI_ATOMIC>();
|
||||
EncodeAtomic<GfxFamily>::programMiAtomic(miAtomic, writeAddress, opcode, dataSize, returnDataControl, csStall);
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
void EncodeBatchBufferStartOrEnd<Family>::programBatchBufferStart(LinearStream *commandStream,
|
||||
uint64_t address,
|
||||
|
||||
Reference in New Issue
Block a user