Pixman

Lukas Hejtmanek xhejtman at ics.muni.cz
Tue Aug 7 11:54:39 PDT 2007


Hello,

I took a look at pixman_blt_mmx code and I'm a bit confused:

1  } else if (src_bpp == 32) {
2  src_stride = src_stride * sizeof (uint32_t) / 4;
3  dst_stride = dst_stride * sizeof (uint32_t) / 4;
4  src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x));
5  dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
6  byte_width = 4 * width;
7  src_stride *= 4;
8  dst_stride *= 4;
9  } else {

what are the lines 2 and 3 used for?

according to lines 4 and 5, it seems that {src,dst}_stride should be 
width * bpp / 8 and src_x should be also multiplied by bpp / 8.
But on the line 7 and 8 it seems that {src,dst}_stride get multiplied by bpp/8
again. Or am I something missing?

-- 
Lukáš Hejtmánek



More information about the xorg mailing list