As far as I concern, this code is aimed at converting the HashEntry* to uint* and lock the offset at the selected entry. However, the struct is 32 bytes long, hence the lock place should be d_hashUI[8 * idxLastEntryInBucket + 4] or d_hashUI[(3 << idxLastEntryInBucket) + 4]
This incorrect lock operation might not significantly influence the result, but could cause minor read-write inconsistency.
I have been reading the code and got confused with the code in
insertHashEntry
insideVoxelUtilHashSDF.h
To execute an atom operation, the code writes
As far as I concern, this code is aimed at converting the
HashEntry*
touint*
and lock theoffset
at the selected entry. However, the struct is 32 bytes long, hence the lock place should bed_hashUI[8 * idxLastEntryInBucket + 4]
ord_hashUI[(3 << idxLastEntryInBucket) + 4]
This incorrect lock operation might not significantly influence the result, but could cause minor read-write inconsistency.