[PATCH V2 driver/mga] Disable Linear Expansion on BE

walter harms wharms at bfs.de
Wed Jul 31 01:14:29 PDT 2013


after visual inspection
Reviewed-by:  <wharms at bfs.de>



Am 31.07.2013 09:34, schrieb Egbert Eich:
> Linear Expansion doesn't work on BE as the bit order in
> a word is reversed. ScreenToScreenColorExpansion allows
> to adjust the bit order in a byte, still the bytes have
> the wrong order.
> 
> Signed-off-by: Egbert Eich <eich at freedesktop.org>
> ---
> v2: Changed logic from '!=' to '==' for preprocessor suggested by
>     Walter Harms <wharms at bfs.de>
> 
>  src/mga.h       | 5 +++++
>  src/mga_storm.c | 4 ++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/src/mga.h b/src/mga.h
> index 34695c1..0c5d71d 100644
> --- a/src/mga.h
> +++ b/src/mga.h
> @@ -688,7 +688,12 @@ extern CARD32 MGAAtypeNoBLK[16];
>  #define	NICE_DASH_PATTERN	0x00000020
>  #define	TWO_PASS_COLOR_EXPAND	0x00000040
>  #define	MGA_NO_PLANEMASK	0x00000080
> +/* linear expansion doesn't work on BE due to wrong byte order */
> +#if X_BYTE_ORDER == X_BIG_ENDIAN
> +#define USE_LINEAR_EXPANSION	0x00000000
> +#else
>  #define USE_LINEAR_EXPANSION	0x00000100
> +#endif
>  #define LARGE_ADDRESSES		0x00000200
>  
>  #define MGAIOMAPSIZE		0x00004000
> diff --git a/src/mga_storm.c b/src/mga_storm.c
> index fb0e7be..84a4c8c 100644
> --- a/src/mga_storm.c
> +++ b/src/mga_storm.c
> @@ -710,7 +710,11 @@ Bool mgaAccelInit( ScreenPtr pScreen )
>      /* screen to screen color expansion */
>      if(pMga->AccelFlags & USE_LINEAR_EXPANSION) {
>  	infoPtr->ScreenToScreenColorExpandFillFlags =
> +#if X_BYTE_ORDER == X_BIG_ENDIAN
> +						BIT_ORDER_IN_BYTE_MSBFIRST;
> +#else 
>  						BIT_ORDER_IN_BYTE_LSBFIRST;
> +#endif
>  	infoPtr->SetupForScreenToScreenColorExpandFill =
>  		mgaSetupForScreenToScreenColorExpandFill;
>  	infoPtr->SubsequentScreenToScreenColorExpandFill =


More information about the xorg-devel mailing list