Module Name:    xsrc
Committed By:   mrg
Date:           Tue Apr 27 01:22:56 UTC 2021

Modified Files:
        xsrc/external/mit/xf86-video-nouveau/dist/src: drmmode_display.c
            nv_driver.c
        xsrc/external/mit/xprop/include: config.h

Log Message:
merge xf86-video-nouveau 1.0.17 and xprop 1.2.5.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
    xsrc/external/mit/xf86-video-nouveau/dist/src/drmmode_display.c
cvs rdiff -u -r1.3 -r1.4 \
    xsrc/external/mit/xf86-video-nouveau/dist/src/nv_driver.c
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xprop/include/config.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-nouveau/dist/src/drmmode_display.c
diff -u xsrc/external/mit/xf86-video-nouveau/dist/src/drmmode_display.c:1.11 xsrc/external/mit/xf86-video-nouveau/dist/src/drmmode_display.c:1.12
--- xsrc/external/mit/xf86-video-nouveau/dist/src/drmmode_display.c:1.11	Sun Mar  3 11:09:04 2019
+++ xsrc/external/mit/xf86-video-nouveau/dist/src/drmmode_display.c	Tue Apr 27 01:22:55 2021
@@ -162,6 +162,8 @@ drmmode_events = {
 	.prev = &drmmode_events,
 };
 
+static bool warned = false;
+
 static void
 drmmode_event_handler(int fd, unsigned int frame, unsigned int tv_sec,
 		      unsigned int tv_usec, void *event_data)
@@ -169,7 +171,10 @@ drmmode_event_handler(int fd, unsigned i
 	const uint64_t ust = (uint64_t)tv_sec * 1000000 + tv_usec;
 	struct drmmode_event *e = event_data;
 
+	int counter = 0;
+
 	xorg_list_for_each_entry(e, &drmmode_events, head) {
+		counter++;
 		if (e == event_data) {
 			xorg_list_del(&e->head);
 			e->func((void *)(e + 1), e->name, ust, frame);
@@ -177,6 +182,12 @@ drmmode_event_handler(int fd, unsigned i
 			break;
 		}
 	}
+
+	if (counter > 100 && !warned) {
+		xf86DrvMsg(0, X_WARNING,
+			   "Event handler iterated %d times\n", counter);
+		warned = true;
+	}
 }
 
 void
@@ -1548,7 +1559,7 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn
 	}
 
 	ppix = screen->GetScreenPixmap(screen);
-	if (pNv->AccelMethod >= NONE)
+	if (pNv->AccelMethod > NONE)
 		nouveau_bo_ref(pNv->scanout, &drmmode_pixmap(ppix)->bo);
 	screen->ModifyPixmapHeader(ppix, width, height, -1, -1, pitch,
 				   (pNv->AccelMethod > NONE || pNv->ShadowPtr) ?

Index: xsrc/external/mit/xf86-video-nouveau/dist/src/nv_driver.c
diff -u xsrc/external/mit/xf86-video-nouveau/dist/src/nv_driver.c:1.3 xsrc/external/mit/xf86-video-nouveau/dist/src/nv_driver.c:1.4
--- xsrc/external/mit/xf86-video-nouveau/dist/src/nv_driver.c:1.3	Sun Mar  3 09:44:37 2019
+++ xsrc/external/mit/xf86-video-nouveau/dist/src/nv_driver.c	Tue Apr 27 01:22:55 2021
@@ -1084,7 +1084,8 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
 				pNv->Options, OPTION_WFB, FALSE);
 #endif
 
-		pNv->tiled_scanout = TRUE;
+		if (pNv->Architecture >= NV_ARCH_10)
+			pNv->tiled_scanout = TRUE;
 	}
 
 	pNv->ce_enabled =
@@ -1377,6 +1378,9 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL)
 			pNv->wfb_enabled = FALSE;
 #endif
 			pNv->tiled_scanout = FALSE;
+			pScrn->capabilities &= ~(RR_Capability_SourceOutput |
+						 RR_Capability_SourceOffload |
+						 RR_Capability_SinkOutput);
 			pScrn->displayWidth = nv_pitch_align(pNv,
 							     pScrn->virtualX,
 							     pScrn->depth);
@@ -1497,7 +1501,7 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL)
 
 	xf86SetBlackWhitePixels(pScreen);
 
-	if (nouveau_present_init(pScreen))
+	if (pNv->AccelMethod == EXA && nouveau_present_init(pScreen))
 		xf86DrvMsg(pScrn->scrnIndex, X_INFO,
 			   "Hardware support for Present enabled\n");
 	else

Index: xsrc/external/mit/xprop/include/config.h
diff -u xsrc/external/mit/xprop/include/config.h:1.6 xsrc/external/mit/xprop/include/config.h:1.7
--- xsrc/external/mit/xprop/include/config.h:1.6	Sun Mar 11 09:59:14 2018
+++ xsrc/external/mit/xprop/include/config.h	Tue Apr 27 01:22:56 2021
@@ -47,7 +47,7 @@
 #define PACKAGE_NAME "xprop"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "xprop 1.2.3"
+#define PACKAGE_STRING "xprop 1.2.5"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "xprop"
@@ -56,7 +56,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.2.3"
+#define PACKAGE_VERSION "1.2.5"
 
 /* Major version of this package */
 #define PACKAGE_VERSION_MAJOR 1
@@ -65,10 +65,10 @@
 #define PACKAGE_VERSION_MINOR 2
 
 /* Patch version of this package */
-#define PACKAGE_VERSION_PATCHLEVEL 3
+#define PACKAGE_VERSION_PATCHLEVEL 5
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "1.2.3"
+#define VERSION "1.2.5"

Reply via email to