~ubuntu-branches/ubuntu/oneiric/xorg-server/oneiric-201109091216

« back to all changes in this revision

Viewing changes to debian/patches/214_glx_dri_searchdirs.patch

  • Committer: Bazaar Package Importer
  • Author(s): Christopher James Halse Rogers, Christopher James Halse Rogers, Timo Aaltonen, Chase Douglas
  • Date: 2011-02-23 09:40:07 UTC
  • mfrom: (1.1.39 upstream) (0.1.22 experimental)
  • Revision ID: james.westby@ubuntu.com-20110223094007-xqwcet0zcbelhj56
Tags: 2:1.9.99.902-2ubuntu1
[ Christopher James Halse Rogers ]
* Merge from Debian experimental.  Remaining Ubuntu changes:
  - rules:
    + Disable SELinux, libaudit-dev is not in main yet. (LP #406226)
    + Enable xcsecurity. (LP #247537)
    + Add --with-extra-module-dir to support GL alternatives.
    + Mention Ubuntu support in builderstring rather than package uploader's
      email address.
  - control:
    + Xvfb depends on xauth, x11-xkb-utils. (LP #500102)
    + Add breaks for incompatible drivers. (LP #614993)
    + Drop libaudit-dev from build-deps.
    + Build-depend on newer mesa to pick up DRI search paths variable.
  - local/xvfb-run*: Add correct docs about error codes. (LP #328205)
  - debian/patches:
    + 100_rethrow_signals.patch:
      When aborting, re-raise signals for apport
    + 105_nvidia_fglrx_autodetect.patch:
      Load proprietary drivers automatically when installed.
    + 109_fix-swcursor-crash.patch:
      Avoid dereferencing null pointer while reloading cursors during
      resume. (LP: #371405)
    + 111_armel-drv-fallbacks.patch:
      Add support for armel driver fallbacks.
    + 121_only_switch_vt_when_active.diff:
      Add a check to prevent the X server from changing the VT when killing
      GDM from the console.
    + 122_xext_fix_card32_overflow_in_xauth.patch:
      Fix server crash when “xauth generate” is called with large timeout.
    + 157_check_null_modes.patch, 162_null_crtc_in_rotation.patch,
      166_nullptr_xinerama_keyrepeat.patch, 167_nullptr_xisbread.patch
      169_mipointer_nullptr_checks.patch,
      172_cwgetbackingpicture_nullptr_check.patch:
      Fix various segfaults in xserver by checking pointers for NULL
      values before dereferencing them.
    + 165_man_xorg_conf_no_device_ident.patch
      Correct man page
    + 168_glibc_trace_to_stderr.patch:
      Report abort traces to stderr instead of terminal
    + 184_virtual_devices_autodetect.patch:
      Use vesa for qemu device, which is not supported by cirrus
    + 188_default_primary_to_first_busid.patch:
      Pick the first device and carry on (LP: #459512)
    + 190_cache-xkbcomp_output_for_fast_start_up.patch:
    + 191-Xorg-add-an-extra-module-path.patch:
      Add support for the alternatives module path.
    + 198_nohwaccess.patch:
      Adds a -nohwaccess argument to make X not access the hardware
      ports directly.
    + 200_randr-null.patch:
      Clarify a pointer initialization.
    + 206_intel_8xx_default_to_fbdev.patch:
      Makes 8xx class intel GPUs default to fbdev for stability. (LP: #633593)
    + 208_switch_on_release.diff:
      Switch keyboard layouts on key-release rather than key-press
        (LP #36812)
    + 209_add_legacy_bgnone_option.patch:
      Add -nr as a synonym for -background none until all ?DM are updated for
        the new option.
    + 210_pixman_null_ptr_check.patch: 
      Catch NULL pointer access after pixman_image_create_bits() failure
        (LP #705078)
    + Add 213_xichangehierarchy-check-oom.patch:
      Add NULL pointer check for out-of-memory conditions. (LP #720445)
    + debian/patches/214_glx_dri_searchdirs.patch:
      Search in same paths as mesa for DRI drivers for AIGLX so we can handle
      UMS fallback for radeon gracefully.
* 211_glx_fix_bindtextimageext_length_check.patch:
* 212_fix_request_length_check_for_createglxpbuffersgix.patch:
  - Drop; these cherry-picks are included in 1.10RC2
* debian/patches/214_glx_dri_searchdirs.patch:
  - Fix nouveau check to downgrade missing DRI error messages to info.
    We don't support nouveau's 3D, so let's not complain too strenuously
    when it's not installed.
* debian/patches/215_glx_drawable_refcounting.diff:
  - Refcount GLXDrawables to avoid use-after-free crashes.  Patch from
    xorg-devel mailing list.  Prevents segfault on logout and server
    regenerate, and possibly other times. (LP: #711422)
* 214_glx_dri_searchdirs.patch:
  - Fix dlclose/free snafu. (LP: #722563)
* debian/inputabiver:
* debian/videoabiver:
* debian/xserver-xorg-dev.install
  - Temporarily re-add these to xserver-xorg-dev so we don't need to merge
    all the driver changes from Debian en masse.  These should be dropped
    once all drivers have been merged from Debian, and certainly in Natty+1.
* debian/serverminver:
  - Include 2ubuntu1 string; Xi 2.1 bumps the minor input ABI, so drivers
    built against it need the Xi 2.1 patched server.

[ Timo Aaltonen ]
* debian/patches/216_dix-valuator-count-of-0-is-valid.diff:
  - For all but motion and proximity events, having no valuators is ok.
    Regression from 1.9, keyboard events are not converted to protocol
    events. (LP: #714696)

[ Chase Douglas ]
* Add in preliminary xi2.1 support
  - Added 500_xi2.1.patch
  - Moved 202_xf86CoordinationsToWindows.patch to
    501_xf86CoordinatesToWindow.patch
  - Moved 203_gestures-extension.patch to 502_gestures-extension.patch
  - Bump dependency on x11proto-input for xi 2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
Index: xorg-server/glx/glxdri.c
2
2
===================================================================
3
 
--- xorg-server.orig/glx/glxdri.c       2011-02-18 12:53:47.493408035 +1100
4
 
+++ xorg-server/glx/glxdri.c    2011-02-18 12:53:47.963408733 +1100
 
3
--- xorg-server.orig/glx/glxdri.c       2011-02-22 09:34:13.115682466 +1100
 
4
+++ xorg-server/glx/glxdri.c    2011-02-22 09:34:15.855686483 +1100
5
5
@@ -858,8 +858,6 @@
6
6
 
7
7
 
67
67
-                  driverName);
68
68
-       goto handle_error;
69
69
-    }
70
 
+    from = strcmp(driverName, "nouveau_vieux") ? X_ERROR : X_INFO;
 
70
+    from = strncmp(driverName, "nouveau", sizeof "nouveau") ? X_ERROR : X_INFO;
71
71
+    screen->driver = glxProbeDriver(driverName, &cookie,
72
72
+                                   (void **)&screen->core,
73
73
+                                   __DRI_CORE, __DRI_CORE_VERSION,
126
126
 
127
127
Index: xorg-server/glx/glxdri2.c
128
128
===================================================================
129
 
--- xorg-server.orig/glx/glxdri2.c      2011-02-18 12:53:47.493408035 +1100
130
 
+++ xorg-server/glx/glxdri2.c   2011-02-18 12:53:47.963408733 +1100
 
129
--- xorg-server.orig/glx/glxdri2.c      2011-02-22 09:34:13.155682524 +1100
 
130
+++ xorg-server/glx/glxdri2.c   2011-02-22 09:34:15.855686483 +1100
131
131
@@ -599,8 +599,6 @@
132
132
     NULL
133
133
 };
137
137
 static Bool
138
138
 glxDRIEnterVT (int index, int flags)
139
139
 {
140
 
@@ -701,13 +699,11 @@
 
140
@@ -701,14 +699,11 @@
141
141
 __glXDRIscreenProbe(ScreenPtr pScreen)
142
142
 {
143
143
     const char *driverName, *deviceName;
149
149
-    const __DRIextension **extensions;
150
150
     const __DRIconfig **driConfigs;
151
151
-    int i;
152
 
     int from = X_ERROR;
 
152
-    int from = X_ERROR;
153
153
 
154
154
     screen = calloc(1, sizeof *screen);
155
 
@@ -730,54 +726,24 @@
 
155
     if (screen == NULL)
 
156
@@ -730,54 +725,24 @@
156
157
 
157
158
     __glXInitExtensionEnableBits(screen->glx_enable_bits);
158
159
 
223
224
 
224
225
     initializeExtensions(screen);
225
226
 
226
 
@@ -819,7 +785,7 @@
 
227
@@ -819,7 +784,7 @@
227
228
     pScrn->LeaveVT = glxDRILeaveVT;
228
229
 
229
230
     LogMessage(X_INFO,
232
233
 
233
234
     return &screen->base;
234
235
 
 
236
@@ -829,7 +794,8 @@
 
237
 
 
238
     free(screen);
 
239
 
 
240
-    LogMessage(from, "AIGLX: reverting to software rendering\n");
 
241
+    LogMessage(strncmp(driverName, "nouveau", sizeof "nouveau") ? X_ERROR : X_INFO,
 
242
+              "AIGLX: reverting to software rendering\n");
 
243
 
 
244
     return NULL;
 
245
 }
235
246
Index: xorg-server/glx/glxdricommon.c
236
247
===================================================================
237
 
--- xorg-server.orig/glx/glxdricommon.c 2011-02-18 12:53:23.303372560 +1100
238
 
+++ xorg-server/glx/glxdricommon.c      2011-02-18 16:52:47.373554735 +1100
 
248
--- xorg-server.orig/glx/glxdricommon.c 2011-02-22 09:29:22.105255652 +1100
 
249
+++ xorg-server/glx/glxdricommon.c      2011-02-22 09:39:11.016119400 +1100
239
250
@@ -29,6 +29,7 @@
240
251
 
241
252
 #include <stdint.h>
304
315
+       if (extensions == NULL) {
305
316
+           LogMessage(X_INFO, "AIGLX: %s exports no extensions (%s)\n",
306
317
+                      driverName, dlerror());
307
 
+           free(driver);
 
318
+           dlclose(driver);
308
319
+           continue;
309
320
+       }
310
321
+    
325
336
+                      "AIGLX: %s does not export required DRI extension\n",
326
337
+                      driverName);
327
338
+           *coreExt = *renderExt = NULL;
328
 
+           free(driver);
 
339
+           dlclose(driver);
329
340
+           continue;
330
341
+       }
331
342
+       return driver;
335
346
+}
336
347
Index: xorg-server/glx/glxdricommon.h
337
348
===================================================================
338
 
--- xorg-server.orig/glx/glxdricommon.h 2011-02-18 12:53:23.383372676 +1100
339
 
+++ xorg-server/glx/glxdricommon.h      2011-02-18 12:53:47.963408733 +1100
 
349
--- xorg-server.orig/glx/glxdricommon.h 2011-02-22 09:29:22.175255757 +1100
 
350
+++ xorg-server/glx/glxdricommon.h      2011-02-22 09:34:15.875686524 +1100
340
351
@@ -38,4 +38,9 @@
341
352
 
342
353
 extern const __DRIsystemTimeExtension systemTimeExtension;
349
360
 #endif
350
361
Index: xorg-server/glx/glxdriswrast.c
351
362
===================================================================
352
 
--- xorg-server.orig/glx/glxdriswrast.c 2011-02-18 12:53:23.313372568 +1100
353
 
+++ xorg-server/glx/glxdriswrast.c      2011-02-18 12:53:47.963408733 +1100
 
363
--- xorg-server.orig/glx/glxdriswrast.c 2011-02-22 09:29:22.125255677 +1100
 
364
+++ xorg-server/glx/glxdriswrast.c      2011-02-22 09:34:15.875686524 +1100
354
365
@@ -427,17 +427,13 @@
355
366
     }
356
367
 }
427
438
 
428
439
Index: xorg-server/configure.ac
429
440
===================================================================
430
 
--- xorg-server.orig/configure.ac       2011-02-18 12:53:47.823408519 +1100
431
 
+++ xorg-server/configure.ac    2011-02-18 12:53:47.963408733 +1100
432
 
@@ -1254,7 +1254,12 @@
 
441
--- xorg-server.orig/configure.ac       2011-02-22 09:34:15.505685983 +1100
 
442
+++ xorg-server/configure.ac    2011-02-22 09:34:15.875686524 +1100
 
443
@@ -1259,7 +1259,12 @@
433
444
 AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
434
445
 AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
435
446
 dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`