diff options
author | Eric Anholt <eric@anholt.net> | 2007-02-13 17:37:56 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-02-13 17:42:47 -0800 |
commit | 1623b47c4863f5362587cdac855e3e11c109b007 (patch) | |
tree | c53495e6703ad607d50c50f1af0e82d9dcc65d83 /src/i830_render.c | |
parent | 4bd4058dfdca84d6ebab82a1dfba99adf3852c9c (diff) |
Switch the RECTLIST vertex order to (x2, y2), (x1, y2), (x1, y1).
This is the documented correct ordering, and while the previous ordering
(reversed) worked on some hardware, it failed on others.
Reported by: Wang Zhenyu <zhenyu.z.wang@intel.com>
Diffstat (limited to 'src/i830_render.c')
-rw-r--r-- | src/i830_render.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/i830_render.c b/src/i830_render.c index 96aeb3fa..49d8fc11 100644 --- a/src/i830_render.c +++ b/src/i830_render.c @@ -557,13 +557,13 @@ i830_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, OUT_RING(PRIM3D_INLINE | PRIM3D_RECTLIST | (vertex_count-1)); - OUT_RING_F(-0.125 + dstX); - OUT_RING_F(-0.125 + dstY); - OUT_RING_F(src_x[0] / pI830->scale_units[0][0]); - OUT_RING_F(src_y[0] / pI830->scale_units[0][1]); + OUT_RING_F(-0.125 + dstX + w); + OUT_RING_F(-0.125 + dstY + h); + OUT_RING_F(src_x[2] / pI830->scale_units[0][0]); + OUT_RING_F(src_y[2] / pI830->scale_units[0][1]); if (has_mask) { - OUT_RING_F(mask_x[0] / pI830->scale_units[1][0]); - OUT_RING_F(mask_y[0] / pI830->scale_units[1][1]); + OUT_RING_F(mask_x[2] / pI830->scale_units[1][0]); + OUT_RING_F(mask_y[2] / pI830->scale_units[1][1]); } OUT_RING_F(-0.125 + dstX); @@ -575,13 +575,13 @@ i830_composite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, OUT_RING_F(mask_y[1] / pI830->scale_units[1][1]); } - OUT_RING_F(-0.125 + dstX + w); - OUT_RING_F(-0.125 + dstY + h); - OUT_RING_F(src_x[2] / pI830->scale_units[0][0]); - OUT_RING_F(src_y[2] / pI830->scale_units[0][1]); + OUT_RING_F(-0.125 + dstX); + OUT_RING_F(-0.125 + dstY); + OUT_RING_F(src_x[0] / pI830->scale_units[0][0]); + OUT_RING_F(src_y[0] / pI830->scale_units[0][1]); if (has_mask) { - OUT_RING_F(mask_x[2] / pI830->scale_units[1][0]); - OUT_RING_F(mask_y[2] / pI830->scale_units[1][1]); + OUT_RING_F(mask_x[0] / pI830->scale_units[1][0]); + OUT_RING_F(mask_y[0] / pI830->scale_units[1][1]); } ADVANCE_LP_RING(); } |