On 8/11/10 12:38 PM, Cui, Hunk wrote:
> Hi, Tom,
> 
>> -----Original Message-----
>> From: Tomas Carnecky [mailto:[email protected]]
>> Sent: Wednesday, August 11, 2010 6:23 PM
>> To: Cui, Hunk
>> Cc: [email protected]
>> Subject: Re: what is the effect of RADEON_ALIGN (macros) in
> ATI-driver?
>>
>> On 8/11/10 12:03 PM, Cui, Hunk wrote:
>>>     But I'm confused by the code, not really sure of the calculate:
>>> YDstPitch = (width + 31) & ~31; & UVDstPitch = ((width >> 1) + 15) &
>>> ~15;
>>
>> '(variable + X) & ~X' is a common idiom to align the variable to the
>> next multiple of (X+1).
> 
>       Thank you for your hints, Could you give more explanation and
> some example to describe it? :)
>       I need more info about this. :)

Some hardware requires that memory access be aligned to certain
boundaries. Even on x86 CPUs this is true to some extent (aligned memory
access is faster than unaligned).
See the description of 'unaligned access' and the example at
http://en.wikipedia.org/wiki/Bus_error.
http://www.alexonlinux.com/aligned-vs-unaligned-memory-access also looks
like a good description of what unaligned memory access is (it even has
pretty pictures).

tom

_______________________________________________
[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