diff options
author | Brian Paul <brian.paul@tungstengraphics.com> | 2008-10-22 10:34:13 -0600 |
---|---|---|
committer | Brian Paul <brian.paul@tungstengraphics.com> | 2008-10-22 10:34:13 -0600 |
commit | 70dd4379d2cd54f229c3940312537912470218d3 (patch) | |
tree | cf24b8e884221c7637cf9c9b27890c2c9b8ec599 /src/gallium/drivers/cell/ppu/cell_texture.h | |
parent | 0ae4728eb429d7b5217d34ec96fc973a5e7cfe95 (diff) |
cell: implement fencing for texture buffers
If we delete a texture, we need to keep the underlying tiled data buffer
around until any rendering that references it has completed.
Keep a list of buffers referenced by a rendering batch. Unref/free them when
the associated batch's fence is executed/signalled.
Diffstat (limited to 'src/gallium/drivers/cell/ppu/cell_texture.h')
-rw-r--r-- | src/gallium/drivers/cell/ppu/cell_texture.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_texture.h b/src/gallium/drivers/cell/ppu/cell_texture.h index a0757091b0..2f5fe0dd1b 100644 --- a/src/gallium/drivers/cell/ppu/cell_texture.h +++ b/src/gallium/drivers/cell/ppu/cell_texture.h @@ -48,7 +48,10 @@ struct cell_texture struct pipe_buffer *buffer; unsigned long buffer_size; - void *tiled_data[CELL_MAX_TEXTURE_LEVELS]; /* XXX this may be temporary */ /*ALIGN16*/ + /** Texture data in tiled layout is held here */ + struct pipe_buffer *tiled_buffer[CELL_MAX_TEXTURE_LEVELS]; + /** Mapped, tiled texture data */ + void *tiled_mapped[CELL_MAX_TEXTURE_LEVELS]; }; |