diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-06-02 11:46:06 -0700 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-06-02 11:46:06 -0700 |
commit | c91df4c1534e2db2274b6d08e90470bf21a49e2a (patch) | |
tree | 811c3eefe8fb1e3461f6325b2a73ee13e47fe82f | |
parent | 12e94d892e3322be5c8a1594702d69e7a02d5274 (diff) |
util: Fix 24 to 32 bit expansion binary arithmetic expression.
When approaching y = x * 0xffffffff / 0xffffff with bit arithmetic, the
8 least significant bits of y should come from the
8 most significant bits of x.
-rw-r--r-- | src/gallium/auxiliary/util/u_tile.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_tile.c b/src/gallium/auxiliary/util/u_tile.c index f0a5a339eb3..9becd9fea43 100644 --- a/src/gallium/auxiliary/util/u_tile.c +++ b/src/gallium/auxiliary/util/u_tile.c @@ -1126,7 +1126,7 @@ pipe_get_tile_z(struct pipe_transfer *pt, for (i = 0; i < h; i++) { for (j = 0; j < w; j++) { /* convert 24-bit Z to 32-bit Z */ - pDest[j] = (ptrc[j] << 8) | (ptrc[j] & 0xff); + pDest[j] = (ptrc[j] << 8) | ((ptrc[j] >> 16) & 0xff); } pDest += dstStride; ptrc += pt->stride/4; |