-
Adam Jackson authored
drmmode_set_desired_modes (reachable from CreateScreenResources, EnterVT, etc.) currently works by doing ->set_mode_major on each CRTC. This means initialization and VT switch are more flickery than they need to be. It also means they're more fragile than they need to be, as (especially for EnterVT) we're not trying very hard to ensure the intermediate states are valid. This patch introduces drmmode_set_mode_atomic, which blasts the entire RANDR state into the kernel. We change drmmode_set_desired_modes and drmmode_xf86crtc_resize to use this instead of walking each CRTC. We also change drmmode_crtc_set_mode to use this, so that client RANDR requests (operating CRTC-at-a-time, since RANDR doesn't have atomic changes yet) use the same code paths. Signed-off-by: Adam Jackson <ajax@redhat.com>
cb58fc2f