diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2012-06-19 09:49:02 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-06-19 09:59:58 +1000 |
commit | f84c28c9e6a0079e527655994689cb9c2ba51999 (patch) | |
tree | 9c9538214cf824d3bcbdf18949817476f5d56521 | |
parent | 794141f22179a09ba6b2a094ba72316c298fee8b (diff) | |
download | xorg-driver-xf86-video-nouveau-f84c28c9e6a0079e527655994689cb9c2ba51999.tar.gz |
exa: fix remaining signed datatype issues
Wasn't expecting this situation, apparently it happens..
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | src/nv10_exa.c | 4 | ||||
-rw-r--r-- | src/nv30_exa.c | 6 | ||||
-rw-r--r-- | src/nv30_xv_tex.c | 2 | ||||
-rw-r--r-- | src/nv40_exa.c | 6 | ||||
-rw-r--r-- | src/nv40_xv_tex.c | 2 | ||||
-rw-r--r-- | src/nv50_accel.h | 12 |
6 files changed, 15 insertions, 17 deletions
diff --git a/src/nv10_exa.c b/src/nv10_exa.c index a3f7df3..cb9eb7c 100644 --- a/src/nv10_exa.c +++ b/src/nv10_exa.c @@ -594,9 +594,9 @@ PUSH_VTX2s(struct nouveau_pushbuf *push, int x1, int y1, int x2, int y2, int dx, int dy) { BEGIN_NV04(push, NV10_3D(VERTEX_TX0_2I), 1); - PUSH_DATA (push, (y1 << 16) | x1); + PUSH_DATA (push, ((y1 & 0xffff) << 16) | (x1 & 0xffff)); BEGIN_NV04(push, NV10_3D(VERTEX_TX1_2I), 1); - PUSH_DATA (push, (y2 << 16) | x2); + PUSH_DATA (push, ((y2 & 0xffff) << 16) | (x2 & 0xffff)); BEGIN_NV04(push, NV10_3D(VERTEX_POS_3F_X), 3); PUSH_DATAf(push, dx); PUSH_DATAf(push, dy); diff --git a/src/nv30_exa.c b/src/nv30_exa.c index 9be52e5..95509bc 100644 --- a/src/nv30_exa.c +++ b/src/nv30_exa.c @@ -545,10 +545,10 @@ PUSH_VTX2s(struct nouveau_pushbuf *push, int x1, int y1, int x2, int y2, int dx, int dy) { BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(8)), 2); - PUSH_DATA (push, (y1 << 16) | x1); - PUSH_DATA (push, (y2 << 16) | x2); + PUSH_DATA (push, ((y1 & 0xffff) << 16) | (x1 & 0xffff)); + PUSH_DATA (push, ((y2 & 0xffff) << 16) | (x2 & 0xffff)); BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(0)), 1); - PUSH_DATA (push, (dy << 16) | dx); + PUSH_DATA (push, ((dy & 0xffff) << 16) | (dx & 0xffff)); } void diff --git a/src/nv30_xv_tex.c b/src/nv30_xv_tex.c index 33c5602..bf75cfa 100644 --- a/src/nv30_xv_tex.c +++ b/src/nv30_xv_tex.c @@ -167,7 +167,7 @@ NV30StopTexturedVideo(ScrnInfoPtr pScrn, pointer data, Bool Exit) PUSH_DATAf(push, (sx)); PUSH_DATAf(push, (sy)); \ PUSH_DATAf(push, (sx)/2.0); PUSH_DATAf(push, (sy)/2.0); \ BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(0)), 1); \ - PUSH_DATA (push, ((dy)<<16)|(dx)); \ + PUSH_DATA (push, (((dy)&0xffff)<<16)|((dx)&0xffff)); \ } while(0) int diff --git a/src/nv40_exa.c b/src/nv40_exa.c index ce0d78a..977c855 100644 --- a/src/nv40_exa.c +++ b/src/nv40_exa.c @@ -527,10 +527,10 @@ PUSH_VTX2s(struct nouveau_pushbuf *push, int x1, int y1, int x2, int y2, int dx, int dy) { BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(8)), 2); - PUSH_DATA (push, (y1 << 16) | x1); - PUSH_DATA (push, (y2 << 16) | x2); + PUSH_DATA (push, ((y1 & 0xffff) << 16) | (x1 & 0xffff)); + PUSH_DATA (push, ((y2 & 0xffff) << 16) | (x2 & 0xffff)); BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(0)), 1); - PUSH_DATA (push, (dy << 16) | dx); + PUSH_DATA (push, ((dy & 0xffff) << 16) | (dx & 0xffff)); } void diff --git a/src/nv40_xv_tex.c b/src/nv40_xv_tex.c index 9f2e336..79ef1fc 100644 --- a/src/nv40_xv_tex.c +++ b/src/nv40_xv_tex.c @@ -167,7 +167,7 @@ NV40StopTexturedVideo(ScrnInfoPtr pScrn, pointer data, Bool Exit) PUSH_DATAf(push, (sx)); PUSH_DATAf(push, (sy)); \ PUSH_DATAf(push, (sx)/2.0); PUSH_DATAf(push, (sy)/2.0); \ BEGIN_NV04(push, NV30_3D(VTX_ATTR_2I(0)), 1); \ - PUSH_DATA (push, ((dy)<<16)|(dx)); \ + PUSH_DATA (push, (((dy)&0xffff)<<16)|((dx)&0xffff)); \ } while(0) int diff --git a/src/nv50_accel.h b/src/nv50_accel.h index 24f0fa8..87c88a3 100644 --- a/src/nv50_accel.h +++ b/src/nv50_accel.h @@ -53,20 +53,18 @@ PUSH_VTX1s(struct nouveau_pushbuf *push, float sx, float sy, int dx, int dy) PUSH_DATAf(push, sx); PUSH_DATAf(push, sy); BEGIN_NV04(push, NV50_3D(VTX_ATTR_2I(0)), 1); - PUSH_DATA (push, (dy << 16) | dx); + PUSH_DATA (push, ((dy & 0xffff) << 16) | (dx & 0xffff)); } static __inline__ void PUSH_VTX2s(struct nouveau_pushbuf *push, int x1, int y1, int x2, int y2, int dx, int dy) { - BEGIN_NV04(push, NV50_3D(VTX_ATTR_2F_X(8)), 4); - PUSH_DATAf(push, x1); - PUSH_DATAf(push, y1); - PUSH_DATAf(push, x2); - PUSH_DATAf(push, y2); + BEGIN_NV04(push, NV50_3D(VTX_ATTR_2I(8)), 2); + PUSH_DATA (push, ((y1 & 0xffff) << 16) | (x1 & 0xffff)); + PUSH_DATA (push, ((y2 & 0xffff) << 16) | (x2 & 0xffff)); BEGIN_NV04(push, NV50_3D(VTX_ATTR_2I(0)), 1); - PUSH_DATA (push, (dy << 16) | dx); + PUSH_DATA (push, ((dy & 0xffff) << 16) | (dx & 0xffff)); } static __inline__ void |