struct {
int fd;
} drm;
+ uint32_t crtc_allocator;
struct tty *tty;
};
}
for (i = 0; i < resources->count_crtcs; i++) {
- if (encoder->possible_crtcs & (1 << i))
+ if (encoder->possible_crtcs & (1 << i) &&
+ !(ec->crtc_allocator & (1 << i)))
break;
}
if (i == resources->count_crtcs) {
wlsc_output_init(&output->base, &ec->base, 0, 0,
mode->hdisplay, mode->vdisplay, 0);
+ ec->crtc_allocator |= (1 << i);
output->crtc_id = resources->crtcs[i];
output->connector_id = connector->connector_id;
output->mode = *mode;