Fix GLX initialization with 1.20

This commit is contained in:
Adam Jackson 2018-06-06 15:46:16 -04:00
parent 291b89b641
commit 19607f99f9
2 changed files with 31 additions and 18 deletions

View File

@ -1,7 +1,6 @@
diff --git a/unix/xserver/hw/vnc/xorg-version.h b/unix/xserver/hw/vnc/xorg-version.h
index 9d1c0eb..79ff79a 100644
--- a/unix/xserver/hw/vnc/xorg-version.h
+++ b/unix/xserver/hw/vnc/xorg-version.h
diff -up tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h
--- tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h.jx 2017-05-16 09:53:28.000000000 -0400
+++ tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h 2018-06-06 15:42:07.388157181 -0400
@@ -52,8 +52,10 @@
#define XORG 118
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (19 * 100000) + (99 * 1000))
@ -12,16 +11,15 @@ index 9d1c0eb..79ff79a 100644
-#error "X.Org newer than 1.19 is not supported"
+#error "X.Org newer than 1.20 is not supported"
#endif
#endif
diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
index 93d8af4..1517809 100644
--- a/unix/xserver/hw/vnc/xvnc.c
+++ b/unix/xserver/hw/vnc/xvnc.c
diff -up tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c.jx tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c
--- tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c.jx 2017-05-16 09:53:28.000000000 -0400
+++ tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c 2018-06-06 15:42:58.384936550 -0400
@@ -202,6 +202,7 @@ vfbBitsPerPixel(int depth)
static void vfbFreeFramebufferMemory(vfbFramebufferInfoPtr pfb);
+#if XORG < 120
#ifdef DPMSExtension
/* Why support DPMS? Because stupid modern desktop environments
@ -31,13 +29,13 @@ index 93d8af4..1517809 100644
}
#endif
+#endif
#if XORG < 111
void ddxGiveUp()
@@ -1491,6 +1491,12 @@ vfbCloseScreen(ScreenPtr pScreen)
@@ -1491,6 +1493,12 @@ vfbCloseScreen(ScreenPtr pScreen)
#endif
}
+#if XORG >= 120
+static void vncDPMS(ScreenPtr pScreen, int level)
+{
@ -47,12 +45,24 @@ index 93d8af4..1517809 100644
static Bool
#if XORG < 113
vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
@@ -1661,6 +1667,9 @@ vfbScreenInit(ScreenPtr pScreen, int arg
@@ -1661,6 +1669,9 @@ vfbScreenInit(ScreenPtr pScreen, int arg
if (!ret) return FALSE;
#endif
+#if XORG >= 120
+ pScreen->DPMS = vncDPMS;
+#endif
return TRUE;
@@ -1696,7 +1707,9 @@ InitOutput(ScreenInfo *scrInfo, int argc
vncPrintBanner();
-#if XORG >= 113
+#if XORG >= 120
+ xorgGlxCreateVendor();
+#elif XORG >= 113
#ifdef GLXEXT
if (serverGeneration == 1)
#if XORG >= 116

View File

@ -1,6 +1,6 @@
Name: tigervnc
Version: 1.8.0
Release: 8%{?dist}
Release: 9%{?dist}
Summary: A TigerVNC remote display system
%global _hardened_build 1
@ -321,6 +321,9 @@ install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-libvnc.c
%{_datadir}/icons/hicolor/*/apps/*
%changelog
* Wed Jun 06 2018 Adam Jackson <ajax@redhat.com> - 1.8.0-9
- Fix GLX initialization with 1.20
* Wed Apr 04 2018 Adam Jackson <ajax@redhat.com> - 1.8.0-8
- Rebuild for xserver 1.20