compositor-drm: Fix refresh rate selection in drm_output_switch_mode
The matching logic in choose_mode() compared refresh rate of a drm_mode candidate mode expressed in Hz against the requested refresh rate of the target weston_mode expressed in milliHz, so the match always failed and the logic always ended up the mode with the highest refresh rate for a given resolution, instead of the one matching the requested rate. Match proper fields to fix this. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
parent
9f4d655494
commit
872797cdf5
|
@ -1225,8 +1225,8 @@ choose_mode (struct drm_output *output, struct weston_mode *target_mode)
|
|||
wl_list_for_each(mode, &output->base.mode_list, base.link) {
|
||||
if (mode->mode_info.hdisplay == target_mode->width &&
|
||||
mode->mode_info.vdisplay == target_mode->height) {
|
||||
if (mode->mode_info.vrefresh == target_mode->refresh ||
|
||||
target_mode->refresh == 0) {
|
||||
if (mode->base.refresh == target_mode->refresh ||
|
||||
target_mode->refresh == 0) {
|
||||
return mode;
|
||||
} else if (!tmp_mode)
|
||||
tmp_mode = mode;
|
||||
|
|
Loading…
Reference in New Issue