Lines Matching defs:iter
746 drmModeFormatModifierIterator *iter)
752 assert(blob && iter);
761 if (iter->fmt_idx >= fmt_mod_blob->count_formats ||
762 iter->mod_idx >= fmt_mod_blob->count_modifiers)
765 iter->fmt = blob_formats[iter->fmt_idx];
766 iter->mod = DRM_FORMAT_MOD_INVALID;
769 while (iter->mod_idx < fmt_mod_blob->count_modifiers) {
770 mod = &blob_modifiers[iter->mod_idx++];
775 if (iter->fmt_idx < mod->offset ||
776 iter->fmt_idx >= mod->offset + 64)
778 if (!(mod->formats & (1 << (iter->fmt_idx - mod->offset))))
781 iter->mod = mod->modifier;
785 if (iter->mod_idx == fmt_mod_blob->count_modifiers) {
786 iter->mod_idx = 0;
787 iter->fmt_idx++;
798 * Iterate over formats first and then over modifiers. On each call, iter->fmt
800 * iter->fmt with the next format, or exit if there aren't any left.
805 * @iter: input and output iterator data. Iter data must be initialised to zero
810 drmModeFormatModifierIterator *iter)
815 if (!blob || !iter)
818 tmp.fmt_idx = iter->fmt_idx;
819 tmp.mod_idx = iter->mod_idx;
831 *iter = tmp;