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:
Sergey Sharybin
2018-08-01 10:52:01 +02:00
parent 63dc52c66e
commit 9e2f678ba2

View File

@@ -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 *), \