Module Name: xsrc
Committed By: tsutsui
Date: Sat Jun 27 17:09:59 UTC 2020
Modified Files:
xsrc/external/mit/xf86-video-intel/dist/src: intel_module.c
Log Message:
Use UXA (not SNA) by default on Intel Gen3/4/5 chipsets (except 915).
This works around PR/54995 (screen corruption on N455)
and PR/55198 (X freezes/hangs on 965GM). Ok'ed by mrg@.
Should be pulled up to netbsd-9.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 \
xsrc/external/mit/xf86-video-intel/dist/src/intel_module.c
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-intel/dist/src/intel_module.c
diff -u xsrc/external/mit/xf86-video-intel/dist/src/intel_module.c:1.1.1.4 xsrc/external/mit/xf86-video-intel/dist/src/intel_module.c:1.2
--- xsrc/external/mit/xf86-video-intel/dist/src/intel_module.c:1.1.1.4 Wed Mar 20 06:34:02 2019
+++ xsrc/external/mit/xf86-video-intel/dist/src/intel_module.c Sat Jun 27 17:09:59 2020
@@ -567,9 +567,8 @@ _xf86findDriver(const char *ident, XF86C
return NULL;
}
-static enum accel_method { NOACCEL, SNA, UXA } get_accel_method(void)
+static enum accel_method { NOACCEL, SNA, UXA } get_accel_method(enum accel_method accel_method)
{
- enum accel_method accel_method = DEFAULT_ACCEL_METHOD;
XF86ConfDevicePtr dev;
if (hosted())
@@ -641,7 +640,17 @@ intel_scrn_create(DriverPtr driver,
#endif
#if KMS
- switch (get_accel_method()) {
+ enum accel_method default_accel_method = DEFAULT_ACCEL_METHOD;
+ /*
+ * XXX
+ * Use UXA by default for Gen3/4/5 chipsets (except 915) to avoid
+ * screen corruption etc. (PR/54995, PR/55198)
+ */
+ if ((unsigned)((struct intel_device_info *)match_data)->gen > 030 &&
+ (unsigned)((struct intel_device_info *)match_data)->gen < 060)
+ default_accel_method = UXA;
+
+ switch (get_accel_method(default_accel_method)) {
#if USE_SNA
case NOACCEL:
case SNA: