summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2012-06-18 13:41:43 +0200
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2012-06-18 13:45:29 +0200
commit8805e20bb9c1cfb7477f3eb7def64c5711fc91ea (patch)
tree5bcd092d7cd586e39f65409c8865fc71dcb11148
parent6dbf4ea12600275775123f9f564469454415da55 (diff)
nvc0/accel: use correct (signed) vertex data type in PUSH_VTX1/2s
Could have kept s16 but decided against mask and shift.
-rw-r--r--src/nvc0_accel.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/nvc0_accel.h b/src/nvc0_accel.h
index 41cf477..9ba8757 100644
--- a/src/nvc0_accel.h
+++ b/src/nvc0_accel.h
@@ -58,23 +58,27 @@ PUSH_VTX1s(struct nouveau_pushbuf *push, float sx, float sy, int dx, int dy)
PUSH_DATAf(push, sx);
PUSH_DATAf(push, sy);
BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 2);
- PUSH_DATA (push, VTX_ATTR(0, 2, USCALED, 2));
- PUSH_DATA (push, (dy << 16) | dx);
+ PUSH_DATA (push, VTX_ATTR(0, 2, SSCALED, 4));
+ PUSH_DATA (push, dx);
+ PUSH_DATA (push, dy);
}
static __inline__ void
PUSH_VTX2s(struct nouveau_pushbuf *push,
int x0, int y0, int x1, int y1, int dx, int dy)
{
- BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 2);
- PUSH_DATA (push, VTX_ATTR(1, 2, USCALED, 2));
- PUSH_DATA (push, (y0 << 16) | x0);
- BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 2);
- PUSH_DATA (push, VTX_ATTR(2, 2, USCALED, 2));
- PUSH_DATA (push, (y1 << 16) | x1);
- BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 2);
- PUSH_DATA (push, VTX_ATTR(0, 2, USCALED, 2));
- PUSH_DATA (push, (dy << 16) | dx);
+ BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 3);
+ PUSH_DATA (push, VTX_ATTR(1, 2, SSCALED, 4));
+ PUSH_DATA (push, x0);
+ PUSH_DATA (push, y0);
+ BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 3);
+ PUSH_DATA (push, VTX_ATTR(2, 2, SSCALED, 4));
+ PUSH_DATA (push, x1);
+ PUSH_DATA (push, y1);
+ BEGIN_NVC0(push, NVC0_3D(VTX_ATTR_DEFINE), 3);
+ PUSH_DATA (push, VTX_ATTR(0, 2, SSCALED, 4));
+ PUSH_DATA (push, dx);
+ PUSH_DATA (push, dy);
}
static __inline__ void