Am 29.07.2013 13:02, 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 <[email protected]>
> ---
>  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..7c3f840 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 0x00000100
> +#else
> +#define USE_LINEAR_EXPANSION 0x00000000
> +#endif
>  #define LARGE_ADDRESSES              0x00000200

Since ppl are terrible bad with a NOT i suggest the other way around.

#if X_BYTE_ORDER == X_BIG_ENDIAN
#define USE_LINEAR_EXPANSION    0x00000000
#else
#define USE_LINEAR_EXPANSION    0x00000100
#endif

re,
 wh

>  #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 =
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to