diff options
Diffstat (limited to 'src')
| -rw-r--r-- | 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 80418f5aa2..6a63a0e6ce 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.         */ | 
