open-src/xserver/xorg/vbe-packing.patch
changeset 851 d428083dbbdd
parent 836 2904a8ef7bc6
equal deleted inserted replaced
850:122d3e1bfc3d 851:d428083dbbdd
     1 Fix contributed by J�rgen Keil for
     1 Fix contributed by Jürgen Keil for
     2 http://defect.opensolaris.org/bz/show_bug.cgi?id=11374
     2 http://defect.opensolaris.org/bz/show_bug.cgi?id=11374
     3 aka
     3 aka
     4 6884183 GNOME is really slow in OpenSolaris build 122+ running in VirtualBox
     4 6884183 GNOME is really slow in OpenSolaris build 122+ running in VirtualBox
     5 
     5 
     6 --- hw/xfree86/vbe/vbe.h.orig	So. Nov 15 14:08:29 2009
     6 diff -urp -x '*~' -x '*.orig' hw/xfree86/vbe/vbe.h hw/xfree86/vbe/vbe.h
     7 +++ hw/xfree86/vbe/vbe.h	So. Nov 15 14:11:15 2009
     7 --- hw/xfree86/vbe/vbe.h	2009-08-10 21:00:24.000000000 -0700
     8 @@ -59,16 +59,6 @@
     8 +++ hw/xfree86/vbe/vbe.h	2009-11-20 18:38:28.738767705 -0800
       
     9 @@ -59,16 +59,6 @@ typedef struct vbeControllerInfoBlock {
     9      CARD8  OemData[256];
    10      CARD8  OemData[256];
    10  } vbeControllerInfoRec, *vbeControllerInfoPtr;
    11  } vbeControllerInfoRec, *vbeControllerInfoPtr;
    11  
    12  
    12 -#if defined(__GNUC__) || defined(__USLC__) || defined(__SUNPRO_C)
    13 -#if defined(__GNUC__) || defined(__USLC__) || defined(__SUNPRO_C)
    13 -#pragma pack()	/* All GCC versions recognise this syntax */
    14 -#pragma pack()	/* All GCC versions recognise this syntax */
    20 -#endif
    21 -#endif
    21 -
    22 -
    22  typedef struct _VbeInfoBlock VbeInfoBlock;
    23  typedef struct _VbeInfoBlock VbeInfoBlock;
    23  typedef struct _VbeModeInfoBlock VbeModeInfoBlock;
    24  typedef struct _VbeModeInfoBlock VbeModeInfoBlock;
    24  typedef struct _VbeCRTCInfoBlock VbeCRTCInfoBlock;
    25  typedef struct _VbeCRTCInfoBlock VbeCRTCInfoBlock;
    25 @@ -96,7 +86,7 @@
    26 @@ -96,7 +86,7 @@ struct _VbeInfoBlock {
    26      /*CARD32*/char *OemProductRevPtr;	/* Pointer to Product Revision String */
    27      /*CARD32*/char *OemProductRevPtr;	/* Pointer to Product Revision String */
    27      CARD8 Reserved[222];		/* Reserved for VBE implementation */
    28      CARD8 Reserved[222];		/* Reserved for VBE implementation */
    28      CARD8 OemData[256];			/* Data Area for OEM Strings */
    29      CARD8 OemData[256];			/* Data Area for OEM Strings */
    29 -} __attribute__((packed));
    30 -} __attribute__((packed));
    30 +};
    31 +};
    31  
    32  
    32  /* Return Super VGA Information */
    33  /* Return Super VGA Information */
    33  VbeInfoBlock *VBEGetVBEInfo(vbeInfoPtr pVbe);
    34  extern _X_EXPORT VbeInfoBlock *VBEGetVBEInfo(vbeInfoPtr pVbe);
    34 @@ -160,7 +150,7 @@
    35 @@ -160,7 +150,7 @@ struct _VbeModeInfoBlock {
    35      CARD8 LinRsvdFieldPosition;		/* bit position of lsb of reserved mask (linear modes) */
    36      CARD8 LinRsvdFieldPosition;		/* bit position of lsb of reserved mask (linear modes) */
    36      CARD32 MaxPixelClock;		/* maximum pixel clock (in Hz) for graphics mode */
    37      CARD32 MaxPixelClock;		/* maximum pixel clock (in Hz) for graphics mode */
    37      CARD8 Reserved2[189];		/* remainder of VbeModeInfoBlock */
    38      CARD8 Reserved2[189];		/* remainder of VbeModeInfoBlock */
    38 -} __attribute__((packed));
    39 -} __attribute__((packed));
    39 +};
    40 +};
    40  
    41  
    41  /* Return VBE Mode Information */
    42  /* Return VBE Mode Information */
    42  VbeModeInfoBlock *VBEGetModeInfo(vbeInfoPtr pVbe, int mode);
    43  extern _X_EXPORT VbeModeInfoBlock *VBEGetModeInfo(vbeInfoPtr pVbe, int mode);
    43 @@ -186,9 +176,15 @@
    44 @@ -186,9 +176,15 @@ struct _VbeCRTCInfoBlock {
    44      CARD32 PixelClock;			/* Pixel clock in units of Hz */
    45      CARD32 PixelClock;			/* Pixel clock in units of Hz */
    45      CARD16 RefreshRate;			/* Refresh rate in units of 0.01 Hz */
    46      CARD16 RefreshRate;			/* Refresh rate in units of 0.01 Hz */
    46      CARD8 Reserved[40];			/* remainder of ModeInfoBlock */
    47      CARD8 Reserved[40];			/* remainder of ModeInfoBlock */
    47 -} __attribute__((packed));
    48 -} __attribute__((packed));
    48 +};
    49 +};
    52 +#pragma pack()	/* All GCC versions recognise this syntax */
    53 +#pragma pack()	/* All GCC versions recognise this syntax */
    53 +#else
    54 +#else
    54 +#pragma pack(0)
    55 +#pragma pack(0)
    55 +#endif
    56 +#endif
    56 +
    57 +
    57  Bool VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock *crtc);
    58  extern _X_EXPORT Bool VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock *crtc);
    58  
    59  
    59  /*
    60  /*