st/egl: Fix native_mode refresh mode.
authorChia-I Wu <olv@lunarg.com>
Sat, 23 Oct 2010 03:31:29 +0000 (11:31 +0800)
committerChia-I Wu <olv@lunarg.com>
Sat, 23 Oct 2010 03:32:06 +0000 (11:32 +0800)
Define the unit to match _EGLMode's.

src/gallium/state_trackers/egl/common/native_modeset.h
src/gallium/state_trackers/egl/drm/modeset.c

index dee757b..2598082 100644 (file)
@@ -39,7 +39,7 @@ struct native_connector {
 struct native_mode {
    const char *desc;
    int width, height;
-   int refresh_rate;
+   int refresh_rate; /* HZ * 1000 */
 };
 
 /**
index 06a6077..5ed22f7 100644 (file)
@@ -469,8 +469,8 @@ drm_display_get_modes(struct native_display *ndpy,
       drmmode->base.height = drmmode->mode.vdisplay;
       drmmode->base.refresh_rate = drmmode->mode.vrefresh;
       /* not all kernels have vrefresh = refresh_rate * 1000 */
-      if (drmmode->base.refresh_rate > 1000)
-         drmmode->base.refresh_rate = (drmmode->base.refresh_rate + 500) / 1000;
+      if (drmmode->base.refresh_rate < 1000)
+         drmmode->base.refresh_rate *= 1000;
    }
 
    nmodes_return = MALLOC(count * sizeof(*nmodes_return));