diff --git a/src/gallium/drivers/cell/ppu/cell_texture.h b/src/gallium/drivers/cell/ppu/cell_texture.h index 7018b0c9bf7..fc6486adbe6 100644 --- a/src/gallium/drivers/cell/ppu/cell_texture.h +++ b/src/gallium/drivers/cell/ppu/cell_texture.h @@ -52,10 +52,22 @@ struct cell_texture struct pipe_buffer *tiled_buffer[CELL_MAX_TEXTURE_LEVELS]; /** Mapped, tiled texture data */ void *tiled_mapped[CELL_MAX_TEXTURE_LEVELS]; + + struct pipe_transfer *transfer; + + /** The original, linear texture data */ void *untiled_data[CELL_MAX_TEXTURE_LEVELS]; }; +struct cell_transfer +{ + struct pipe_transfer base; + + unsigned long offset; +}; + + /** cast wrapper */ static INLINE struct cell_texture * cell_texture(struct pipe_texture *pt) @@ -64,6 +76,13 @@ cell_texture(struct pipe_texture *pt) } +/** cast wrapper */ +static INLINE struct cell_transfer * +cell_transfer(struct pipe_transfer *pt) +{ + return (struct cell_transfer *) pt; +} + extern void cell_init_screen_texture_funcs(struct pipe_screen *screen);