xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Mon Aug 9 19:20:39 PDT 2010


 src/AtomBios/CD_Operations.c |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit bb7c77ca75e857f90791b0dd1c04c8e2f19d0e3c
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Aug 9 22:18:53 2010 -0400

    atom: upstream parser update
    
    fixes digital output problems on evergreen asics

diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c
index ae27049..9d399d5 100644
--- a/src/AtomBios/CD_Operations.c
+++ b/src/AtomBios/CD_Operations.c
@@ -505,13 +505,16 @@ VOID ProcessMove(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 
 VOID ProcessMask(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
+    UINT8 src;
 
     pParserTempData->DestData32=GetDestination[pParserTempData->ParametersType.Destination](pParserTempData);
+    src = pParserTempData->CD_Mask.SrcAlignment;
     pParserTempData->SourceData32=GetParametersDirect(pParserTempData);
     pParserTempData->Index=GetSource[pParserTempData->ParametersType.Source](pParserTempData);
     pParserTempData->SourceData32 <<= DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment];
     pParserTempData->SourceData32 |= ~(AlignmentMask[pParserTempData->CD_Mask.SrcAlignment] << DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment]);
     pParserTempData->DestData32   &= pParserTempData->SourceData32;
+    pParserTempData->Index        >>= SourceAlignmentShift[src];
     pParserTempData->Index        &= AlignmentMask[pParserTempData->CD_Mask.SrcAlignment];
     pParserTempData->Index        <<= DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment];
     pParserTempData->DestData32   |= pParserTempData->Index;


More information about the xorg-commit mailing list