summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/cell
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2009-02-18 21:36:29 -0700
committerBrian Paul <[email protected]>2009-02-18 21:36:29 -0700
commit15a3e4ffe2c1e4a6b5305ac79c3f478bd7020c80 (patch)
tree80c93a75a352f37b9b63a873720e324dc51c5564 /src/gallium/drivers/cell
parent734dc502b866995884fdbcae9c716b26c7838b9c (diff)
cell: start adding new cell_transfer types/code
Diffstat (limited to 'src/gallium/drivers/cell')
-rw-r--r--src/gallium/drivers/cell/ppu/cell_texture.h19
1 files changed, 19 insertions, 0 deletions
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);