summaryrefslogtreecommitdiff
path: root/src/nv30_exa.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-06-19 09:49:02 +1000
committerBen Skeggs <bskeggs@redhat.com>2012-06-19 09:59:58 +1000
commitf84c28c9e6a0079e527655994689cb9c2ba51999 (patch)
tree9c9538214cf824d3bcbdf18949817476f5d56521 /src/nv30_exa.c
parent794141f22179a09ba6b2a094ba72316c298fee8b (diff)
downloadxorg-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>
Diffstat (limited to 'src/nv30_exa.c')
-rw-r--r--src/nv30_exa.c6
1 files changed, 3 insertions, 3 deletions
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