Lines Matching defs:mask
89 /* Destructively loop over all of the bits in a mask as in:
98 u_bit_scan(unsigned *mask)
100 const int i = ffs(*mask) - 1;
101 *mask ^= (1u << i);
111 u_bit_scan64(uint64_t *mask)
113 const int i = ffsll(*mask) - 1;
114 *mask ^= (((uint64_t)1) << i);
172 * while (mask) {
175 * u_bit_scan_consecutive_range(&mask, &start, &count);
182 u_bit_scan_consecutive_range(unsigned *mask, int *start, int *count)
184 if (*mask == 0xffffffff) {
187 *mask = 0;
190 *start = ffs(*mask) - 1;
191 *count = ffs(~(*mask >> *start)) - 1;
192 *mask &= ~(((1u << *count) - 1) << *start);
196 u_bit_scan_consecutive_range64(uint64_t *mask, int *start, int *count)
198 if (*mask == ~0ull) {
201 *mask = 0;
204 *start = ffsll(*mask) - 1;
205 *count = ffsll(~(*mask >> *start)) - 1;
206 *mask &= ~(((((uint64_t)1) << *count) - 1) << *start);
351 * Widens the given bit mask by a multiplier, meaning that it will
361 util_widen_mask(uint32_t mask, unsigned multiplier)
364 u_foreach_bit(i, mask)