On Wed, Aug 11, 2010 at 10:55 PM, Cui, Hunk <[email protected]> wrote: > I want to know why the variable should add X (in '(variable + > X)'), what is the mainly intention? What are the different with HW > operation?
Good question. If I understand it correctly, I think I can help. Given some value, say 87, that we need to align to a boundary, for example, 64. The code for this would be (87 + 63) & ~63; or just RADEON_ALIGN(87, 64) The & ~63 does the aligning, by removing all bits lower than our desired alignment. The + 63 ensures that we align to a boundary greater than our value. So, 87 + 63 = 150, and 150 & ~63 gives 128, which is the next 64-byte aligned boundary after 87. If we didn't add 63, we'd have 87 & ~63, which is 64 and is too small to store 87 bytes. Hope that I understood your question and was able to help. :) Matt _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
