6540484: ast_drv.so in S10 U4 build3 and nv_60 will cause GUI garbled up
6554441: Need to fix these problems in 6535006.patch
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use subject to license terms.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, and/or sell copies of the Software, and to permit persons
# to whom the Software is furnished to do so, provided that the above
# copyright notice(s) and this permission notice appear in all copies of
# the Software and that both the above copyright notice(s) and this
# permission notice appear in supporting documentation.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Except as contained in this notice, the name of a copyright holder
# shall not be used in advertising or otherwise to promote the sale, use
# or other dealings in this Software without prior written authorization
# of the copyright holder.
Raise hsync and default to "1024x768" when DDC data not available.
--- hw.orig/xfree86/common/xf86Mode.c Thu Dec 7 15:32:58 2006
+++ hw/xfree86/common/xf86Mode.c Wed Dec 6 17:23:22 2006
@@ -1314,6 +1314,7 @@
range hsync[MAX_HSYNC];
range vrefresh[MAX_VREFRESH];
Bool inferred_virtual = FALSE;
+ Bool UseDefaultRate = FALSE;
#ifdef DEBUG
ErrorF("xf86ValidateModes(%p, %p, %p, %p,\n\t\t %p, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x)\n",
@@ -1361,8 +1362,9 @@
}
} else {
scrp->monitor->hsync[0].lo = 31.5;
- scrp->monitor->hsync[0].hi = 37.9;
+ scrp->monitor->hsync[0].hi = 60.0;
scrp->monitor->nHsync = 1;
+ UseDefaultRate = TRUE;
}
type = "default ";
}
@@ -1591,6 +1593,11 @@
xf86DeleteMode(&scrp->modes, scrp->modes);
endp = &scrp->modes;
last = NULL;
+ if (UseDefaultRate && ((modeNames == NULL) || (*modeNames == NULL))) {
+ modeNames = xnfcalloc(2, sizeof(char *));
+ modeNames[0] = strdup("1024x768");
+ modeNames[1] = NULL;
+ }
if (modeNames != NULL) {
for (i = 0; modeNames[i] != NULL; i++) {
userModes = TRUE;