Module: Mesa Branch: master Commit: dbaa84515318c3cf1d4be67fc10ca3bd6bc00e0f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbaa84515318c3cf1d4be67fc10ca3bd6bc00e0f
Author: Chia-I Wu <[email protected]> Date: Sun Feb 21 10:11:54 2010 +0800 st/egl: Properly convert vrefresh to refresh rate. Some kernels have vrefresh = (refresh rate * 1000) while others don't. Use some heuristics here. --- src/gallium/state_trackers/egl/kms/native_kms.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/src/gallium/state_trackers/egl/kms/native_kms.c b/src/gallium/state_trackers/egl/kms/native_kms.c index 91cefc5..ee6ab2e 100644 --- a/src/gallium/state_trackers/egl/kms/native_kms.c +++ b/src/gallium/state_trackers/egl/kms/native_kms.c @@ -499,7 +499,10 @@ kms_display_get_modes(struct native_display *ndpy, kmode->base.desc = kmode->mode.name; kmode->base.width = kmode->mode.hdisplay; kmode->base.height = kmode->mode.vdisplay; - kmode->base.refresh_rate = kmode->mode.vrefresh / 1000; + kmode->base.refresh_rate = kmode->mode.vrefresh; + /* not all kernels have vrefresh = refresh_rate * 1000 */ + if (kmode->base.refresh_rate > 1000) + kmode->base.refresh_rate = (kmode->base.refresh_rate + 500) / 1000; } nmodes_return = malloc(count * sizeof(*nmodes_return)); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
