aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/configure.ac6
-rw-r--r--xorg-server/present/present.c33
-rw-r--r--xorg-server/xkeyboard-config/rules/base.extras.xml.in12
3 files changed, 34 insertions, 17 deletions
diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac
index 7ec19976b..8f823863d 100644
--- a/xorg-server/configure.ac
+++ b/xorg-server/configure.ac
@@ -26,9 +26,9 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.14.99.905, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2013-12-19"
-RELEASE_NAME="Kraken"
+AC_INIT([xorg-server], 1.15.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-12-27"
+RELEASE_NAME="Egg Nog"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AC_USE_SYSTEM_EXTENSIONS
diff --git a/xorg-server/present/present.c b/xorg-server/present/present.c
index 96ca99241..638bfb965 100644
--- a/xorg-server/present/present.c
+++ b/xorg-server/present/present.c
@@ -525,6 +525,7 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
WindowPtr window = vblank->window;
ScreenPtr screen = window->drawable.pScreen;
present_screen_priv_ptr screen_priv = present_screen_priv(screen);
+ uint8_t mode;
if (vblank->wait_fence) {
if (!present_fence_check_triggered(vblank->wait_fence)) {
@@ -604,7 +605,20 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence);
}
- present_vblank_notify(vblank, vblank->kind, PresentCompleteModeCopy, ust, crtc_msc);
+
+ /* Compute correct CompleteMode
+ */
+ if (vblank->kind == PresentCompleteKindPixmap) {
+ if (vblank->pixmap && vblank->window)
+ mode = PresentCompleteModeCopy;
+ else
+ mode = PresentCompleteModeSkip;
+ }
+ else
+ mode = PresentCompleteModeCopy;
+
+
+ present_vblank_notify(vblank, vblank->kind, mode, ust, crtc_msc);
present_vblank_destroy(vblank);
}
@@ -663,10 +677,18 @@ present_pixmap(WindowPtr window,
if (crtc_msc >= target_msc) {
if (divisor != 0) {
target_msc = crtc_msc - (crtc_msc % divisor) + remainder;
- if (target_msc <= crtc_msc)
- target_msc += divisor;
- } else
+ if (options & PresentOptionAsync) {
+ if (target_msc < crtc_msc)
+ target_msc += divisor;
+ } else {
+ if (target_msc <= crtc_msc)
+ target_msc += divisor;
+ }
+ } else {
target_msc = crtc_msc;
+ if (!(options & PresentOptionAsync))
+ target_msc++;
+ }
}
/*
@@ -681,6 +703,9 @@ present_pixmap(WindowPtr window,
if (!vblank->pixmap)
continue;
+ if (!vblank->queued)
+ continue;
+
if (vblank->crtc != target_crtc || vblank->target_msc != target_msc)
continue;
diff --git a/xorg-server/xkeyboard-config/rules/base.extras.xml.in b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
index aa47e3da0..dd3251b6e 100644
--- a/xorg-server/xkeyboard-config/rules/base.extras.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
@@ -689,20 +689,12 @@
<variantList>
<variant>
<configItem>
- <name>dvorak_a5</name>
- <_description>Swedish (Dvorak A5)</_description>
- </configItem>
- </variant>
- </variantList>
- <variantList>
- <variant>
- <configItem>
<name>sun_type6</name>
<_description>Swedish (Sun Type 6/7)</_description>
</configItem>
</variant>
- </variantList>
- </layout>
+ </variantList>
+ </layout>
<layout>
<configItem>
<name>ch</name>