Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[xsrc/trunk]: xsrc/external/mit/xf86-video-intel/dist/src Use UXA (not SNA) b...



details:   https://anonhg.NetBSD.org/xsrc/rev/fc71d6c8779e
branches:  trunk
changeset: 10495:fc71d6c8779e
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sat Jun 27 17:09:59 2020 +0000

description:
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.

diffstat:

 external/mit/xf86-video-intel/dist/src/intel_module.c |  15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diffs (33 lines):

diff -r 6d7782df15ec -r fc71d6c8779e external/mit/xf86-video-intel/dist/src/intel_module.c
--- a/external/mit/xf86-video-intel/dist/src/intel_module.c     Mon Jun 08 15:01:59 2020 +0000
+++ b/external/mit/xf86-video-intel/dist/src/intel_module.c     Sat Jun 27 17:09:59 2020 +0000
@@ -567,9 +567,8 @@
        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 @@
 #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:



Home | Main Index | Thread Index | Old Index