# HG changeset patch # User Jürgen Keil # Date 1258769780 28800 # Node ID 2904a8ef7bc6d840ed67d530b934fd4ed87a6614 # Parent 3d369dc6447e7c1c75acaa8204049f2f1d61456c 6884183 GNOME is really slow in OpenSolaris build 122+ running in VirtualBox diff -r 3d369dc6447e -r 2904a8ef7bc6 open-src/xserver/xorg/patch-list --- a/open-src/xserver/xorg/patch-list Fri Nov 20 14:54:39 2009 -0800 +++ b/open-src/xserver/xorg/patch-list Fri Nov 20 18:16:20 2009 -0800 @@ -40,3 +40,4 @@ vt.patch 6885229.patch xf86pciBus.c.patch +vbe-packing.patch diff -r 3d369dc6447e -r 2904a8ef7bc6 open-src/xserver/xorg/vbe-packing.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/xserver/xorg/vbe-packing.patch Fri Nov 20 18:16:20 2009 -0800 @@ -0,0 +1,59 @@ +Fix contributed by Jürgen Keil for +http://defect.opensolaris.org/bz/show_bug.cgi?id=11374 +aka +6884183 GNOME is really slow in OpenSolaris build 122+ running in VirtualBox + +--- hw/xfree86/vbe/vbe.h.orig So. Nov 15 14:08:29 2009 ++++ hw/xfree86/vbe/vbe.h So. Nov 15 14:11:15 2009 +@@ -59,16 +59,6 @@ + CARD8 OemData[256]; + } vbeControllerInfoRec, *vbeControllerInfoPtr; + +-#if defined(__GNUC__) || defined(__USLC__) || defined(__SUNPRO_C) +-#pragma pack() /* All GCC versions recognise this syntax */ +-#else +-#pragma pack(0) +-#endif +- +-#ifndef __GNUC__ +-#define __attribute__(a) +-#endif +- + typedef struct _VbeInfoBlock VbeInfoBlock; + typedef struct _VbeModeInfoBlock VbeModeInfoBlock; + typedef struct _VbeCRTCInfoBlock VbeCRTCInfoBlock; +@@ -96,7 +86,7 @@ + /*CARD32*/char *OemProductRevPtr; /* Pointer to Product Revision String */ + CARD8 Reserved[222]; /* Reserved for VBE implementation */ + CARD8 OemData[256]; /* Data Area for OEM Strings */ +-} __attribute__((packed)); ++}; + + /* Return Super VGA Information */ + VbeInfoBlock *VBEGetVBEInfo(vbeInfoPtr pVbe); +@@ -160,7 +150,7 @@ + CARD8 LinRsvdFieldPosition; /* bit position of lsb of reserved mask (linear modes) */ + CARD32 MaxPixelClock; /* maximum pixel clock (in Hz) for graphics mode */ + CARD8 Reserved2[189]; /* remainder of VbeModeInfoBlock */ +-} __attribute__((packed)); ++}; + + /* Return VBE Mode Information */ + VbeModeInfoBlock *VBEGetModeInfo(vbeInfoPtr pVbe, int mode); +@@ -186,9 +176,15 @@ + CARD32 PixelClock; /* Pixel clock in units of Hz */ + CARD16 RefreshRate; /* Refresh rate in units of 0.01 Hz */ + CARD8 Reserved[40]; /* remainder of ModeInfoBlock */ +-} __attribute__((packed)); ++}; + /* VbeCRTCInfoBlock is in the VESA 3.0 specs */ + ++#if defined(__GNUC__) || defined(__USLC__) || defined(__SUNPRO_C) ++#pragma pack() /* All GCC versions recognise this syntax */ ++#else ++#pragma pack(0) ++#endif ++ + Bool VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock *crtc); + + /*