forked from pool/xorg-x11-server
This commit is contained in:
parent
1c4696e9f6
commit
235c909b1b
50
i810_dri_fix_freeze.diff
Normal file
50
i810_dri_fix_freeze.diff
Normal file
@ -0,0 +1,50 @@
|
||||
diff --git a/GL/mesa/X/xf86glx.c b/GL/mesa/X/xf86glx.c
|
||||
index df9be07..679d55c 100644
|
||||
--- a/GL/mesa/X/xf86glx.c
|
||||
+++ b/GL/mesa/X/xf86glx.c
|
||||
@@ -296,7 +296,7 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
|
||||
__GLcontextModes *modes;
|
||||
XMesaVisual *pXMesaVisual;
|
||||
int *used;
|
||||
- int i, j, size;
|
||||
+ int num_vis, j, size;
|
||||
|
||||
/* Alloc space for the list of XMesa visuals */
|
||||
size = screen->base.numVisuals * sizeof(XMesaVisual);
|
||||
@@ -312,7 +312,7 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
|
||||
used = (int *) xalloc(pScreen->numVisuals * sizeof(int));
|
||||
memset(used, 0, pScreen->numVisuals * sizeof(int));
|
||||
|
||||
- i = 0;
|
||||
+ num_vis = 0;
|
||||
for ( modes = screen->base.modes; modes != NULL; modes = modes->next ) {
|
||||
const int vis_class = _gl_convert_to_x_visual_type( modes->visualType );
|
||||
const int nplanes = (modes->rgbBits - modes->alphaBits);
|
||||
@@ -327,7 +327,8 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
|
||||
!used[j]) {
|
||||
|
||||
/* Create the XMesa visual */
|
||||
- pXMesaVisual[i] =
|
||||
+ assert(num_vis < screen->base.numVisuals);
|
||||
+ pXMesaVisual[num_vis] =
|
||||
XMesaCreateVisual(pScreen,
|
||||
&pVis[j],
|
||||
modes->rgbMode,
|
||||
@@ -364,13 +365,15 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
|
||||
FatalError( "Matching visual found, but visualID still -1!\n" );
|
||||
}
|
||||
|
||||
- i++;
|
||||
+ num_vis++;
|
||||
}
|
||||
|
||||
xfree(used);
|
||||
|
||||
- screen->num_vis = pScreen->numVisuals;
|
||||
+ screen->num_vis = num_vis;
|
||||
screen->xm_vis = pXMesaVisual;
|
||||
+
|
||||
+ assert(screen->num_vis <= screen->base.numVisuals);
|
||||
}
|
||||
|
||||
static __GLXscreen *
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 23 12:33:57 CEST 2007 - sndirsch@suse.de
|
||||
|
||||
- i810_dri_fix_freeze.diff:
|
||||
* fixes freeze after pressing Ctrl-Alt-BS (X.Org Bug #10809)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 23 05:32:04 CEST 2007 - sndirsch@suse.de
|
||||
|
||||
- xserver-mode-fuzzy-check.diff:
|
||||
* Fix for Xserver being more fuzzy about mode validation
|
||||
(Bug #270846)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 18 11:05:14 CEST 2007 - sndirsch@suse.de
|
||||
|
||||
|
@ -21,7 +21,7 @@ BuildRequires: libjpeg-devel
|
||||
URL: http://xorg.freedesktop.org/
|
||||
%define EXPERIMENTAL 0
|
||||
Version: 7.2
|
||||
Release: 121
|
||||
Release: 123
|
||||
License: X11/MIT
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Group: System/X11/Servers/XF86_4
|
||||
@ -91,6 +91,8 @@ Patch65: remove__GLinterface.patch
|
||||
Patch66: commit-c09e68c
|
||||
Patch67: xorg-docs.diff
|
||||
Patch68: xephyr-sig11-fix.diff
|
||||
Patch69: xserver-mode-fuzzy-check.diff
|
||||
Patch70: i810_dri_fix_freeze.diff
|
||||
Patch334: p_pci-domain.diff
|
||||
Patch357: p_pci-ce-x.diff
|
||||
|
||||
@ -202,6 +204,8 @@ pushd xorg-docs-*
|
||||
%patch67
|
||||
popd
|
||||
%patch68
|
||||
%patch69 -p1
|
||||
%patch70 -p1
|
||||
|
||||
%build
|
||||
pushd xorg-docs-*
|
||||
@ -537,6 +541,13 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Aug 23 2007 - sndirsch@suse.de
|
||||
- i810_dri_fix_freeze.diff:
|
||||
* fixes freeze after pressing Ctrl-Alt-BS (X.Org Bug #10809)
|
||||
* Thu Aug 23 2007 - sndirsch@suse.de
|
||||
- xserver-mode-fuzzy-check.diff:
|
||||
* Fix for Xserver being more fuzzy about mode validation
|
||||
(Bug #270846)
|
||||
* Sat Aug 18 2007 - sndirsch@suse.de
|
||||
- disable AIGLX by default; without enabled Composite extension
|
||||
(still problematic on many drivers) it's rather useless anyway
|
||||
|
35
xserver-mode-fuzzy-check.diff
Normal file
35
xserver-mode-fuzzy-check.diff
Normal file
@ -0,0 +1,35 @@
|
||||
diff --git a/hw/xfree86/modes/xf86Modes.c b/hw/xfree86/modes/xf86Modes.c
|
||||
index ea9f85b..0ead704 100644
|
||||
--- a/hw/xfree86/modes/xf86Modes.c
|
||||
+++ b/hw/xfree86/modes/xf86Modes.c
|
||||
@@ -389,8 +389,8 @@ xf86ValidateModesSync(ScrnInfoPtr pScrn,
|
||||
|
||||
bad = TRUE;
|
||||
for (i = 0; i < mon->nHsync; i++) {
|
||||
- if (xf86ModeHSync(mode) >= mon->hsync[i].lo &&
|
||||
- xf86ModeHSync(mode) <= mon->hsync[i].hi)
|
||||
+ if (xf86ModeHSync(mode) >= mon->hsync[i].lo - .5 &&
|
||||
+ xf86ModeHSync(mode) <= mon->hsync[i].hi + .5)
|
||||
{
|
||||
bad = FALSE;
|
||||
}
|
||||
@@ -400,8 +400,8 @@ xf86ValidateModesSync(ScrnInfoPtr pScrn,
|
||||
|
||||
bad = TRUE;
|
||||
for (i = 0; i < mon->nVrefresh; i++) {
|
||||
- if (xf86ModeVRefresh(mode) >= mon->vrefresh[i].lo &&
|
||||
- xf86ModeVRefresh(mode) <= mon->vrefresh[i].hi)
|
||||
+ if (xf86ModeVRefresh(mode) >= mon->vrefresh[i].lo - .5 &&
|
||||
+ xf86ModeVRefresh(mode) <= mon->vrefresh[i].hi + .5)
|
||||
{
|
||||
bad = FALSE;
|
||||
}
|
||||
@@ -434,7 +434,7 @@ xf86ValidateModesClocks(ScrnInfoPtr pScr
|
||||
for (mode = modeList; mode != NULL; mode = mode->next) {
|
||||
Bool good = FALSE;
|
||||
for (i = 0; i < n_ranges; i++) {
|
||||
- if (mode->Clock >= min[i] && mode->Clock <= max[i]) {
|
||||
+ if (mode->Clock >= min[i] - .5 && mode->Clock <= max[i] + .5) {
|
||||
good = TRUE;
|
||||
break;
|
||||
}
|
Loading…
Reference in New Issue
Block a user