diff options
author | Niels Ole Salscheider <[email protected]> | 2014-03-17 18:48:06 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-03-20 17:21:16 +0100 |
commit | 71254732db12c8813c002425b5c1b7c31bf56f65 (patch) | |
tree | 2076bcc0e7d873f39094af0710dfafbd023208a0 /src/gallium/drivers/radeonsi/si_state.c | |
parent | acf55e73252e46fa51378ef4b23c94a89902ae1c (diff) |
radeonsi: Implement DMA blit
This code is a slightly modified version of evergreen_dma_blit (and
evergreen_dma_copy as well as evergreen_dma_copy_tile).
It would be nice to share some of the code in the long term.
I have reused some "cik"-prefixed functions that also return the right
value for SI. I am not sure if they should be renamed.
v2: Marek> removed gfx.flush in si_dma_copy_tile
Signed-off-by: Niels Ole Salscheider <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 384333093bd..6c345ff3a44 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -78,7 +78,7 @@ static uint32_t cik_num_banks(struct si_screen *sscreen, unsigned bpe, unsigned } } -static unsigned cik_tile_split(unsigned tile_split) +unsigned cik_tile_split(unsigned tile_split) { switch (tile_split) { case 64: @@ -107,7 +107,7 @@ static unsigned cik_tile_split(unsigned tile_split) return tile_split; } -static unsigned cik_macro_tile_aspect(unsigned macro_tile_aspect) +unsigned cik_macro_tile_aspect(unsigned macro_tile_aspect) { switch (macro_tile_aspect) { default: @@ -127,7 +127,7 @@ static unsigned cik_macro_tile_aspect(unsigned macro_tile_aspect) return macro_tile_aspect; } -static unsigned cik_bank_wh(unsigned bankwh) +unsigned cik_bank_wh(unsigned bankwh) { switch (bankwh) { default: @@ -147,7 +147,7 @@ static unsigned cik_bank_wh(unsigned bankwh) return bankwh; } -static unsigned cik_db_pipe_config(struct si_screen *sscreen, unsigned tile_mode) +unsigned cik_db_pipe_config(struct si_screen *sscreen, unsigned tile_mode) { if (sscreen->b.info.si_tile_mode_array_valid) { uint32_t gb_tile_mode = sscreen->b.info.si_tile_mode_array[tile_mode]; @@ -1514,7 +1514,7 @@ boolean si_is_format_supported(struct pipe_screen *screen, return retval == usage; } -static unsigned si_tile_mode_index(struct r600_texture *rtex, unsigned level, bool stencil) +unsigned si_tile_mode_index(struct r600_texture *rtex, unsigned level, bool stencil) { unsigned tile_mode_index = 0; @@ -2926,21 +2926,6 @@ static void *si_create_blend_custom(struct si_context *sctx, unsigned mode) return si_create_blend_state_mode(&sctx->b.b, &blend, mode); } -static void si_dma_copy(struct pipe_context *ctx, - struct pipe_resource *dst, - unsigned dst_level, - unsigned dst_x, unsigned dst_y, unsigned dst_z, - struct pipe_resource *src, - unsigned src_level, - const struct pipe_box *src_box) -{ - /* XXX implement this or share evergreen_dma_blit with r600g */ - - /* Fallback: */ - ctx->resource_copy_region(ctx, dst, dst_level, dst_x, dst_y, dst_z, - src, src_level, src_box); -} - static void si_set_occlusion_query_state(struct pipe_context *ctx, bool enable) { /* XXX Turn this into a proper state. Right now the queries are |