Fix mistake in atomic bitmap
Internally values are stored as 32bit integers, no idea why i thought they were 8 bit.
This commit is contained in:
@@ -72,9 +72,9 @@ typedef unsigned int BLI_bitmap;
|
||||
|
||||
#define BLI_BITMAP_TEST_AND_SET_ATOMIC(_bitmap, _index) \
|
||||
(CHECK_TYPE_ANY(_bitmap, BLI_bitmap *, const BLI_bitmap *), \
|
||||
(atomic_fetch_and_or_uint8((uint8_t*)&(_bitmap)[(_index) >> _BITMAP_POWER], \
|
||||
(1u << ((_index) & _BITMAP_MASK))) & \
|
||||
(1u << ((_index) & _BITMAP_MASK))))
|
||||
(atomic_fetch_and_or_uint32((uint32_t*)&(_bitmap)[(_index) >> _BITMAP_POWER], \
|
||||
(1u << ((_index) & _BITMAP_MASK))) & \
|
||||
(1u << ((_index) & _BITMAP_MASK))))
|
||||
|
||||
#define BLI_BITMAP_TEST_BOOL(_bitmap, _index) \
|
||||
(CHECK_TYPE_ANY(_bitmap, BLI_bitmap *, const BLI_bitmap *), \
|
||||
|
||||
Reference in New Issue
Block a user