Mesa (master): cell: fix incorrect pipe_transfer tests

Brian Paul brianp at kemper.freedesktop.org
Mon Aug 17 14:29:12 UTC 2009


Module: Mesa
Branch: master
Commit: 7c4223876b4f8a78335687c7fcd7448b5a83ad10
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c4223876b4f8a78335687c7fcd7448b5a83ad10

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Aug 17 08:27:52 2009 -0600

cell: fix incorrect pipe_transfer tests

The value is an enum, not a bitmask.

---

 src/gallium/drivers/cell/ppu/cell_texture.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/cell/ppu/cell_texture.c b/src/gallium/drivers/cell/ppu/cell_texture.c
index 80418f5..6a63a0e 100644
--- a/src/gallium/drivers/cell/ppu/cell_texture.c
+++ b/src/gallium/drivers/cell/ppu/cell_texture.c
@@ -417,7 +417,8 @@ cell_transfer_map(struct pipe_screen *screen, struct pipe_transfer *transfer)
    if (!ctrans->map)
       return NULL; /* out of memory */
 
-   if (transfer->usage & PIPE_TRANSFER_READ) {
+   if (transfer->usage == PIPE_TRANSFER_READ ||
+       transfer->usage == PIPE_TRANSFER_READ_WRITE) {
       /* need to untwiddle the texture to make a linear version */
       const uint bpp = pf_get_size(ct->base.format);
       if (bpp == 4) {
@@ -458,7 +459,8 @@ cell_transfer_unmap(struct pipe_screen *screen,
                                    PIPE_BUFFER_USAGE_CPU_READ);
    }
 
-   if (transfer->usage & PIPE_TRANSFER_WRITE) {
+   if (transfer->usage == PIPE_TRANSFER_WRITE ||
+       transfer->usage == PIPE_TRANSFER_READ_WRITE) {
       /* The user wrote new texture data into the mapped buffer.
        * We need to convert the new linear data into the twiddled/tiled format.
        */




More information about the mesa-commit mailing list