diff options
author | Ian Romanick <idr@us.ibm.com> | 2008-02-20 14:32:25 -0800 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2008-02-21 10:43:45 -0800 |
commit | 7c74037852a484a8a50e8bc540b954a624de4d33 (patch) | |
tree | 55d25944f33880da3a26eba7687afce7c38878e6 /src/gallium/drivers/cell/ppu/cell_flush.c | |
parent | 8be9bc08e1da31619f1b1c49aa6280d44f94c442 (diff) |
Cell: Initial pass at unified data cache
Diffstat (limited to 'src/gallium/drivers/cell/ppu/cell_flush.c')
-rw-r--r-- | src/gallium/drivers/cell/ppu/cell_flush.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_flush.c b/src/gallium/drivers/cell/ppu/cell_flush.c index 20f27531fc..66a5627d84 100644 --- a/src/gallium/drivers/cell/ppu/cell_flush.c +++ b/src/gallium/drivers/cell/ppu/cell_flush.c @@ -82,3 +82,17 @@ cell_flush_int(struct pipe_context *pipe, unsigned flags) flushing = FALSE; } + + +void +cell_flush_buffer_range(struct cell_context *cell, void *ptr, + unsigned size) +{ + uint64_t batch[1 + (ROUNDUP8(sizeof(struct cell_buffer_range)) / 8)]; + struct cell_buffer_range *br = (struct cell_buffer_range *) & batch[1]; + + batch[0] = CELL_CMD_FLUSH_BUFFER_RANGE; + br->base = (uintptr_t) ptr; + br->size = size; + cell_batch_append(cell, batch, sizeof(batch)); +} |