glx: Simplify __glxGetMscRate, it only needs the screen, not a drawable

Useful in its own right, but also needed for adaptive vsync.

No regressions in the piglit glx-oml-sync-control-getmscrate test.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Lauri Kasanen 2013-12-15 12:37:55 +02:00 committed by Ian Romanick
parent 6b51113981
commit fe2079c4c0
3 changed files with 4 additions and 6 deletions

View file

@ -223,7 +223,7 @@ __driGetMSCRate(__DRIdrawable *draw,
{
__GLXDRIdrawable *glxDraw = loaderPrivate;
return __glxGetMscRate(glxDraw, numerator, denominator);
return __glxGetMscRate(glxDraw->psc, numerator, denominator);
}
_X_HIDDEN const __DRIsystemTimeExtension systemTimeExtension = {

View file

@ -781,7 +781,7 @@ extern GLboolean __glXGetMscRateOML(Display * dpy, GLXDrawable drawable,
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
extern GLboolean
__glxGetMscRate(__GLXDRIdrawable *glxDraw,
__glxGetMscRate(struct glx_screen *psc,
int32_t * numerator, int32_t * denominator);
/* So that dri2.c:DRI2WireToEvent() can access

View file

@ -2095,16 +2095,14 @@ __glXGetSyncValuesOML(Display * dpy, GLXDrawable drawable,
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
_X_HIDDEN GLboolean
__glxGetMscRate(__GLXDRIdrawable *glxDraw,
__glxGetMscRate(struct glx_screen *psc,
int32_t * numerator, int32_t * denominator)
{
#ifdef XF86VIDMODE
struct glx_screen *psc;
XF86VidModeModeLine mode_line;
int dot_clock;
int i;
psc = glxDraw->psc;
if (XF86VidModeQueryVersion(psc->dpy, &i, &i) &&
XF86VidModeGetModeLine(psc->dpy, psc->scr, &dot_clock, &mode_line)) {
unsigned n = dot_clock * 1000;
@ -2180,7 +2178,7 @@ __glXGetMscRateOML(Display * dpy, GLXDrawable drawable,
if (draw == NULL)
return False;
return __glxGetMscRate(draw, numerator, denominator);
return __glxGetMscRate(draw->psc, numerator, denominator);
#else
(void) dpy;
(void) drawable;